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,89 +155,28 @@ | ||
155 | # 二, 功能协议 | 155 | # 二, 功能协议 |
156 | 156 | ||
157 | ## 2.1 固件升级类协议 | 157 | ## 2.1 固件升级类协议 |
158 | + | ||
158 | ### 2.1.0 固件升级类的流程: | 159 | ### 2.1.0 固件升级类的流程: |
159 | -- step1: 上层软件发送固件升级指令信息: | 160 | +usbjson协议 固件升级类流程:完全沿用现有mqtt模式下的固件升级流程: |
161 | +- step1:上层软件发送固件升级指令 | ||
160 | - 升级对象(基站,键盘,字库...) | 162 | - 升级对象(基站,键盘,字库...) |
161 | - - 固件字节数 | 163 | + - 固件的url地址 |
162 | - 固件crc32 | 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,8 +185,8 @@ | ||
246 | |dataTag|string|-|否|数据包标识,可为空字符串| | 185 | |dataTag|string|-|否|数据包标识,可为空字符串| |
247 | |baseSn|string||是|基站的出厂编码| | 186 | |baseSn|string||是|基站的出厂编码| |
248 | |data|object|-|是|传送参数的对象| | 187 | |data|object|-|是|传送参数的对象| |
249 | -|+offset|uint||是|数据段的起始地址 | ||
250 | -|+len|uint||是|数据段长度 | 188 | +|+range_start|uint||是|数据段的起始 |
189 | +|+range_end|uint||是|数据段结束 | ||
251 | 190 | ||
252 | - **示例代码** | 191 | - **示例代码** |
253 | ```json | 192 | ```json |
@@ -256,15 +195,15 @@ | @@ -256,15 +195,15 @@ | ||
256 | "dataTag":"1", | 195 | "dataTag":"1", |
257 | "baseSn":"2024061101", | 196 | "baseSn":"2024061101", |
258 | "data":{ | 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,9 +212,10 @@ | ||
273 | |dataTag|string|-|否|数据包标识,可为空字符串| | 212 | |dataTag|string|-|否|数据包标识,可为空字符串| |
274 | |baseSn|string||是|基站的出厂编码| | 213 | |baseSn|string||是|基站的出厂编码| |
275 | |data|object|-|是|传送参数的对象| | 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 | ```json | 220 | ```json |
281 | { | 221 | { |
@@ -283,9 +223,10 @@ | @@ -283,9 +223,10 @@ | ||
283 | "dataTag":"1", | 223 | "dataTag":"1", |
284 | "baseSn":"2024061101", | 224 | "baseSn":"2024061101", |
285 | "data":{ | 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,6 +2694,14 @@ ACK格式: | ||
2694 | | 1 | CMD | 类型<br> 46:键盘授权 踢出授权| | 2694 | | 1 | CMD | 类型<br> 46:键盘授权 踢出授权| |
2695 | | 1 | LEN | 长度 1 | | 2695 | | 1 | LEN | 长度 1 | |
2696 | | 1 | | | 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 | #### 5.5.2.13 指定答题 | 2705 | #### 5.5.2.13 指定答题 |
2698 | 2706 | ||
2699 | 正常单体的指定答题 | 2707 | 正常单体的指定答题 |