Commit 78ac8727e2a5bd7a59459effa29f570bb1dc6bb1
Merge branch 'master' of http://120.78.57.84/lee/Protocol
Showing
2 changed files
with
36 additions
and
87 deletions
通讯协议-教育新版-基站部分usb json.md
| ... | ... | @@ -155,89 +155,28 @@ |
| 155 | 155 | # 二, 功能协议 |
| 156 | 156 | |
| 157 | 157 | ## 2.1 固件升级类协议 |
| 158 | + | |
| 158 | 159 | ### 2.1.0 固件升级类的流程: |
| 159 | -- step1: 上层软件发送固件升级指令信息: | |
| 160 | +usbjson协议 固件升级类流程:完全沿用现有mqtt模式下的固件升级流程: | |
| 161 | +- step1:上层软件发送固件升级指令 | |
| 160 | 162 | - 升级对象(基站,键盘,字库...) |
| 161 | - - 固件字节数 | |
| 163 | + - 固件的url地址 | |
| 162 | 164 | - 固件crc32 |
| 163 | - - 其他 | |
| 164 | -- step2: 基站回复表示收到命令,开始为固件升级做准备 | |
| 165 | -- step3: 基站发送数据申请信息: | |
| 166 | - - 固件起始位置 | |
| 167 | - - 固件数据长度 | |
| 168 | -- step4: 上层软件根据基站申请读取对应数据发送给基站; | |
| 169 | - - 固件起始地址 | |
| 170 | - - 固件数据长度 | |
| 171 | - - 数据数据 | |
| 172 | -- 重复step3,step4直到基站获取到全部固件数据 | |
| 173 | -- step5: 基站发送固件升级完成信息,通知上层可以退出固件升级模式 | |
| 174 | - - 升级对象 | |
| 175 | - | |
| 176 | - | |
| 177 | -### 2.1.1 固件升级协议 | |
| 178 | -#### 2.1.1.1 setFwUpdateState | |
| 179 | - | |
| 180 | -- **功能描述**:固件升级 | |
| 181 | -- **参数说明** | |
| 165 | +usbjson模式下,此处的url 无任何用处; | |
| 166 | +- step2: 基站获取文件长度 | |
| 167 | + - usbjson 模式下需要补充协议 | |
| 168 | +- 基站按需获取固件数据段 | |
| 169 | + - usbjson模式下需要补充协议 | |
| 170 | +- 基站报告升级完成 | |
| 182 | 171 | |
| 183 | -|参数名|类型|限制|是否必填|说明| | |
| 184 | -|---|---|---|---|---| | |
| 185 | -|fun|string|-|是|指令名称| | |
| 186 | -|dataTag|string|-|否|数据包标识,可为空字符串| | |
| 187 | -|baseSn|string||是|基站的出厂编码| | |
| 188 | -|data|object|-|是|传送参数的对象| | |
| 189 | -|+state|string||是|状态<br>"start"-开始升级<br>"stop"-停止升级 | |
| 190 | -|+partition|string||是|"base_fw" 基站固件 <br> "base_fw_bk" 基站备份固件 <br> "keypad_fw" 键盘固件<br> "front" 字库文件| | |
| 191 | -|+file len|uint||是|升级固件文件的大小(字节数),10进制数字| | |
| 192 | -|+version|string||是|待升级的基站固件版本| | |
| 193 | -|+crc|uint||是|固件CRC校验码,10进制数字| | |
| 194 | -<!-- |+time|string||是|时间,yyyyMMddHHmmss| | |
| 195 | -|+verCode|string||是|内部主题校验码,时间+固定key加密| --> | |
| 196 | 172 | |
| 197 | -- **示例代码** | |
| 198 | -```json | |
| 199 | -{ | |
| 200 | - "fun":"setFwUpdateState", | |
| 201 | - "dataTag":"1", | |
| 202 | - "baseSn":"2024061101", | |
| 203 | - "data":{ | |
| 204 | - "state":"start", | |
| 205 | - "partition":"base_fw", | |
| 206 | - "file_len":12000, | |
| 207 | - "version":"1.0.3", | |
| 208 | - "crc":1429319861 | |
| 209 | - } | |
| 210 | -} | |
| 211 | -``` | |
| 212 | - | |
| 213 | -#### 2.1.1.2 fEvtFwUpateState | |
| 214 | -- **功能描述**:返回升级状态 | |
| 215 | -- **参数说明** | |
| 173 | + | |
| 216 | 174 | |
| 217 | -|参数名|类型|限制|非空|说明| | |
| 218 | -|---|---|---|---|---| | |
| 219 | -|fun|string|-|是|指令名称| | |
| 220 | -|dataTag|string|-|否|数据包标识,可为空字符串| | |
| 221 | -|baseSn|string||是|基站的出厂编码| | |
| 222 | -|data|object|-|是|传送参数的对象| | |
| 223 | -|+state|string||是|状态<br>"start"-开始升级<br>"stop"-停止升级 <br>"complete"-完成升级 | |
| 224 | -|+msg|string||否|返回的失败原因 | |
| 175 | +### 2.1.1 usbjson固件升级补充协议 | |
| 225 | 176 | |
| 226 | -- **示例代码** | |
| 227 | -```json | |
| 228 | -{ | |
| 229 | - "fun":"fEvtFwUpateState", | |
| 230 | - "dataTag":"1", | |
| 231 | - "baseSn":"2024061101", | |
| 232 | - "data":{ | |
| 233 | - "state":"start", | |
| 234 | - "msg":"error msg" | |
| 235 | - } | |
| 236 | -} | |
| 237 | -``` | |
| 238 | 177 | |
| 239 | -#### 2.1.1.3 sEvtReqeustFwData | |
| 240 | -- **功能描述**:返回升级状态 | |
| 178 | +#### 2.1.1.1 sEvtReqeustFwData | |
| 179 | +- **功能描述**:申请固件文件数据段信息 | |
| 241 | 180 | - **参数说明** |
| 242 | 181 | |
| 243 | 182 | |参数名|类型|限制|非空|说明| |
| ... | ... | @@ -246,8 +185,8 @@ |
| 246 | 185 | |dataTag|string|-|否|数据包标识,可为空字符串| |
| 247 | 186 | |baseSn|string||是|基站的出厂编码| |
| 248 | 187 | |data|object|-|是|传送参数的对象| |
| 249 | -|+offset|uint||是|数据段的起始地址 | |
| 250 | -|+len|uint||是|数据段长度 | |
| 188 | +|+range_start|uint||是|数据段的起始 | |
| 189 | +|+range_end|uint||是|数据段结束 | |
| 251 | 190 | |
| 252 | 191 | - **示例代码** |
| 253 | 192 | ```json |
| ... | ... | @@ -256,15 +195,15 @@ |
| 256 | 195 | "dataTag":"1", |
| 257 | 196 | "baseSn":"2024061101", |
| 258 | 197 | "data":{ |
| 259 | - "offset":0, | |
| 260 | - "len":5 | |
| 198 | + "range_start":0, | |
| 199 | + "range_end":5 | |
| 261 | 200 | } |
| 262 | 201 | } |
| 263 | 202 | ``` |
| 264 | 203 | |
| 265 | 204 | |
| 266 | -#### 2.1.1.4 fwDataInfo | |
| 267 | -- **功能描述**:返回升级状态 | |
| 205 | +#### 2.1.1.2 fwDataInfo | |
| 206 | +- **功能描述**:发送指定数据段信息 | |
| 268 | 207 | - **参数说明** |
| 269 | 208 | |
| 270 | 209 | |参数名|类型|限制|非空|说明| |
| ... | ... | @@ -273,9 +212,10 @@ |
| 273 | 212 | |dataTag|string|-|否|数据包标识,可为空字符串| |
| 274 | 213 | |baseSn|string||是|基站的出厂编码| |
| 275 | 214 | |data|object|-|是|传送参数的对象| |
| 276 | -|+offset|uint||是|数据段的起始地址 | |
| 277 | -|+len|uint||是|数据段长度,指十六进制字节个数 | |
| 278 | -|+data|string||是|数据段,十六进制字符串 | |
| 215 | +|+file_len|uint||是|固件文件总长度,指十进制字节个数 | |
| 216 | +|+range_start|uint||是|数据段的起始 | |
| 217 | +|+range_end|uint||是|数据段结束 | |
| 218 | +|+fw_data|string||是|数据段,base64编码,减少数据长度 | |
| 279 | 219 | - **示例代码** |
| 280 | 220 | ```json |
| 281 | 221 | { |
| ... | ... | @@ -283,9 +223,10 @@ |
| 283 | 223 | "dataTag":"1", |
| 284 | 224 | "baseSn":"2024061101", |
| 285 | 225 | "data":{ |
| 286 | - "offset":0, | |
| 287 | - "len":5, | |
| 288 | - "data": "bc1234ffff" | |
| 226 | + "file_len":15647, | |
| 227 | + "range_start":0, | |
| 228 | + "range_end":5, | |
| 229 | + "fw_data": "bc1234ffff" | |
| 289 | 230 | } |
| 290 | 231 | } |
| 291 | 232 | ``` | ... | ... |
通讯协议-教育新版-表决器部分.md
| ... | ... | @@ -2694,6 +2694,14 @@ ACK格式: |
| 2694 | 2694 | | 1 | CMD | 类型<br> 46:键盘授权 踢出授权| |
| 2695 | 2695 | | 1 | LEN | 长度 1 | |
| 2696 | 2696 | | 1 | | |
| 2697 | +#### 5.5.2.12 设置键盘离线关机时间 | |
| 2698 | + | |
| 2699 | +| **字节** | **标识符** | **描述** | | |
| 2700 | +| --- | --- | --- | | |
| 2701 | +| 1 | CMD | 类型<br> 47:离线关机时间| | |
| 2702 | +| 1 | LEN | 长度 2 | | |
| 2703 | +| 2 | TIME | 关机时间单位 1S <br>键盘内置最小10S 防止设错| | |
| 2704 | + | |
| 2697 | 2705 | #### 5.5.2.13 指定答题 |
| 2698 | 2706 | |
| 2699 | 2707 | 正常单体的指定答题 | ... | ... |