Commit 78ac8727e2a5bd7a59459effa29f570bb1dc6bb1

Authored by 刘琴
2 parents 56c9c89e 86ac6b45

Merge branch 'master' of http://120.78.57.84/lee/Protocol

通讯协议-教育新版-基站部分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 正常单体的指定答题
... ...