wu_xinjun
2022-05-13 33224139e89b8c971b8b2442a2aae9dbd92063f5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
syntax = "proto3";
 
enum SysCommand {
  UNKOWN_COMMAND     = 0;   // 未知命令
  SYS_COMMAND        = 1;   // 系统命令
  SENSOR_COMMAND     = 2;   // 传感器命令
  FIVE_G_COMMAND     = 3;   // 通讯5G模块命令
  CAMERA_COMMAND     = 4;   // 摄像头参数命令
  IO_COMMAND         = 5;   // 外设IO口操作命令
  SYS_PARAMS_COMMAND = 6;   // 系统参数获取
  WIFI_COMMAND       = 7;   // 设备WIFI参数设置
  KERNEL_COMMAND     = 8;   // 核心计算参数设
  DEVICE_COMMAND     = 9;   // 工作设备参数设置
  MICRO_WAVE_COMMAND = 10;  // 毫米波
}
 
enum SubCommand {
  option allow_alias = true;
   
  UNKOWN_SUB_COMMAND   = 0;                   // 未知子命令
 
  // 系统命令
  POWER_ON_SUB_COMMAND = 1;                   // 开机
  POWER_OFF_SUB_COMMAND = 2;                  // 关机
 
  // 传感器命令
  SENSOR_INIT_SUB_COMMAND = 1;                // 传感器初始化
  SENSOR_REQURE_SUB_COMMAND = 2;              // 传感器参数获取
  RTK_SETTING_SUB_COMMAND = 3;                // RTK外设参数设置
  RTK_REQURE_SUB_COMMAND = 4;                 // RTK外设数据获取
 
  // 通讯5G模块命令
  FIVE_G_INIT_SUB_COMMAND = 1;                // 5G模块参数初始化
  FIVE_G_SEND_IMAGE_SUB_COMMAND = 2;          // 5G通讯图像数据发送
  FIVE_G_REQURE_SUB_COMMAND = 3;              // 5G通讯接收
 
  // 摄像头参数命令
  CAMERA_NUMBER_SUB_COMMAND = 1;              // 设备摄像头个数  
  CAMERA_RESOLUTION_SUB_COMMAND = 2;          // 设备摄像头工作分辨率
  CAMERA_FRAME_RATE_SUB_COMMAND = 3;          // 摄像头工作帧率
  CAMERA_OTHER_PARAMS_SUB_COMMAND = 4;        // 摄像头工作其他参数
 
  // 外设IO口操作命令
  CAMERA_DUST_REMOVAL_START_SUB_COMMAND = 1;  // 摄像头除尘启动
  CAMERA_CONTROL_START_SUB_COMMAND = 2;       // 外设控制数据启动(18路控制)
 
  // 系统参数获取
  CPU_FREQUENCY_SUB_COMMAND = 1;              // CPU主频工作数据
  CPU_KERNAL_TEMP_SUB_COMMAND = 2;            // CPU核心温度数据
  CPU_BETTERY_DATA_SUB_COMMAND = 3;           // 电池供电电量数据
 
  // 设备WIFI参数设置
  WIFI_HOTSPOT_SETTING_SUB_COMMAND = 1;       // WIFI热点设置
  WIFI_HOTSPOT_START_STOP_SUB_COMMAND = 2;    // WIFI热点开启和关闭
 
  // 核心计算参数设置
  POINT_CLOUD_ACCURACY_SUB_COMMAND = 1;       // 点云计算精度
  SPLICING_PARAMS_SUB_COMMAND = 2;            // 拼接参数
  MAP_INTERFACE_PLATFORM_SUB_COMMAND = 3;     // 地图接口平台
  DATA_STORE_BACKUP_SUB_COMMAND = 4;          // 数据存储备份
 
  // 工作设备参数设置
  SYSTEM_TIMER_SUB_COMMAND = 1;               // 系统工作定时
  SYSTEM_COORD_HEIGHT_SUB_COMMAND = 2;        // 工作区域坐标与高度
  TRIGGER_CONDITION_SUB_COMMAND = 3;          // 工作触发条件
  GRAVITY_FAILURE_SUB_COMMAND = 4;            // 重力加速度失效参数
  NINE_AXIS_FAILURE_SUB_COMMAND = 5;          // 九轴加速度失效参数
 
  // 毫米波
  MICRO_WAVE_SUB_COMMAND = 1;                 // 毫米波
}
 
message DataField {
  int32 length = 1;                           // 数据长度
  bytes data = 2;                            // 数据内容
  int32 checksum = 3;                        // 校验码
}
 
message ImagesMessage
{
  bytes image1  = 1;
  bytes image2  = 2;
  bytes image3  = 3;
  bytes image4  = 4;
  bytes image5  = 5;
}
 
message MicroWaveMessage
{
  int32 length = 1;                           // 数据长度
  bytes data = 2;                            // 数据内容
}
 
message RequestCommand {
  int32 sync_word = 1;              // 同步字
  string device_id = 2;             // 设备ID
  SysCommand sys_command = 3;       // 命令1
  SubCommand sub_command = 4;       // 命令2
  DataField data1 = 5;              // 数据1
  DataField data2 = 6;              // 数据2
  int32 checksum = 7;               // 校验码
}
 
enum ResponseState
{
  SUCCESS = 0;                  // 成功
  FAILURE = 1;                  // 失败
  ABNORMAL = 2;                 // 异常
  INFICIENT_POWER = 3;          // 电量不足
  OTHER = 4;                    // 其他
}
 
message ResponseCommand
{
    string device_id = 1;        // 设备ID
    SysCommand sys_command = 2;  // 命令1
    SubCommand sub_command = 3;  // 命令2
    ResponseState state = 4;     // 响应状态
    int32 data_length = 5;       // 数据长度
    bytes data = 6;              // 数据
    int32 checksum = 7;          // 校验码
}
 
 
// 服务端向采集端发送的主指令
enum ControlSysCommand {
  DUST_CLEANER_COMMAND = 0;
}
 
// 服务端向采集端发送的子命令
enum ControlSubCommand {
  // dust cleaner sub commands
  DUST_CLEANER_ONETIME_CLEAN_SELF         = 0;
  DUST_CLEANER_ONETIME_CLEAN_CAMERA       = 1;
  DUST_CLEANER_CLOSE_PERIOD_CLEAN_SELF    = 2;
  DUST_CLEANER_CLOSE_PERIOD_CLEAN_CAMERA  = 3;
  DUST_CLEANER_PERIOD_CLEAN_SELF          = 4;
  DUST_CLEANER_PERIOD_CLEAN_CAMERA        = 5;
}
 
// dust cleaner command message
message DustCleanerMessage  {
  uint32 period = 1;
}
 
// 控制上位机消息
message ControllMessage {
  int32 sync_word = 1;                // 同步字
  ControlSysCommand sys_command = 3;  // 主命令
  ControlSubCommand sub_command = 4;  // 子命令
  DataField data = 5;                 // 数据
  int32 checksum = 7;                 // 校验码
}