Commit 095603e548f16c711489e0407ddf01951dd8c2bd
Merge branch 'master' of http://120.78.57.84/lee/Protocol
Showing
5 changed files
with
1097 additions
and
169 deletions
通讯协议-B200W-MQTT协议[内部].md
| @@ -13,9 +13,61 @@ | @@ -13,9 +13,61 @@ | ||
| 13 | background-color: yellow; | 13 | background-color: yellow; |
| 14 | } | 14 | } |
| 15 | </style> | 15 | </style> |
| 16 | + | ||
| 17 | +<br> | ||
| 18 | +<br> | ||
| 19 | +<br> | ||
| 20 | + | ||
| 21 | +<div style="text-align: center;font-size: 70px;"> | ||
| 22 | +SunVote B200W <br>MQTT通讯协议 | ||
| 23 | +</div> | ||
| 24 | +<br> | ||
| 25 | +<br> | ||
| 26 | +<br> | ||
| 27 | +<br> | ||
| 28 | +<div style="text-align: center;font-size: 30px;"> | ||
| 29 | +Ver 1.0.1 | ||
| 30 | +</div> | ||
| 31 | +<br> | ||
| 32 | +<br> | ||
| 33 | +<br> | ||
| 34 | +<br> | ||
| 35 | +<br> | ||
| 36 | +<br> | ||
| 37 | + | ||
| 38 | +<div style="text-align: center;font-size: 30px;"> | ||
| 39 | +长沙中天电子设计开发有限公司 | ||
| 40 | +</div> | ||
| 41 | + | ||
| 42 | +<br> | ||
| 43 | + | ||
| 44 | +<div style="text-align: center;font-size: 30px;"> | ||
| 45 | +二〇二四年十月 | ||
| 46 | +</div> | ||
| 47 | + | ||
| 48 | +<br> | ||
| 49 | +<br> | ||
| 50 | +<br> | ||
| 51 | +<br> | ||
| 52 | + | ||
| 53 | +文件控制: | ||
| 54 | + | ||
| 55 | +文件名:SunVote B200W MQTT通讯协议 | ||
| 56 | + | ||
| 57 | +起草人:刘琴 | ||
| 58 | + | ||
| 59 | +最新版本作者: 刘琴 | ||
| 60 | +<br> | ||
| 61 | +| 文档版本 | 日期 | 作者 | 版本说明 | | ||
| 62 | +|---|---|---|---| | ||
| 63 | +|1.0.1| 2024年10月22日|刘琴|1. 初始版| | ||
| 64 | + | ||
| 65 | +<br> | ||
| 66 | +<br> | ||
| 67 | + | ||
| 16 | [TOC] | 68 | [TOC] |
| 17 | 69 | ||
| 18 | -# SunVote B200W_MQTT 接口协议 | 70 | +# SunVote B200W MQTT通讯协议 |
| 19 | 71 | ||
| 20 | # 功能说明 | 72 | # 功能说明 |
| 21 | 73 | ||
| @@ -53,7 +105,7 @@ | @@ -53,7 +105,7 @@ | ||
| 53 | |fEvtXXX|指令事件 |调用对应指令后返回| | 105 | |fEvtXXX|指令事件 |调用对应指令后返回| |
| 54 | 106 | ||
| 55 | ## 数据格式约定 | 107 | ## 数据格式约定 |
| 56 | -- 数据格式统一为**Json**格式,MQTT发送接收消息编码统一为**UTF-8** | 108 | +- 数据格式统一为**Json**格式,发送接收消息编码统一为**UTF-8** |
| 57 | - Json通用格式如下: | 109 | - Json通用格式如下: |
| 58 | 110 | ||
| 59 | ```json | 111 | ```json |
| @@ -115,6 +167,7 @@ | @@ -115,6 +167,7 @@ | ||
| 115 | ||设置刷卡配对状态|[setBsNfcLogin](#setbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)|| | 167 | ||设置刷卡配对状态|[setBsNfcLogin](#setbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)|| |
| 116 | |组网设置 - 工作信道|获取基站工作信道|[getBsChannel](#getbschannel)|[fEvtBsChannel](#fevtbschannel)| | 168 | |组网设置 - 工作信道|获取基站工作信道|[getBsChannel](#getbschannel)|[fEvtBsChannel](#fevtbschannel)| |
| 117 | ||设置基站工作信道|[setBsChannel](#setbschannel)|[fEvtBsChannel](#fevtbschannel)|| | 169 | ||设置基站工作信道|[setBsChannel](#setbschannel)|[fEvtBsChannel](#fevtbschannel)|| |
| 170 | +||读取已被占用信道|[getBsRFIChannel](#getbsrfichannel)|[fEvtBsRFIChannel](#fevtbsrfichannel)|| | ||
| 118 | |登录设置 - 登录名称|获取基站登录名称|[getBsSSID](#getbsssid)|[fEvtBsSSID](#fevtbsssid)| | 171 | |登录设置 - 登录名称|获取基站登录名称|[getBsSSID](#getbsssid)|[fEvtBsSSID](#fevtbsssid)| |
| 119 | ||设置基站登录名称|[setBsSSID](#setbsssid)|[fEvtBsSSID](#fevtbsssid)|| | 172 | ||设置基站登录名称|[setBsSSID](#setbsssid)|[fEvtBsSSID](#fevtbsssid)|| |
| 120 | |登录设置 - 登录密码|获取基站登录密码|[getBsLoginPwd](#getbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)| | 173 | |登录设置 - 登录密码|获取基站登录密码|[getBsLoginPwd](#getbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)| |
| @@ -190,7 +243,7 @@ | @@ -190,7 +243,7 @@ | ||
| 190 | |抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAQuicker](#fevtqaquicker)| | 243 | |抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAQuicker](#fevtqaquicker)| |
| 191 | ||停止抢答题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | 244 | ||停止抢答题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |
| 192 | |待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)<br>[sEvtKpRtFeedback](#sevtkprtfeedback)<br>[sEvtKpHandUp](#sevtkphandup)| | 245 | |待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)<br>[sEvtKpRtFeedback](#sevtkprtfeedback)<br>[sEvtKpHandUp](#sevtkphandup)| |
| 193 | -||设置待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)| | 246 | +||获取待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)| |
| 194 | ### 在线测验 | 247 | ### 在线测验 |
| 195 | |功能归类|功能|API指令|指令事件| | 248 | |功能归类|功能|API指令|指令事件| |
| 196 | |---|---|---|---| | 249 | |---|---|---|---| |
| @@ -472,7 +525,7 @@ | @@ -472,7 +525,7 @@ | ||
| 472 | 参见基站连接变化系统通知 | 525 | 参见基站连接变化系统通知 |
| 473 | 526 | ||
| 474 | ##### fEvtBsOnlineState | 527 | ##### fEvtBsOnlineState |
| 475 | -- **主题**: <span class="yellowFill">/basestation/mutilBase/receive</span> | 528 | +- **主题**: <span class="yellowFill">/basestation/multiBase/receive</span> |
| 476 | - **功能描述**:基站在线返回基站型号和基站SN | 529 | - **功能描述**:基站在线返回基站型号和基站SN |
| 477 | - **参数说明** | 530 | - **参数说明** |
| 478 | 531 | ||
| @@ -878,6 +931,25 @@ | @@ -878,6 +931,25 @@ | ||
| 878 | } | 931 | } |
| 879 | } | 932 | } |
| 880 | ``` | 933 | ``` |
| 934 | + | ||
| 935 | +##### getBsRFIChannel | ||
| 936 | +- **主题**:/client/\${baseSN}/send | ||
| 937 | +- **功能描述**:获取已被其他基站占用的信道 | ||
| 938 | +- **参数说明** | ||
| 939 | + | ||
| 940 | +|参数名|类型|限制|是否必填|说明| | ||
| 941 | +|---|---|---|---|---| | ||
| 942 | +|fun|string|-|是|指令名称| | ||
| 943 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 944 | + | ||
| 945 | +- **示例代码** | ||
| 946 | +```json | ||
| 947 | +{ | ||
| 948 | + "fun":"getBsRFIChannel", | ||
| 949 | + "dataTag":"1" | ||
| 950 | +} | ||
| 951 | +``` | ||
| 952 | + | ||
| 881 | #### 事件 | 953 | #### 事件 |
| 882 | ##### fEvtBsNetworkMode | 954 | ##### fEvtBsNetworkMode |
| 883 | - **主题**: /basestation/\${baseSN}/receive | 955 | - **主题**: /basestation/\${baseSN}/receive |
| @@ -946,6 +1018,39 @@ | @@ -946,6 +1018,39 @@ | ||
| 946 | } | 1018 | } |
| 947 | } | 1019 | } |
| 948 | ``` | 1020 | ``` |
| 1021 | + | ||
| 1022 | +##### fEvtBsRFIChannel | ||
| 1023 | +- **主题**: /basestation/\${baseSN}/receive | ||
| 1024 | +- **功能描述**:返回其他基站已占用的信道,频点冲突时,可以根据返回结果修改基站信道避开干扰 | ||
| 1025 | +- **参数说明** | ||
| 1026 | + | ||
| 1027 | +|参数名|类型|限制|非空|说明| | ||
| 1028 | +|---|---|---|---|---| | ||
| 1029 | +|fun|string|-|是|事件名称| | ||
| 1030 | +|dataTag|string|-|否|数据包标识,可传空字符串| | ||
| 1031 | +|data|object|-|是|传送参数的对象| | ||
| 1032 | +|+value|string||是|其他基站已占用的信道,多个信道用英文","分隔,无占用信道返回0| | ||
| 1033 | + | ||
| 1034 | +- **示例代码** | ||
| 1035 | +```json | ||
| 1036 | +//信道1、2、14已被占用 | ||
| 1037 | +{ | ||
| 1038 | + "fun":"fEvtBsRFIChannel", | ||
| 1039 | + "dataTag":"1", | ||
| 1040 | + "data":{ | ||
| 1041 | + "value":"1,2,14" | ||
| 1042 | + } | ||
| 1043 | +} | ||
| 1044 | +//无占用信道 | ||
| 1045 | +{ | ||
| 1046 | + "fun":"fEvtBsRFIChannel", | ||
| 1047 | + "dataTag":"1", | ||
| 1048 | + "data":{ | ||
| 1049 | + "value":"0" | ||
| 1050 | + } | ||
| 1051 | +} | ||
| 1052 | +``` | ||
| 1053 | + | ||
| 949 | ##### fEvtBsNfcLogin | 1054 | ##### fEvtBsNfcLogin |
| 950 | - **主题**: /basestation/\${baseSN}/receive | 1055 | - **主题**: /basestation/\${baseSN}/receive |
| 951 | - **功能描述**:返回基站是否允许NFC刷卡 | 1056 | - **功能描述**:返回基站是否允许NFC刷卡 |
| @@ -1037,7 +1142,7 @@ | @@ -1037,7 +1142,7 @@ | ||
| 1037 | |fun|string|-|是|指令名称| | 1142 | |fun|string|-|是|指令名称| |
| 1038 | |dataTag|string|-|否|数据包标识,可为空字符串| | 1143 | |dataTag|string|-|否|数据包标识,可为空字符串| |
| 1039 | |data|object|-|是|传送参数的对象| | 1144 | |data|object|-|是|传送参数的对象| |
| 1040 | -|+value|string||是|设置的基站登录密码,数字类型,为空代表无需密码登录,最长4位| | 1145 | +|+value|string||是|设置的基站登录密码,数字类型,最长4位,为空或设为0代表无需密码登录| |
| 1041 | 1146 | ||
| 1042 | - **示例代码** | 1147 | - **示例代码** |
| 1043 | ```json | 1148 | ```json |
| @@ -1123,7 +1228,7 @@ | @@ -1123,7 +1228,7 @@ | ||
| 1123 | |fun|string|-|是|事件名称| | 1228 | |fun|string|-|是|事件名称| |
| 1124 | |dataTag|string|-|否|数据包标识,可传空字符串| | 1229 | |dataTag|string|-|否|数据包标识,可传空字符串| |
| 1125 | |data|object|-|是|传送参数的对象| | 1230 | |data|object|-|是|传送参数的对象| |
| 1126 | -|+value|string||是|基站登录密码| | 1231 | +|+value|string||是|基站登录密码,返回值为0代表无需密码登录| |
| 1127 | 1232 | ||
| 1128 | - **示例代码** | 1233 | - **示例代码** |
| 1129 | ```json | 1234 | ```json |
| @@ -1134,6 +1239,15 @@ | @@ -1134,6 +1239,15 @@ | ||
| 1134 | "value":"1234" | 1239 | "value":"1234" |
| 1135 | } | 1240 | } |
| 1136 | } | 1241 | } |
| 1242 | + | ||
| 1243 | +//无需密码登录 | ||
| 1244 | +{ | ||
| 1245 | + "fun":"fEvtBsLoginPwd", | ||
| 1246 | + "dataTag":"1", | ||
| 1247 | + "data":{ | ||
| 1248 | + "value":"0" | ||
| 1249 | + } | ||
| 1250 | +} | ||
| 1137 | ``` | 1251 | ``` |
| 1138 | ##### fEvtBsLoginState | 1252 | ##### fEvtBsLoginState |
| 1139 | - **主题**: /basestation/\${baseSN}/receive | 1253 | - **主题**: /basestation/\${baseSN}/receive |
| @@ -1806,7 +1920,7 @@ | @@ -1806,7 +1920,7 @@ | ||
| 1806 | |+port|int||是|端口,默认1883| | 1920 | |+port|int||是|端口,默认1883| |
| 1807 | |+userName|string||否|连接服务器的用户名,可不设置| | 1921 | |+userName|string||否|连接服务器的用户名,可不设置| |
| 1808 | |+password|string||否|连接服务器的密码,可不设置| | 1922 | |+password|string||否|连接服务器的密码,可不设置| |
| 1809 | -|+interval|int|>=60|否|基站连接服务器失败后重连的间隔时长,单位秒| | 1923 | +|+interval|int|>=30|否|基站连接服务器失败后重连的间隔时长,单位秒| |
| 1810 | 1924 | ||
| 1811 | - **示例代码** | 1925 | - **示例代码** |
| 1812 | ```json | 1926 | ```json |
| @@ -1818,7 +1932,7 @@ | @@ -1818,7 +1932,7 @@ | ||
| 1818 | "port":1883, | 1932 | "port":1883, |
| 1819 | "userName":"", | 1933 | "userName":"", |
| 1820 | "password":"", | 1934 | "password":"", |
| 1821 | - "interval":60 | 1935 | + "interval":30 |
| 1822 | } | 1936 | } |
| 1823 | } | 1937 | } |
| 1824 | ``` | 1938 | ``` |
| @@ -2083,7 +2197,7 @@ | @@ -2083,7 +2197,7 @@ | ||
| 2083 | |dataTag|string|-|否|数据包标识,可为空字符串| | 2197 | |dataTag|string|-|否|数据包标识,可为空字符串| |
| 2084 | |data|array|-|是|传送参数的对象数组| | 2198 | |data|array|-|是|传送参数的对象数组| |
| 2085 | |++name|string||是|检测项名称:MCU、RF、FLASH、EEPROM| | 2199 | |++name|string||是|检测项名称:MCU、RF、FLASH、EEPROM| |
| 2086 | -|++state|int||是|检测结果<br>0-功能异常<br>1-功能正常| | 2200 | +|++state|int||是|检测结果<br>0-功能正常<br>1-功能异常| |
| 2087 | 2201 | ||
| 2088 | - **示例代码** | 2202 | - **示例代码** |
| 2089 | ```json | 2203 | ```json |
| @@ -2093,19 +2207,19 @@ | @@ -2093,19 +2207,19 @@ | ||
| 2093 | "data":[ | 2207 | "data":[ |
| 2094 | { | 2208 | { |
| 2095 | "name":"MCU", | 2209 | "name":"MCU", |
| 2096 | - "state":1 | 2210 | + "state":0 |
| 2097 | }, | 2211 | }, |
| 2098 | { | 2212 | { |
| 2099 | "name":"RF", | 2213 | "name":"RF", |
| 2100 | - "state":1 | 2214 | + "state":0 |
| 2101 | }, | 2215 | }, |
| 2102 | { | 2216 | { |
| 2103 | "name":"FLASH", | 2217 | "name":"FLASH", |
| 2104 | - "state":1 | 2218 | + "state":0 |
| 2105 | }, | 2219 | }, |
| 2106 | { | 2220 | { |
| 2107 | "name":"EEPROM", | 2221 | "name":"EEPROM", |
| 2108 | - "state":1 | 2222 | + "state":0 |
| 2109 | } | 2223 | } |
| 2110 | ] | 2224 | ] |
| 2111 | } | 2225 | } |
| @@ -2406,7 +2520,7 @@ | @@ -2406,7 +2520,7 @@ | ||
| 2406 | |dataTag|string|-|否|数据包标识,可为空字符串| | 2520 | |dataTag|string|-|否|数据包标识,可为空字符串| |
| 2407 | |data|object|-|是|传送参数的对象| | 2521 | |data|object|-|是|传送参数的对象| |
| 2408 | |+keySn|string||是|设置键盘id的键盘SN| | 2522 | |+keySn|string||是|设置键盘id的键盘SN| |
| 2409 | -|+keyId|int||是|键盘编号| | 2523 | +|+state|string||是|设置是否成功<br>0-设置成功<br>1-设置失败| |
| 2410 | 2524 | ||
| 2411 | - **示例代码** | 2525 | - **示例代码** |
| 2412 | ```json | 2526 | ```json |
| @@ -2415,7 +2529,7 @@ | @@ -2415,7 +2529,7 @@ | ||
| 2415 | "dataTag":"1", | 2529 | "dataTag":"1", |
| 2416 | "data":{ | 2530 | "data":{ |
| 2417 | "keySn":"2024021011", | 2531 | "keySn":"2024021011", |
| 2418 | - "keyId":11 | 2532 | + "state":"0" |
| 2419 | } | 2533 | } |
| 2420 | } | 2534 | } |
| 2421 | ``` | 2535 | ``` |
| @@ -3084,7 +3198,7 @@ | @@ -3084,7 +3198,7 @@ | ||
| 3084 | "dataTag":"1", | 3198 | "dataTag":"1", |
| 3085 | "data": { | 3199 | "data": { |
| 3086 | "keySn":"1479824643", | 3200 | "keySn":"1479824643", |
| 3087 | - "state":"1" | 3201 | + "state":"0" |
| 3088 | } | 3202 | } |
| 3089 | } | 3203 | } |
| 3090 | ``` | 3204 | ``` |
| @@ -3515,7 +3629,7 @@ | @@ -3515,7 +3629,7 @@ | ||
| 3515 | 3629 | ||
| 3516 | - **示例代码** | 3630 | - **示例代码** |
| 3517 | ```json | 3631 | ```json |
| 3518 | -//启用举手反馈 | 3632 | +//获取实时反馈状态 |
| 3519 | { | 3633 | { |
| 3520 | "fun":"getKpStbResponse", | 3634 | "fun":"getKpStbResponse", |
| 3521 | "dataTag":"1" | 3635 | "dataTag":"1" |
| @@ -3580,11 +3694,10 @@ | @@ -3580,11 +3694,10 @@ | ||
| 3580 | |+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| | 3694 | |+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| |
| 3581 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| | 3695 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| |
| 3582 | |+questions|array||是|题目详情| | 3696 | |+questions|array||是|题目详情| |
| 3583 | -|++symbol | string||是 | 题号前缀,分级标识为-,可为空,为空表示1级大题<br><font color="red">最多为三级题号,即最多可以设为x-x-</font>| | ||
| 3584 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | | 3697 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
| 3585 | |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| | 3698 | |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
| 3586 | -|++startNo | int||是| 起始题号 | | ||
| 3587 | -|++count | int||是| 题目数量 | | 3699 | +|++startNo | string||是| 起始题号,可以为数字+“-”,单级的题号数字范围1-255,如“1”,“1-1”,“1-1-1”,最多只能输入三级<br>mode=0 时有效,mode=1或2时键盘按顺序显示题号| |
| 3700 | +|++count | int||是| 相同参数的连续题目数量, >0 <br>注意:总题数最多支持200题 | | ||
| 3588 | |+simParams|object||否|内部模拟测试参数设置对象| | 3701 | |+simParams|object||否|内部模拟测试参数设置对象| |
| 3589 | |++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]| | 3702 | |++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]| |
| 3590 | 3703 | ||
| @@ -3597,10 +3710,10 @@ | @@ -3597,10 +3710,10 @@ | ||
| 3597 | "dataTag":"1", | 3710 | "dataTag":"1", |
| 3598 | "data":{ | 3711 | "data":{ |
| 3599 | "mode": 1, | 3712 | "mode": 1, |
| 3600 | - "examNo": 1, | 3713 | + "examNo": 0, |
| 3601 | "questions": [{ | 3714 | "questions": [{ |
| 3602 | "quesType": 1, //单选题 | 3715 | "quesType": 1, //单选题 |
| 3603 | - "startNo": 1, //题号从1开始 | 3716 | + "startNo": "1", //题号从1开始 |
| 3604 | "count":10 //连续10题 | 3717 | "count":10 //连续10题 |
| 3605 | }], | 3718 | }], |
| 3606 | "simParams":{ | 3719 | "simParams":{ |
| @@ -3617,24 +3730,24 @@ | @@ -3617,24 +3730,24 @@ | ||
| 3617 | "dataTag":"1", | 3730 | "dataTag":"1", |
| 3618 | "data":{ | 3731 | "data":{ |
| 3619 | "mode": 0, | 3732 | "mode": 0, |
| 3620 | - "examNo": 1, | 3733 | + "examNo": 0, |
| 3621 | //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题 | 3734 | //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题 |
| 3622 | "questions": [{ | 3735 | "questions": [{ |
| 3623 | "quesType": 1, //单选题 | 3736 | "quesType": 1, //单选题 |
| 3624 | - "startNo": 1, //题号从1开始 | 3737 | + "startNo": "1", //题号从1开始 |
| 3625 | "count":2 //连续2题 | 3738 | "count":2 //连续2题 |
| 3626 | },{ | 3739 | },{ |
| 3627 | "quesType": 2, //多选题 | 3740 | "quesType": 2, //多选题 |
| 3628 | - "startNo": 3, //题号从3开始 | 3741 | + "startNo": "3", //题号从3开始 |
| 3629 | "count":2, //连续2题 | 3742 | "count":2, //连续2题 |
| 3630 | "option":5 | 3743 | "option":5 |
| 3631 | },{ | 3744 | },{ |
| 3632 | "quesType": 1, //数字题 | 3745 | "quesType": 1, //数字题 |
| 3633 | - "startNo": 5, //题号从5开始 | 3746 | + "startNo": "5", //题号从5开始 |
| 3634 | "count":1 //连续1题 | 3747 | "count":1 //连续1题 |
| 3635 | },{ | 3748 | },{ |
| 3636 | "quesType": 4, //判断题 | 3749 | "quesType": 4, //判断题 |
| 3637 | - "startNo": 6, //题号从6开始 | 3750 | + "startNo": "6", //题号从6开始 |
| 3638 | "count":1 //连续1题 | 3751 | "count":1 //连续1题 |
| 3639 | }], | 3752 | }], |
| 3640 | "simParams":{ | 3753 | "simParams":{ |
| @@ -3651,28 +3764,24 @@ | @@ -3651,28 +3764,24 @@ | ||
| 3651 | "dataTag":"1", | 3764 | "dataTag":"1", |
| 3652 | "data":{ | 3765 | "data":{ |
| 3653 | "mode": 0, | 3766 | "mode": 0, |
| 3654 | - "examNo": 1, | 3767 | + "examNo": 0, |
| 3655 | //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题 | 3768 | //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题 |
| 3656 | - "questions": [{ | ||
| 3657 | - "symbol": "1-", | 3769 | + "questions": [{ |
| 3658 | "quesType": 1, //单选题 | 3770 | "quesType": 1, //单选题 |
| 3659 | - "startNo": 1, //题号从1-1开始 | 3771 | + "startNo": "1-1", //题号从1-1开始 |
| 3660 | "count":2 //连续2题 | 3772 | "count":2 //连续2题 |
| 3661 | },{ | 3773 | },{ |
| 3662 | - "symbol": "2-", | ||
| 3663 | "quesType": 2, //多选题 | 3774 | "quesType": 2, //多选题 |
| 3664 | - "startNo": 1, //题号从2-1开始 | 3775 | + "startNo":"2-1", //题号从2-1开始 |
| 3665 | "count":2, //连续2题 | 3776 | "count":2, //连续2题 |
| 3666 | "option":5 | 3777 | "option":5 |
| 3667 | },{ | 3778 | },{ |
| 3668 | - "symbol": "3-", | ||
| 3669 | "quesType": 3, //数字题 | 3779 | "quesType": 3, //数字题 |
| 3670 | - "startNo": 1, //题号从3-1开始 | 3780 | + "startNo":"3-1", //题号从3-1开始 |
| 3671 | "count":1 //连续1题 | 3781 | "count":1 //连续1题 |
| 3672 | },{ | 3782 | },{ |
| 3673 | - "symbol": "4-", | ||
| 3674 | "quesType": 4, //判断题 | 3783 | "quesType": 4, //判断题 |
| 3675 | - "startNo": 1, //题号从4-1开始 | 3784 | + "startNo": "4-1", //题号从4-1开始 |
| 3676 | "count":1 //连续1题 | 3785 | "count":1 //连续1题 |
| 3677 | }], | 3786 | }], |
| 3678 | "simParams":{ | 3787 | "simParams":{ |
| @@ -3689,28 +3798,24 @@ | @@ -3689,28 +3798,24 @@ | ||
| 3689 | "dataTag":"1", | 3798 | "dataTag":"1", |
| 3690 | "data":{ | 3799 | "data":{ |
| 3691 | "mode": 0, | 3800 | "mode": 0, |
| 3692 | - "examNo": 1, | 3801 | + "examNo": 0, |
| 3693 | //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题 | 3802 | //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题 |
| 3694 | "questions": [{ | 3803 | "questions": [{ |
| 3695 | - "symbol": "1-1-", | ||
| 3696 | "quesType": 1, //单选题 | 3804 | "quesType": 1, //单选题 |
| 3697 | - "startNo": 1, //题号从1-1-1开始 | 3805 | + "startNo": "1-1-1", //题号从1-1-1开始 |
| 3698 | "count":2 //连续2题 | 3806 | "count":2 //连续2题 |
| 3699 | },{ | 3807 | },{ |
| 3700 | - "symbol": "1-2-", | ||
| 3701 | "quesType": 2, //多选题 | 3808 | "quesType": 2, //多选题 |
| 3702 | - "startNo": 1, //题号从1-2-1开始 | 3809 | + "startNo": "1-2-1", //题号从1-2-1开始 |
| 3703 | "count":2, //连续2题 | 3810 | "count":2, //连续2题 |
| 3704 | "option":5 | 3811 | "option":5 |
| 3705 | },{ | 3812 | },{ |
| 3706 | - "symbol": "2-1-", | ||
| 3707 | "quesType": 3, //数字题 | 3813 | "quesType": 3, //数字题 |
| 3708 | - "startNo": 1, //题号从2-1-1开始 | 3814 | + "startNo": "2-1-1", //题号从2-1-1开始 |
| 3709 | "count":1 //连续1题 | 3815 | "count":1 //连续1题 |
| 3710 | },{ | 3816 | },{ |
| 3711 | - "symbol": "3-1-", | ||
| 3712 | "quesType": 4, //判断题 | 3817 | "quesType": 4, //判断题 |
| 3713 | - "startNo": 1, //题号从3-1-1开始 | 3818 | + "startNo": "3-1-1", //题号从3-1-1开始 |
| 3714 | "count":1 //连续1题 | 3819 | "count":1 //连续1题 |
| 3715 | }], | 3820 | }], |
| 3716 | "simParams":{ | 3821 | "simParams":{ |
| @@ -3727,23 +3832,23 @@ | @@ -3727,23 +3832,23 @@ | ||
| 3727 | "dataTag":"1", | 3832 | "dataTag":"1", |
| 3728 | "data":{ | 3833 | "data":{ |
| 3729 | "mode": 1, | 3834 | "mode": 1, |
| 3730 | - "examNo": 1, | 3835 | + "examNo": 0, |
| 3731 | "questions": [{ | 3836 | "questions": [{ |
| 3732 | "quesType": 1, //单选题 | 3837 | "quesType": 1, //单选题 |
| 3733 | - "startNo": 1, //题号从1开始 | 3838 | + "startNo": "1", //题号从1开始 |
| 3734 | "count":2 //连续2题 | 3839 | "count":2 //连续2题 |
| 3735 | },{ | 3840 | },{ |
| 3736 | "quesType": 2, //多选题 | 3841 | "quesType": 2, //多选题 |
| 3737 | - "startNo": 3, //题号从3开始 | 3842 | + "startNo": "3", //题号从3开始 |
| 3738 | "count":2, //连续2题 | 3843 | "count":2, //连续2题 |
| 3739 | "option":5 | 3844 | "option":5 |
| 3740 | },{ | 3845 | },{ |
| 3741 | "quesType": 1, //数字题 | 3846 | "quesType": 1, //数字题 |
| 3742 | - "startNo": 5, //题号从5开始 | 3847 | + "startNo": "5", //题号从5开始 |
| 3743 | "count":1 //连续1题 | 3848 | "count":1 //连续1题 |
| 3744 | },{ | 3849 | },{ |
| 3745 | "quesType": 4, //判断题 | 3850 | "quesType": 4, //判断题 |
| 3746 | - "startNo": 6, //题号从6开始 | 3851 | + "startNo": "6", //题号从6开始 |
| 3747 | "count":1 //连续1题 | 3852 | "count":1 //连续1题 |
| 3748 | }], | 3853 | }], |
| 3749 | "simParams":{ | 3854 | "simParams":{ |
| @@ -3760,23 +3865,23 @@ | @@ -3760,23 +3865,23 @@ | ||
| 3760 | "dataTag":"1", | 3865 | "dataTag":"1", |
| 3761 | "data":{ | 3866 | "data":{ |
| 3762 | "mode": 2, | 3867 | "mode": 2, |
| 3763 | - "examNo": 1, | ||
| 3764 | - "questions": [{ | 3868 | + "examNo": 0, |
| 3869 | + "questions": [{ | ||
| 3765 | "quesType": 1, //单选题 | 3870 | "quesType": 1, //单选题 |
| 3766 | - "startNo": 1, //题号从1开始 | 3871 | + "startNo": "1", //题号从1开始 |
| 3767 | "count":2 //连续2题 | 3872 | "count":2 //连续2题 |
| 3768 | },{ | 3873 | },{ |
| 3769 | "quesType": 2, //多选题 | 3874 | "quesType": 2, //多选题 |
| 3770 | - "startNo": 3, //题号从3开始 | 3875 | + "startNo": "3", //题号从3开始 |
| 3771 | "count":2, //连续2题 | 3876 | "count":2, //连续2题 |
| 3772 | "option":5 | 3877 | "option":5 |
| 3773 | },{ | 3878 | },{ |
| 3774 | "quesType": 1, //数字题 | 3879 | "quesType": 1, //数字题 |
| 3775 | - "startNo": 5, //题号从5开始 | 3880 | + "startNo": "5", //题号从5开始 |
| 3776 | "count":1 //连续1题 | 3881 | "count":1 //连续1题 |
| 3777 | },{ | 3882 | },{ |
| 3778 | "quesType": 4, //判断题 | 3883 | "quesType": 4, //判断题 |
| 3779 | - "startNo": 6, //题号从6开始 | 3884 | + "startNo": "6", //题号从6开始 |
| 3780 | "count":1 //连续1题 | 3885 | "count":1 //连续1题 |
| 3781 | }], | 3886 | }], |
| 3782 | "simParams":{ | 3887 | "simParams":{ |
| @@ -3931,11 +4036,10 @@ | @@ -3931,11 +4036,10 @@ | ||
| 3931 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| | 4036 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| |
| 3932 | |+questions|array||是|题目详情| | 4037 | |+questions|array||是|题目详情| |
| 3933 | |++subject | int||是 | 科目序号,1-9,对应键盘中内置的科目1-9<br>键盘答题时可选择科目切换答题| | 4038 | |++subject | int||是 | 科目序号,1-9,对应键盘中内置的科目1-9<br>键盘答题时可选择科目切换答题| |
| 3934 | -|++symbol | string||是 | 题号前缀,分级标识为-,可为空,为空表示1级题目<br><font color="red">多科测验题目编号最多只能两级(即symbol可设置为空或x-),超出无效</font>| | ||
| 3935 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | | 4039 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
| 3936 | |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| | 4040 | |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
| 3937 | -|++startNo | int||是| 起始题号 | | ||
| 3938 | -|++count | int||是| 题目数量 | | 4041 | +|++startNo | string||是| 起始题号,可以为数字+“-”,单级的题号数字范围1-255,如“1”,“1-1”,最多支持两级题号<br>mode=0 时有效,mode=1或2时键盘按顺序显示题号| |
| 4042 | +|++count | int||是| 相同参数的连续题目数量, >0 <br>注意:所有科目的总题数最多支持200题| | ||
| 3939 | |+simParams|object||否|内部模拟测试参数设置对象| | 4043 | |+simParams|object||否|内部模拟测试参数设置对象| |
| 3940 | |++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]| | 4044 | |++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]| |
| 3941 | 4045 | ||
| @@ -3951,30 +4055,27 @@ | @@ -3951,30 +4055,27 @@ | ||
| 3951 | "questions": [{ | 4055 | "questions": [{ |
| 3952 | "subject":1, //科目1 | 4056 | "subject":1, //科目1 |
| 3953 | //题号1-1 到1-10 共10题单选 | 4057 | //题号1-1 到1-10 共10题单选 |
| 3954 | - "symbol": "1-", | ||
| 3955 | "quesType": 1, | 4058 | "quesType": 1, |
| 3956 | - "startNo": 1, | 4059 | + "startNo": "1-1", |
| 3957 | "count":10 | 4060 | "count":10 |
| 3958 | }, { | 4061 | }, { |
| 3959 | "subject":2, //科目2 | 4062 | "subject":2, //科目2 |
| 3960 | //题号2-2和2-3共两题 多选题,5个选项 | 4063 | //题号2-2和2-3共两题 多选题,5个选项 |
| 3961 | - "symbol": "2-", | ||
| 3962 | "quesType": 2, | 4064 | "quesType": 2, |
| 3963 | "option": 5, | 4065 | "option": 5, |
| 3964 | - "startNo": 2, | 4066 | + "startNo": "2-2", |
| 3965 | "count":2 | 4067 | "count":2 |
| 3966 | }, { | 4068 | }, { |
| 3967 | "subject":3, //科目3 | 4069 | "subject":3, //科目3 |
| 3968 | //题号3-1和3-2共两道数字题 | 4070 | //题号3-1和3-2共两道数字题 |
| 3969 | - "symbol": "3-", | ||
| 3970 | "quesType": 3, | 4071 | "quesType": 3, |
| 3971 | - "startNo": 1, | 4072 | + "startNo": "3-1", |
| 3972 | "count":2 | 4073 | "count":2 |
| 3973 | }, { | 4074 | }, { |
| 3974 | "subject":1, //科目1 | 4075 | "subject":1, //科目1 |
| 3975 | //题号4和5 ,判断题 | 4076 | //题号4和5 ,判断题 |
| 3976 | "quesType": 4, | 4077 | "quesType": 4, |
| 3977 | - "startNo": 4, | 4078 | + "startNo": "4", |
| 3978 | "count":2 | 4079 | "count":2 |
| 3979 | }], | 4080 | }], |
| 3980 | "simParams":{ | 4081 | "simParams":{ |
| @@ -3994,7 +4095,7 @@ | @@ -3994,7 +4095,7 @@ | ||
| 3994 | "subject":1, | 4095 | "subject":1, |
| 3995 | //Q1-Q20,单选题 | 4096 | //Q1-Q20,单选题 |
| 3996 | "quesType": 1, | 4097 | "quesType": 1, |
| 3997 | - "startNo": 1, | 4098 | + "startNo": "1", |
| 3998 | "count":20 | 4099 | "count":20 |
| 3999 | }], | 4100 | }], |
| 4000 | "simParams":{ | 4101 | "simParams":{ |
| @@ -4014,7 +4115,7 @@ | @@ -4014,7 +4115,7 @@ | ||
| 4014 | "subject":1, | 4115 | "subject":1, |
| 4015 | //题1-题20,单选题 | 4116 | //题1-题20,单选题 |
| 4016 | "quesType": 1, | 4117 | "quesType": 1, |
| 4017 | - "startNo": 1, | 4118 | + "startNo": "1", |
| 4018 | "count":20 | 4119 | "count":20 |
| 4019 | }], | 4120 | }], |
| 4020 | "simParams":{ | 4121 | "simParams":{ |
| @@ -4058,7 +4159,7 @@ | @@ -4058,7 +4159,7 @@ | ||
| 4058 | #### 方法 | 4159 | #### 方法 |
| 4059 | ##### startKpScoreInput | 4160 | ##### startKpScoreInput |
| 4060 | - **主题**:/client/\${baseSN}/send | 4161 | - **主题**:/client/\${baseSN}/send |
| 4061 | -- **功能描述**:启动标准测验 | 4162 | +- **功能描述**:启动自主录分 |
| 4062 | - **参数说明** | 4163 | - **参数说明** |
| 4063 | 4164 | ||
| 4064 | |参数名|类型|限制|是否必填|说明| | 4165 | |参数名|类型|限制|是否必填|说明| |
| @@ -4071,8 +4172,8 @@ | @@ -4071,8 +4172,8 @@ | ||
| 4071 | |+questions|array||是|题目详情| | 4172 | |+questions|array||是|题目详情| |
| 4072 | |++max |int||是|可输入的最大值,<=100| | 4173 | |++max |int||是|可输入的最大值,<=100| |
| 4073 | |++digits|int||是|可输入的小数位数,范围0-2| | 4174 | |++digits|int||是|可输入的小数位数,范围0-2| |
| 4074 | -|++startNo | int||是| 起始题号| | ||
| 4075 | -|++count | int||是| 题目数量| | 4175 | +|++startNo | string||是| 起始题号,暂只支持一级题号,范围1-255| |
| 4176 | +|++count | int||是| 相同参数的题目数量,>0<br>注意:总题数最多支持200题| | ||
| 4076 | 4177 | ||
| 4077 | - **示例代码** | 4178 | - **示例代码** |
| 4078 | ```json | 4179 | ```json |
| @@ -4086,13 +4187,13 @@ | @@ -4086,13 +4187,13 @@ | ||
| 4086 | //题号1 到 2 共2题,单题满分10分 | 4187 | //题号1 到 2 共2题,单题满分10分 |
| 4087 | "max":10, | 4188 | "max":10, |
| 4088 | "digits":1, | 4189 | "digits":1, |
| 4089 | - "startNo": 1, | 4190 | + "startNo": "1", |
| 4090 | "count":2 | 4191 | "count":2 |
| 4091 | }, { | 4192 | }, { |
| 4092 | //题号3到6 共4道题,单题满分5 | 4193 | //题号3到6 共4道题,单题满分5 |
| 4093 | "max":5, | 4194 | "max":5, |
| 4094 | "digits":0, | 4195 | "digits":0, |
| 4095 | - "startNo": 3, | 4196 | + "startNo": "3", |
| 4096 | "count":4 | 4197 | "count":4 |
| 4097 | }] | 4198 | }] |
| 4098 | } | 4199 | } |
通讯协议-B200W-MQTT协议[外].md
| @@ -13,10 +13,61 @@ | @@ -13,10 +13,61 @@ | ||
| 13 | background-color: yellow; | 13 | background-color: yellow; |
| 14 | } | 14 | } |
| 15 | </style> | 15 | </style> |
| 16 | -# SunVote B200W MQTT通讯协议 | 16 | + |
| 17 | +<br> | ||
| 18 | +<br> | ||
| 19 | +<br> | ||
| 20 | + | ||
| 21 | +<div style="text-align: center;font-size: 70px;"> | ||
| 22 | +SunVote B200W <br>MQTT通讯协议 | ||
| 23 | +</div> | ||
| 24 | +<br> | ||
| 25 | +<br> | ||
| 26 | +<br> | ||
| 27 | +<br> | ||
| 28 | +<div style="text-align: center;font-size: 30px;"> | ||
| 29 | +Ver 1.0.1 | ||
| 30 | +</div> | ||
| 31 | +<br> | ||
| 32 | +<br> | ||
| 33 | +<br> | ||
| 34 | +<br> | ||
| 35 | +<br> | ||
| 36 | +<br> | ||
| 37 | + | ||
| 38 | +<div style="text-align: center;font-size: 30px;"> | ||
| 39 | +长沙中天电子设计开发有限公司 | ||
| 40 | +</div> | ||
| 41 | + | ||
| 42 | +<br> | ||
| 43 | + | ||
| 44 | +<div style="text-align: center;font-size: 30px;"> | ||
| 45 | +二〇二四年十月 | ||
| 46 | +</div> | ||
| 47 | + | ||
| 48 | +<br> | ||
| 49 | +<br> | ||
| 50 | +<br> | ||
| 51 | +<br> | ||
| 52 | + | ||
| 53 | +文件控制: | ||
| 54 | + | ||
| 55 | +文件名:SunVote B200W MQTT通讯协议 | ||
| 56 | + | ||
| 57 | +起草人:刘琴 | ||
| 58 | + | ||
| 59 | +最新版本作者: 刘琴 | ||
| 60 | +<br> | ||
| 61 | +| 文档版本 | 日期 | 作者 | 版本说明 | | ||
| 62 | +|---|---|---|---| | ||
| 63 | +|1.0.1| 2024年10月22日|刘琴|1. 初始版| | ||
| 64 | + | ||
| 65 | +<br> | ||
| 66 | +<br> | ||
| 17 | 67 | ||
| 18 | [TOC] | 68 | [TOC] |
| 19 | 69 | ||
| 70 | +# SunVote B200W MQTT通讯协议 | ||
| 20 | # 功能说明 | 71 | # 功能说明 |
| 21 | 72 | ||
| 22 | ## 主题说明 | 73 | ## 主题说明 |
| @@ -47,8 +98,9 @@ | @@ -47,8 +98,9 @@ | ||
| 47 | |fEvtXXX|指令事件 |调用对应指令后返回| | 98 | |fEvtXXX|指令事件 |调用对应指令后返回| |
| 48 | 99 | ||
| 49 | ## 数据格式约定 | 100 | ## 数据格式约定 |
| 50 | -- 数据格式统一为**Json**格式,MQTT发送接收消息编码统一为**UTF-8** | 101 | +- 数据格式统一为**Json**格式,发送接收消息编码统一为**UTF-8** |
| 51 | - Json通用格式如下: | 102 | - Json通用格式如下: |
| 103 | + | ||
| 52 | ```json | 104 | ```json |
| 53 | { | 105 | { |
| 54 | "fun":"xxx", | 106 | "fun":"xxx", |
| @@ -69,6 +121,23 @@ | @@ -69,6 +121,23 @@ | ||
| 69 | 121 | ||
| 70 | 122 | ||
| 71 | ## 功能速查一览表 | 123 | ## 功能速查一览表 |
| 124 | +### 公共方法 | ||
| 125 | +可以在多种业务中调用的通用方法 | ||
| 126 | +|功能归类|功能|API指令|指令/系统事件| | ||
| 127 | +|---|---|---|---| | ||
| 128 | +|停止投票|可停止通过调用startXXX启动的答题业务|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|| | ||
| 129 | + | ||
| 130 | +### 公共事件 | ||
| 131 | +无需调用指令,自动返回的事件 | ||
| 132 | +|功能归类|功能|API指令|指令/系统事件| | ||
| 133 | +|---|---|---|---| | ||
| 134 | +|公共事件|指令接收状态|-|[sEvtStateCode](#sevtstatecode)| | ||
| 135 | +|公共事件|基站连接状态变化|-|[sEvtBsConnectState](#sevtbsconnectstate)| | ||
| 136 | +|公共事件|基站信道冲突|-|[sEvtBsChannelConflict](#sevtbschannelconflict)| | ||
| 137 | +|公共事件|键盘上线通知|-|[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)| | ||
| 138 | +|公共事件|键盘刷卡事件|-|[sEvtBsNfcResults](#sevtbsnfcresults)| | ||
| 139 | +|公共事件|键盘待机实时按键反馈|-|[sEvtKpRtFeedback](#sevtkprtfeedback)| | ||
| 140 | + | ||
| 72 | ### 基站管理 | 141 | ### 基站管理 |
| 73 | |功能归类|功能|API指令|指令/系统事件| | 142 | |功能归类|功能|API指令|指令/系统事件| |
| 74 | |---|---|---|---| | 143 | |---|---|---|---| |
| @@ -79,15 +148,19 @@ | @@ -79,15 +148,19 @@ | ||
| 79 | |键盘上线通知|单个键盘上线系统通知|-|[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)|| | 148 | |键盘上线通知|单个键盘上线系统通知|-|[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)|| |
| 80 | |识别设置 - 基站型号|读取基站型号|[getBsModel](#getbsmodel)|[fEvtBsModel](#fevtbsmodel)| | 149 | |识别设置 - 基站型号|读取基站型号|[getBsModel](#getbsmodel)|[fEvtBsModel](#fevtbsmodel)| |
| 81 | |识别设置 - 固件版本|获取基站固件版本|[getBsFWVersion](#getbsfwversion)|[fEvtBsFWVersion](#fevtbsfwversion)| | 150 | |识别设置 - 固件版本|获取基站固件版本|[getBsFWVersion](#getbsfwversion)|[fEvtBsFWVersion](#fevtbsfwversion)| |
| 151 | +|组网设置 - 组网模式|获取基站组网模式|[getBsNetworkMode](#getbsnetworkmode)|[fEvtBsNetworkMode](#fevtbsnetworkmode)| | ||
| 82 | |组网设置 - 配对码|获取基站配对码|[getBsPairCode](#getbspaircode)|[fEvtBsPairCode](#fevtbspaircode)| | 152 | |组网设置 - 配对码|获取基站配对码|[getBsPairCode](#getbspaircode)|[fEvtBsPairCode](#fevtbspaircode)| |
| 83 | |组网设置 - 刷卡配对状态|获取刷卡配对状态|[getBsNfcLogin](#getbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)| | 153 | |组网设置 - 刷卡配对状态|获取刷卡配对状态|[getBsNfcLogin](#getbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)| |
| 84 | ||设置刷卡配对状态|[setBsNfcLogin](#setbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)|| | 154 | ||设置刷卡配对状态|[setBsNfcLogin](#setbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)|| |
| 85 | |组网设置 - 工作信道|获取基站工作信道|[getBsChannel](#getbschannel)|[fEvtBsChannel](#fevtbschannel)| | 155 | |组网设置 - 工作信道|获取基站工作信道|[getBsChannel](#getbschannel)|[fEvtBsChannel](#fevtbschannel)| |
| 86 | ||设置基站工作信道|[setBsChannel](#setbschannel)|[fEvtBsChannel](#fevtbschannel)|| | 156 | ||设置基站工作信道|[setBsChannel](#setbschannel)|[fEvtBsChannel](#fevtbschannel)|| |
| 157 | +||读取已被占用信道|[getBsRFIChannel](#getbsrfichannel)|[fEvtBsRFIChannel](#fevtbsrfichannel)|| | ||
| 87 | |登录设置 - 登录名称|获取基站登录名称|[getBsSSID](#getbsssid)|[fEvtBsSSID](#fevtbsssid)| | 158 | |登录设置 - 登录名称|获取基站登录名称|[getBsSSID](#getbsssid)|[fEvtBsSSID](#fevtbsssid)| |
| 88 | ||设置基站登录名称|[setBsSSID](#setbsssid)|[fEvtBsSSID](#fevtbsssid)|| | 159 | ||设置基站登录名称|[setBsSSID](#setbsssid)|[fEvtBsSSID](#fevtbsssid)|| |
| 89 | -|键盘统一设置 - 键盘语言|获取键盘语言|[getBsKpLanguage](#getbskplanguage)|[fEvtBsKpLanguage](#fevtbskplanguage)| | ||
| 90 | -||设置键盘语言|[setBsKpLanguage](#setbskplanguage)|[fEvtBsKpLanguage](#fevtbskplanguage)|| | 160 | +|登录设置 - 登录密码|获取基站登录密码|[getBsLoginPwd](#getbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)| |
| 161 | +||设置基站登录密码|[setBsLoginPwd](#setbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)|| | ||
| 162 | +|登录设置 - 基站登录状态|获取基站登录状态|[getBsLoginState](#getbsloginstate)|[fEvtBsLoginState](#fevtbsloginstate)| | ||
| 163 | +||设置基站登录状态|[setBsLoginState](#setbsloginstate)|[fEvtBsLoginState](#fevtbsloginstate)|| | ||
| 91 | |配对模式 - 快速配对|启动基站快速配对|[startBsFastPair](#startbsfastpair)|[sEvtStateCode](#sevtstatecode)<br>[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)| | 164 | |配对模式 - 快速配对|启动基站快速配对|[startBsFastPair](#startbsfastpair)|[sEvtStateCode](#sevtstatecode)<br>[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)| |
| 92 | ||停止基站快速配对|[stopBsFastPair](#stopbsfastpair)|[sEvtStateCode](#sevtstatecode)| | 165 | ||停止基站快速配对|[stopBsFastPair](#stopbsfastpair)|[sEvtStateCode](#sevtstatecode)| |
| 93 | |白名单模式 - 白名单管理|获取白名单|[getBsWhitelist](#getbswhitelist)|[fEvtBsWhitelist](#fevtbswhitelist)| | 166 | |白名单模式 - 白名单管理|获取白名单|[getBsWhitelist](#getbswhitelist)|[fEvtBsWhitelist](#fevtbswhitelist)| |
| @@ -95,6 +168,8 @@ | @@ -95,6 +168,8 @@ | ||
| 95 | ||清空白名单|[clearBsWhitelist](#clearbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtBsWhitelist](#fevtbswhitelist)| | 168 | ||清空白名单|[clearBsWhitelist](#clearbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
| 96 | ||增加白名单|[addBsWhitelist](#addbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtAddBsWhitelist](#fevtaddbswhitelist)<br>[fEvtBsWhitelist](#fevtbswhitelist)| | 169 | ||增加白名单|[addBsWhitelist](#addbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtAddBsWhitelist](#fevtaddbswhitelist)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
| 97 | ||删除白名单|[delBsWhitelist](#delbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtDelBsWhitelist](#fevtdelbswhitelist)<br>[fEvtBsWhitelist](#fevtbswhitelist)| | 170 | ||删除白名单|[delBsWhitelist](#delbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtDelBsWhitelist](#fevtdelbswhitelist)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
| 171 | +|基站加密 - 软件狗|获取基站软件狗|[getBsSoftwareKey](#getbssoftwarekey)|[fEvtBsSoftwareKey](#fevtbssoftwarekey)| | ||
| 172 | +||设置基站软件狗|[setBsSoftwareKey](#setbssoftwarekey)|[fEvtBsSoftwareKey](#fevtbssoftwarekey)| | ||
| 98 | |网络设置 - TCP/IP参数|获取TCP/IP参数|[getBsTcpipParams](#getbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)| | 173 | |网络设置 - TCP/IP参数|获取TCP/IP参数|[getBsTcpipParams](#getbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)| |
| 99 | ||设置TCP/IP参数|[setBsTcpipParams](#setbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)|| | 174 | ||设置TCP/IP参数|[setBsTcpipParams](#setbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)|| |
| 100 | |网络设置 - MQTT参数|获取MQTT参数|[getBsMqttParams](#getbsmqttparams)|[fEvtBsMqttParams](#fevtbsmqttparams)| | 175 | |网络设置 - MQTT参数|获取MQTT参数|[getBsMqttParams](#getbsmqttparams)|[fEvtBsMqttParams](#fevtbsmqttparams)| |
| @@ -115,7 +190,7 @@ | @@ -115,7 +190,7 @@ | ||
| 115 | |功能归类|功能|API指令|指令事件| | 190 | |功能归类|功能|API指令|指令事件| |
| 116 | |---|---|---|---| | 191 | |---|---|---|---| |
| 117 | |同步签到|启动同步签到|[startKpSignIn](#startkpsignin)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpSignIn](#fevtkpsignin)| | 192 | |同步签到|启动同步签到|[startKpSignIn](#startkpsignin)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpSignIn](#fevtkpsignin)| |
| 118 | -||停止同步签到|[stopKpSignIn](#stopkpsignin)|[sEvtStateCode](#sevtstatecode)| | 193 | +||停止同步签到|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |
| 119 | |随时签到|启动随时签到|[rtStartKpSignIn](#rtstartkpsignin)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpSignIn](#fevtkpsignin)| | 194 | |随时签到|启动随时签到|[rtStartKpSignIn](#rtstartkpsignin)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpSignIn](#fevtkpsignin)| |
| 120 | ||停止随时签到|[rtStopKpSignIn](#rtstopkpsignin)|[sEvtStateCode](#sevtstatecode)| | 195 | ||停止随时签到|[rtStopKpSignIn](#rtstopkpsignin)|[sEvtStateCode](#sevtstatecode)| |
| 121 | ||实时PIN签到授权|[rtSetKpLoginAllowed](#rtsetkploginallowed)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpLoginAllowed](#fevtkploginallowed)| | 196 | ||实时PIN签到授权|[rtSetKpLoginAllowed](#rtsetkploginallowed)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpLoginAllowed](#fevtkploginallowed)| |
| @@ -123,19 +198,44 @@ | @@ -123,19 +198,44 @@ | ||
| 123 | |功能归类|功能|API指令|指令事件| | 198 | |功能归类|功能|API指令|指令事件| |
| 124 | |---|---|---|---| | 199 | |---|---|---|---| |
| 125 | |判断题|启动判断题答题|[startQATrueFalse](#startqatruefalse)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQATrueFalse](#fevtqatruefalse)| | 200 | |判断题|启动判断题答题|[startQATrueFalse](#startqatruefalse)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQATrueFalse](#fevtqatruefalse)| |
| 126 | -||停止判断题答题|[stopQATrueFalse](#stopqatruefalse)|[sEvtStateCode](#sevtstatecode)| | 201 | +||停止判断题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |
| 127 | |选择题|启动选择题答题|[startQAChoice](#startqachoice)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAChoice](#fevtqachoice)| | 202 | |选择题|启动选择题答题|[startQAChoice](#startqachoice)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAChoice](#fevtqachoice)| |
| 128 | -||停止选择题答题|[stopQAChoice](#stopqachoice)|[sEvtStateCode](#sevtstatecode)| | 203 | +||停止选择题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |
| 129 | |数字题|启动数字题答题|[startQANum](#startqanum)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQANum](#fevtqanum)| | 204 | |数字题|启动数字题答题|[startQANum](#startqanum)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQANum](#fevtqanum)| |
| 130 | -||停止数字题答题|[stopQANum](#stopqanum)|[sEvtStateCode](#sevtstatecode)| | 205 | +||停止数字题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |
| 131 | |抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAQuicker](#fevtqaquicker)| | 206 | |抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAQuicker](#fevtqaquicker)| |
| 132 | -||停止抢答题答题|[stopQAQuicker](#stopqaquicker)|[sEvtStateCode](#sevtstatecode)| | 207 | +||停止抢答题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |
| 208 | +|待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)<br>[sEvtKpRtFeedback](#sevtkprtfeedback)| | ||
| 209 | +||获取待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)| | ||
| 133 | ### 在线测验 | 210 | ### 在线测验 |
| 134 | |功能归类|功能|API指令|指令事件| | 211 | |功能归类|功能|API指令|指令事件| |
| 135 | |---|---|---|---| | 212 | |---|---|---|---| |
| 136 | |标准测验|启动标准测验|[startKpExam](#startkpexam)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpExam](#fevtkpexam)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| | 213 | |标准测验|启动标准测验|[startKpExam](#startkpexam)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpExam](#fevtkpexam)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| |
| 137 | -||停止标准测验|[stopKpExam](#stopkpexam)|[sEvtStateCode](#sevtstatecode)| | 214 | +||停止标准测验|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |
| 138 | ||允许键盘提交后退回修改|[rtAllowEdited](#rtkpallowedited)|[sEvtStateCode](#sevtstatecode)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| | 215 | ||允许键盘提交后退回修改|[rtAllowEdited](#rtkpallowedited)|[sEvtStateCode](#sevtstatecode)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| |
| 216 | +|多科测验|启动多科测验|[startKpMultiExam](#startkpmultiexam)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpExam](#fevtkpexam)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| | ||
| 217 | +||停止标准测验|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | ||
| 218 | +|自主录分|启动自主录分|[startKpScoreInput](#startkpscoreinput)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpScore](#fevtkpscore)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| | ||
| 219 | +||停止自主录分|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | ||
| 220 | + | ||
| 221 | +## 公共方法 | ||
| 222 | +### stopKpVote | ||
| 223 | +- **主题**: /client/\${baseSN}/send | ||
| 224 | +- **功能描述**:通用停止键盘答题方法,可以停止如同步签到、按键反馈、在线测验中调用startXXX方法启动的业务 | ||
| 225 | +- **参数说明** | ||
| 226 | + | ||
| 227 | +|参数名|类型|限制|非空|说明| | ||
| 228 | +|-----|-----|-----|-----|-----| | ||
| 229 | +|fun|string|-|是|事件类型| | ||
| 230 | +|dataTag|string||否|数据包标识,不需要时可传空字符串| | ||
| 231 | + | ||
| 232 | +- **示例代码** | ||
| 233 | +```json | ||
| 234 | +{ | ||
| 235 | + "fun":"stopKpVote", | ||
| 236 | + "dataTag":"1" | ||
| 237 | +} | ||
| 238 | +``` | ||
| 139 | 239 | ||
| 140 | ## 公共事件 | 240 | ## 公共事件 |
| 141 | ### sEvtBsConnectState | 241 | ### sEvtBsConnectState |
| @@ -146,7 +246,7 @@ | @@ -146,7 +246,7 @@ | ||
| 146 | |参数名|类型|限制|非空|说明| | 246 | |参数名|类型|限制|非空|说明| |
| 147 | |-----|-----|-----|-----|-----| | 247 | |-----|-----|-----|-----|-----| |
| 148 | |fun|string|-|是|事件类型| | 248 | |fun|string|-|是|事件类型| |
| 149 | -|dataTag|string|-|否|数据包标识,不需要时可传空字符串| | 249 | +|dataTag|string||否|数据包标识,不需要时可传空字符串| |
| 150 | |data|object|-|是|传送参数的对象| | 250 | |data|object|-|是|传送参数的对象| |
| 151 | |+baseModel|int||否|基站的型号码| | 251 | |+baseModel|int||否|基站的型号码| |
| 152 | |+modelName|string||否|基站的型号名称| | 252 | |+modelName|string||否|基站的型号名称| |
| @@ -208,6 +308,7 @@ | @@ -208,6 +308,7 @@ | ||
| 208 | |dataTag|string|-|否|数据包标识,不需要时可传空字符串| | 308 | |dataTag|string|-|否|数据包标识,不需要时可传空字符串| |
| 209 | |data|object|-|是|传送参数的对象| | 309 | |data|object|-|是|传送参数的对象| |
| 210 | |+keySn|string||是|刷卡的键盘SN| | 310 | |+keySn|string||是|刷卡的键盘SN| |
| 311 | +|+cardType|int||是|刷卡的键盘类型<br>1-NFC类型<br>2-M1类型| | ||
| 211 | |+value|int||是|刷卡的状态<br>1-成功<br>2-失败| | 312 | |+value|int||是|刷卡的状态<br>1-成功<br>2-失败| |
| 212 | 313 | ||
| 213 | - **示例代码** | 314 | - **示例代码** |
| @@ -216,7 +317,8 @@ | @@ -216,7 +317,8 @@ | ||
| 216 | "fun":"sEvtBsNfcResults", | 317 | "fun":"sEvtBsNfcResults", |
| 217 | "dataTag":"1", //不需要时可传空字符串 | 318 | "dataTag":"1", //不需要时可传空字符串 |
| 218 | "data":{ | 319 | "data":{ |
| 219 | - "keySn":"1234567890", | 320 | + "keySn":"1234567890", |
| 321 | + "cardType":1, | ||
| 220 | "value":1 | 322 | "value":1 |
| 221 | } | 323 | } |
| 222 | } | 324 | } |
| @@ -248,6 +350,34 @@ | @@ -248,6 +350,34 @@ | ||
| 248 | } | 350 | } |
| 249 | } | 351 | } |
| 250 | ``` | 352 | ``` |
| 353 | +### sEvtKpRtFeedback | ||
| 354 | +- **主题**: /basestation/\${baseSN}/receive | ||
| 355 | +- **功能描述**:开启键盘实时反馈后,键盘按键时上报 | ||
| 356 | +- **参数说明** | ||
| 357 | + | ||
| 358 | +|参数名|类型|限制|非空|说明| | ||
| 359 | +|---|---|---|---|---| | ||
| 360 | +|fun|string|-|是|事件名称| | ||
| 361 | +|dataTag|string|-|否|数据包标识| | ||
| 362 | +|data|array|-|是|传送参数的对象数组| | ||
| 363 | +|++keySn|string||是|键盘SN| | ||
| 364 | +|++keyValue|string||是|键盘提交的按键值| | ||
| 365 | +|++voltage|double||是|键盘电量| | ||
| 366 | +|++retryCount|int||是|键盘提交数据的重发次数| | ||
| 367 | + | ||
| 368 | +- **示例代码** | ||
| 369 | +```json | ||
| 370 | +{ | ||
| 371 | + "fun":"sEvtKpRtFeedback", | ||
| 372 | + "dataTag":"1", | ||
| 373 | + "data":[{ | ||
| 374 | + "keySn":"1234567890", | ||
| 375 | + "keyValue":"A", | ||
| 376 | + "voltage":2.6, | ||
| 377 | + "retryCount":1 | ||
| 378 | + }] | ||
| 379 | +} | ||
| 380 | +``` | ||
| 251 | ### sEvtStateCode | 381 | ### sEvtStateCode |
| 252 | - **主题**: /basestation/\${baseSN}/receive | 382 | - **主题**: /basestation/\${baseSN}/receive |
| 253 | - **功能描述**:返回基站接收指令状态信息 | 383 | - **功能描述**:返回基站接收指令状态信息 |
| @@ -277,6 +407,7 @@ | @@ -277,6 +407,7 @@ | ||
| 277 | |20008|value参数错误| | 407 | |20008|value参数错误| |
| 278 | |30001|基站在答题中| | 408 | |30001|基站在答题中| |
| 279 | |30002|基站忙(内存不足)| | 409 | |30002|基站忙(内存不足)| |
| 410 | +|30003|基站执行失败| | ||
| 280 | |40001|升级功能只能支持一个基站| | 411 | |40001|升级功能只能支持一个基站| |
| 281 | |50001|此功能必须指定基站| | 412 | |50001|此功能必须指定基站| |
| 282 | |60001|此功能必须指定键盘SN| | 413 | |60001|此功能必须指定键盘SN| |
| @@ -334,7 +465,7 @@ | @@ -334,7 +465,7 @@ | ||
| 334 | 参见基站连接变化系统通知 | 465 | 参见基站连接变化系统通知 |
| 335 | 466 | ||
| 336 | ##### fEvtBsOnlineState | 467 | ##### fEvtBsOnlineState |
| 337 | -- **主题**: <span class="yellowFill">/basestation/mutilBase/receive</span> | 468 | +- **主题**: <span class="yellowFill">/basestation/multiBase/receive</span> |
| 338 | - **功能描述**:基站在线返回基站型号和基站SN | 469 | - **功能描述**:基站在线返回基站型号和基站SN |
| 339 | - **参数说明** | 470 | - **参数说明** |
| 340 | 471 | ||
| @@ -496,6 +627,23 @@ | @@ -496,6 +627,23 @@ | ||
| 496 | ``` | 627 | ``` |
| 497 | ### 组网设置 | 628 | ### 组网设置 |
| 498 | #### 方法 | 629 | #### 方法 |
| 630 | +##### getBsNetworkMode | ||
| 631 | +- **主题**:/client/\${baseSN}/send | ||
| 632 | +- **功能描述**:获取基站组网模式 | ||
| 633 | +- **参数说明** | ||
| 634 | + | ||
| 635 | +|参数名|类型|限制|是否必填|说明| | ||
| 636 | +|---|---|---|---|---| | ||
| 637 | +|fun|string|-|是|指令名称| | ||
| 638 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 639 | + | ||
| 640 | +- **示例代码** | ||
| 641 | +```json | ||
| 642 | +{ | ||
| 643 | + "fun":"getBsNetworkMode", | ||
| 644 | + "dataTag":"1" | ||
| 645 | +} | ||
| 646 | +``` | ||
| 499 | ##### getBsPairCode | 647 | ##### getBsPairCode |
| 500 | - **主题**:/client/\${baseSN}/send | 648 | - **主题**:/client/\${baseSN}/send |
| 501 | - **功能描述**:获取基站配对码 | 649 | - **功能描述**:获取基站配对码 |
| @@ -591,7 +739,48 @@ | @@ -591,7 +739,48 @@ | ||
| 591 | } | 739 | } |
| 592 | } | 740 | } |
| 593 | ``` | 741 | ``` |
| 742 | + | ||
| 743 | +##### getBsRFIChannel | ||
| 744 | +- **主题**:/client/\${baseSN}/send | ||
| 745 | +- **功能描述**:获取已被其他基站占用的信道 | ||
| 746 | +- **参数说明** | ||
| 747 | + | ||
| 748 | +|参数名|类型|限制|是否必填|说明| | ||
| 749 | +|---|---|---|---|---| | ||
| 750 | +|fun|string|-|是|指令名称| | ||
| 751 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 752 | + | ||
| 753 | +- **示例代码** | ||
| 754 | +```json | ||
| 755 | +{ | ||
| 756 | + "fun":"getBsRFIChannel", | ||
| 757 | + "dataTag":"1" | ||
| 758 | +} | ||
| 759 | +``` | ||
| 760 | + | ||
| 594 | #### 事件 | 761 | #### 事件 |
| 762 | +##### fEvtBsNetworkMode | ||
| 763 | +- **主题**: /basestation/\${baseSN}/receive | ||
| 764 | +- **功能描述**:返回基站组网模式 | ||
| 765 | +- **参数说明** | ||
| 766 | + | ||
| 767 | +|参数名|类型|限制|非空|说明| | ||
| 768 | +|---|---|---|---|---| | ||
| 769 | +|fun|string|-|是|事件名称| | ||
| 770 | +|dataTag|string|-|否|数据包标识,可传空字符串| | ||
| 771 | +|data|object|-|是|传送参数的对象| | ||
| 772 | +|+value|string||是|基站的组网模式<br>1-配对模式<br>2-白名单模式| | ||
| 773 | + | ||
| 774 | +- **示例代码** | ||
| 775 | +```json | ||
| 776 | +{ | ||
| 777 | + "fun":"fEvtBsNetworkMode", | ||
| 778 | + "dataTag":"1", | ||
| 779 | + "data":{ | ||
| 780 | + "value":"1" | ||
| 781 | + } | ||
| 782 | +} | ||
| 783 | +``` | ||
| 595 | ##### fEvtBsPairCode | 784 | ##### fEvtBsPairCode |
| 596 | - **主题**: /basestation/\${baseSN}/receive | 785 | - **主题**: /basestation/\${baseSN}/receive |
| 597 | - **功能描述**:返回基站配对码 | 786 | - **功能描述**:返回基站配对码 |
| @@ -637,6 +826,39 @@ | @@ -637,6 +826,39 @@ | ||
| 637 | } | 826 | } |
| 638 | } | 827 | } |
| 639 | ``` | 828 | ``` |
| 829 | + | ||
| 830 | +##### fEvtBsRFIChannel | ||
| 831 | +- **主题**: /basestation/\${baseSN}/receive | ||
| 832 | +- **功能描述**:返回其他基站已占用的信道,频点冲突时,可以根据返回结果修改基站信道避开干扰 | ||
| 833 | +- **参数说明** | ||
| 834 | + | ||
| 835 | +|参数名|类型|限制|非空|说明| | ||
| 836 | +|---|---|---|---|---| | ||
| 837 | +|fun|string|-|是|事件名称| | ||
| 838 | +|dataTag|string|-|否|数据包标识,可传空字符串| | ||
| 839 | +|data|object|-|是|传送参数的对象| | ||
| 840 | +|+value|string||是|其他基站已占用的信道,多个信道用英文","分隔,无占用信道返回0| | ||
| 841 | + | ||
| 842 | +- **示例代码** | ||
| 843 | +```json | ||
| 844 | +//信道1、2、14已被占用 | ||
| 845 | +{ | ||
| 846 | + "fun":"fEvtBsRFIChannel", | ||
| 847 | + "dataTag":"1", | ||
| 848 | + "data":{ | ||
| 849 | + "value":"1,2,14" | ||
| 850 | + } | ||
| 851 | +} | ||
| 852 | +//无占用信道 | ||
| 853 | +{ | ||
| 854 | + "fun":"fEvtBsRFIChannel", | ||
| 855 | + "dataTag":"1", | ||
| 856 | + "data":{ | ||
| 857 | + "value":"0" | ||
| 858 | + } | ||
| 859 | +} | ||
| 860 | +``` | ||
| 861 | + | ||
| 640 | ##### fEvtBsNfcLogin | 862 | ##### fEvtBsNfcLogin |
| 641 | - **主题**: /basestation/\${baseSN}/receive | 863 | - **主题**: /basestation/\${baseSN}/receive |
| 642 | - **功能描述**:返回基站是否允许NFC刷卡 | 864 | - **功能描述**:返回基站是否允许NFC刷卡 |
| @@ -701,6 +923,86 @@ | @@ -701,6 +923,86 @@ | ||
| 701 | } | 923 | } |
| 702 | } | 924 | } |
| 703 | ``` | 925 | ``` |
| 926 | +##### getBsLoginPwd | ||
| 927 | +- **主题**:/client/\${baseSN}/send | ||
| 928 | +- **功能描述**:获取基站登录密码 | ||
| 929 | +- **参数说明** | ||
| 930 | + | ||
| 931 | +|参数名|类型|限制|是否必填|说明| | ||
| 932 | +|---|---|---|---|---| | ||
| 933 | +|fun|string|-|是|固定指令名称| | ||
| 934 | +|dataTag|string|-|否|数据包标识| | ||
| 935 | + | ||
| 936 | +- **示例代码** | ||
| 937 | +```json | ||
| 938 | +{ | ||
| 939 | + "fun":"getBsLoginPwd", | ||
| 940 | + "dataTag":"1" | ||
| 941 | +} | ||
| 942 | +``` | ||
| 943 | +##### setBsLoginPwd | ||
| 944 | +- **主题**:/client/\${baseSN}/send | ||
| 945 | +- **功能描述**:设置基站登录密码 | ||
| 946 | +- **参数说明** | ||
| 947 | + | ||
| 948 | +|参数名|类型|限制|是否必填|说明| | ||
| 949 | +|---|---|---|---|---| | ||
| 950 | +|fun|string|-|是|指令名称| | ||
| 951 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 952 | +|data|object|-|是|传送参数的对象| | ||
| 953 | +|+value|string||是|设置的基站登录密码,数字类型,最长4位,为空或设为0代表无需密码登录| | ||
| 954 | + | ||
| 955 | +- **示例代码** | ||
| 956 | +```json | ||
| 957 | +{ | ||
| 958 | + "fun":"setBsLoginPwd", | ||
| 959 | + "dataTag":"1", | ||
| 960 | + "data":{ | ||
| 961 | + "value":"1234" | ||
| 962 | + } | ||
| 963 | +} | ||
| 964 | +``` | ||
| 965 | +##### getBsLoginState | ||
| 966 | +获取基站登录名称 | ||
| 967 | +- **主题**:/client/\${baseSN}/send | ||
| 968 | +- **功能描述**:获取基站登录状态 | ||
| 969 | +- **参数说明** | ||
| 970 | + | ||
| 971 | +|参数名|类型|限制|是否必填|说明| | ||
| 972 | +|---|---|---|---|---| | ||
| 973 | +|fun|string|-|是|固定指令名称| | ||
| 974 | +|dataTag|string|-|否|数据包标识| | ||
| 975 | + | ||
| 976 | +- **示例代码** | ||
| 977 | +```json | ||
| 978 | +{ | ||
| 979 | + "fun":"getBsLoginState", | ||
| 980 | + "dataTag":"1" | ||
| 981 | +} | ||
| 982 | +``` | ||
| 983 | +##### setBsLoginState | ||
| 984 | +- **主题**:/client/\${baseSN}/send | ||
| 985 | +- **功能描述**:设置基站登录状态 | ||
| 986 | +- **参数说明** | ||
| 987 | + | ||
| 988 | +|参数名|类型|限制|是否必填|说明| | ||
| 989 | +|---|---|---|---|---| | ||
| 990 | +|fun|string|-|是|指令名称| | ||
| 991 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 992 | +|data|object|-|是|传送参数的对象| | ||
| 993 | +|+value|string||是|设置是否允许键盘自主登入<br>0 - 不允许键盘登入<br>1 - 允许键盘登入| | ||
| 994 | + | ||
| 995 | +- **示例代码** | ||
| 996 | +```json | ||
| 997 | +{ | ||
| 998 | + "fun":"setBsLoginState", | ||
| 999 | + "dataTag":"1", | ||
| 1000 | + "data":{ | ||
| 1001 | + "value":"1" | ||
| 1002 | + } | ||
| 1003 | +} | ||
| 1004 | +``` | ||
| 1005 | + | ||
| 704 | #### 事件 | 1006 | #### 事件 |
| 705 | ##### fEvtBsSSID | 1007 | ##### fEvtBsSSID |
| 706 | - **主题**: /basestation/\${baseSN}/receive | 1008 | - **主题**: /basestation/\${baseSN}/receive |
| @@ -724,6 +1026,59 @@ | @@ -724,6 +1026,59 @@ | ||
| 724 | } | 1026 | } |
| 725 | } | 1027 | } |
| 726 | ``` | 1028 | ``` |
| 1029 | +##### fEvtBsLoginPwd | ||
| 1030 | +- **主题**: /basestation/\${baseSN}/receive | ||
| 1031 | +- **功能描述**:返回基站登录密码 | ||
| 1032 | +- **参数说明** | ||
| 1033 | + | ||
| 1034 | +|参数名|类型|限制|非空|说明| | ||
| 1035 | +|---|---|---|---|---| | ||
| 1036 | +|fun|string|-|是|事件名称| | ||
| 1037 | +|dataTag|string|-|否|数据包标识,可传空字符串| | ||
| 1038 | +|data|object|-|是|传送参数的对象| | ||
| 1039 | +|+value|string||是|基站登录密码,返回值为0代表无需密码登录| | ||
| 1040 | + | ||
| 1041 | +- **示例代码** | ||
| 1042 | +```json | ||
| 1043 | +{ | ||
| 1044 | + "fun":"fEvtBsLoginPwd", | ||
| 1045 | + "dataTag":"1", | ||
| 1046 | + "data":{ | ||
| 1047 | + "value":"1234" | ||
| 1048 | + } | ||
| 1049 | +} | ||
| 1050 | + | ||
| 1051 | +//无需密码登录 | ||
| 1052 | +{ | ||
| 1053 | + "fun":"fEvtBsLoginPwd", | ||
| 1054 | + "dataTag":"1", | ||
| 1055 | + "data":{ | ||
| 1056 | + "value":"0" | ||
| 1057 | + } | ||
| 1058 | +} | ||
| 1059 | +``` | ||
| 1060 | +##### fEvtBsLoginState | ||
| 1061 | +- **主题**: /basestation/\${baseSN}/receive | ||
| 1062 | +- **功能描述**:返回基站登录状态 | ||
| 1063 | +- **参数说明** | ||
| 1064 | + | ||
| 1065 | +|参数名|类型|限制|非空|说明| | ||
| 1066 | +|---|---|---|---|---| | ||
| 1067 | +|fun|string|-|是|事件名称| | ||
| 1068 | +|dataTag|string|-|否|数据包标识,可传空字符串| | ||
| 1069 | +|data|object|-|是|传送参数的对象| | ||
| 1070 | +|+value|string||是|基站登录状态| | ||
| 1071 | + | ||
| 1072 | +- **示例代码** | ||
| 1073 | +```json | ||
| 1074 | +{ | ||
| 1075 | + "fun":"fEvtBsLoginState", | ||
| 1076 | + "dataTag":"1", | ||
| 1077 | + "data":{ | ||
| 1078 | + "value":"1" | ||
| 1079 | + } | ||
| 1080 | +} | ||
| 1081 | +``` | ||
| 727 | ### 键盘统一设置 | 1082 | ### 键盘统一设置 |
| 728 | #### 方法 | 1083 | #### 方法 |
| 729 | ##### getBsKpLanguage | 1084 | ##### getBsKpLanguage |
| @@ -1122,7 +1477,7 @@ | @@ -1122,7 +1477,7 @@ | ||
| 1122 | |+port|int||是|端口,默认1883| | 1477 | |+port|int||是|端口,默认1883| |
| 1123 | |+userName|string||否|连接服务器的用户名,可不设置| | 1478 | |+userName|string||否|连接服务器的用户名,可不设置| |
| 1124 | |+password|string||否|连接服务器的密码,可不设置| | 1479 | |+password|string||否|连接服务器的密码,可不设置| |
| 1125 | -|+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒| | 1480 | +|+interval|int|>=30|否|基站连接服务器失败后重连的间隔时长,单位秒| |
| 1126 | 1481 | ||
| 1127 | - **示例代码** | 1482 | - **示例代码** |
| 1128 | ```json | 1483 | ```json |
| @@ -1199,7 +1554,70 @@ | @@ -1199,7 +1554,70 @@ | ||
| 1199 | } | 1554 | } |
| 1200 | } | 1555 | } |
| 1201 | ``` | 1556 | ``` |
| 1557 | +### 基站加密 | ||
| 1558 | +#### 方法 | ||
| 1559 | +##### getBsSoftwareKey | ||
| 1560 | +- **主题**:/client/\${baseSN}/send | ||
| 1561 | +- **功能描述**:获取基站软件狗密钥 | ||
| 1562 | +- **参数说明** | ||
| 1563 | + | ||
| 1564 | +|参数名|类型|限制|是否必填|说明| | ||
| 1565 | +|---|---|---|---|---| | ||
| 1566 | +|fun|string|-|是|指令名称| | ||
| 1567 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 1568 | + | ||
| 1569 | +- **示例代码** | ||
| 1570 | +```json | ||
| 1571 | +{ | ||
| 1572 | + "fun":"getBsSoftwareKey", | ||
| 1573 | + "dataTag":"1" | ||
| 1574 | +} | ||
| 1575 | +``` | ||
| 1576 | +##### setBsSoftwareKey | ||
| 1577 | +- **主题**:/client/\${baseSN}/send | ||
| 1578 | +- **功能描述**:设置基站软件狗密钥 | ||
| 1579 | +- **参数说明** | ||
| 1580 | + | ||
| 1581 | +|参数名|类型|限制|是否必填|说明| | ||
| 1582 | +|---|---|---|---|---| | ||
| 1583 | +|fun|string|-|是|指令名称| | ||
| 1584 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 1585 | +|data|object|-|是|传送参数的对象| | ||
| 1586 | +|+value|string|-|是|基站软件狗密钥,长度不超过32字节| | ||
| 1587 | + | ||
| 1588 | +- **示例代码** | ||
| 1589 | +```json | ||
| 1590 | +{ | ||
| 1591 | + "fun":"setBsSoftwareKey", | ||
| 1592 | + "dataTag":"1", | ||
| 1593 | + "data":{ | ||
| 1594 | + "value":"sunvote123456" | ||
| 1595 | + } | ||
| 1596 | +} | ||
| 1597 | +``` | ||
| 1598 | +#### 事件 | ||
| 1599 | +##### fEvtBsSoftwareKey | ||
| 1600 | +- **主题**:/basestation/\${baseSN}/receive | ||
| 1601 | +- **功能描述**:返回基站的软件狗密钥 | ||
| 1602 | +- **参数说明** | ||
| 1202 | 1603 | ||
| 1604 | +|参数名|类型|限制|非空|说明| | ||
| 1605 | +|---|---|---|---|---| | ||
| 1606 | +|fun|string|-|是|指令名称| | ||
| 1607 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 1608 | +|data|object|-|是|传送参数的对象| | ||
| 1609 | +|+value|string||是|返回基站的软件狗密钥| | ||
| 1610 | + | ||
| 1611 | +- **示例代码** | ||
| 1612 | +```json | ||
| 1613 | +{ | ||
| 1614 | + "fun":"fEvtBsSoftwareKey", | ||
| 1615 | + "dataTag":"1", | ||
| 1616 | + "data":{ | ||
| 1617 | + "value":"sunvote123456" | ||
| 1618 | + } | ||
| 1619 | +} | ||
| 1620 | +``` | ||
| 1203 | ## 键盘管理 | 1621 | ## 键盘管理 |
| 1204 | ### 交互设置 | 1622 | ### 交互设置 |
| 1205 | #### 方法 | 1623 | #### 方法 |
| @@ -1546,8 +1964,7 @@ | @@ -1546,8 +1964,7 @@ | ||
| 1546 | } | 1964 | } |
| 1547 | } | 1965 | } |
| 1548 | ``` | 1966 | ``` |
| 1549 | - | ||
| 1550 | -##### stopKpSignIn | 1967 | +<!-- ##### stopKpSignIn |
| 1551 | - **主题**:/client/\${baseSN}/send | 1968 | - **主题**:/client/\${baseSN}/send |
| 1552 | - **功能描述**:停止同步签到 | 1969 | - **功能描述**:停止同步签到 |
| 1553 | - **参数说明** | 1970 | - **参数说明** |
| @@ -1563,7 +1980,10 @@ | @@ -1563,7 +1980,10 @@ | ||
| 1563 | "fun":"stopKpSignIn", | 1980 | "fun":"stopKpSignIn", |
| 1564 | "dataTag":"1" | 1981 | "dataTag":"1" |
| 1565 | } | 1982 | } |
| 1566 | -``` | 1983 | +``` --> |
| 1984 | +##### [stopKpVote](#stopkpvote) | ||
| 1985 | +停止同步签到 | ||
| 1986 | + | ||
| 1567 | #### 事件 | 1987 | #### 事件 |
| 1568 | ##### [sEvtStateCode](#sevtstatecode) | 1988 | ##### [sEvtStateCode](#sevtstatecode) |
| 1569 | 发送指令后返回接收状态 | 1989 | 发送指令后返回接收状态 |
| @@ -1717,6 +2137,7 @@ | @@ -1717,6 +2137,7 @@ | ||
| 1717 | |dataTag|string|-|否|数据包标识,可为空字符串| | 2137 | |dataTag|string|-|否|数据包标识,可为空字符串| |
| 1718 | |data|object|-|是|传送参数的对象| | 2138 | |data|object|-|是|传送参数的对象| |
| 1719 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| | 2139 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
| 2140 | +|+count|int||是|题目数量,1-16,>1多题快答| | ||
| 1720 | |+mode|int||是|1 - True/False 对/错 <br>2 - Yes/No 是/否<br> 3 - √/×| | 2141 | |+mode|int||是|1 - True/False 对/错 <br>2 - Yes/No 是/否<br> 3 - √/×| |
| 1721 | |+allowModify|int||是|0 - 不允许修改<br>1 - 允许修改| | 2142 | |+allowModify|int||是|0 - 不允许修改<br>1 - 允许修改| |
| 1722 | |+tip|string||否|提示的标题,长度不超过16字符| | 2143 | |+tip|string||否|提示的标题,长度不超过16字符| |
| @@ -1729,13 +2150,14 @@ | @@ -1729,13 +2150,14 @@ | ||
| 1729 | "dataTag":"1", | 2150 | "dataTag":"1", |
| 1730 | "data":{ | 2151 | "data":{ |
| 1731 | "keySns":[], | 2152 | "keySns":[], |
| 2153 | + "count":1, | ||
| 1732 | "mode":1, | 2154 | "mode":1, |
| 1733 | "allowModify":1, | 2155 | "allowModify":1, |
| 1734 | "tip":"请判断对错" | 2156 | "tip":"请判断对错" |
| 1735 | } | 2157 | } |
| 1736 | } | 2158 | } |
| 1737 | ``` | 2159 | ``` |
| 1738 | -##### stopQATrueFalse | 2160 | +<!-- ##### stopQATrueFalse |
| 1739 | - **主题**:/client/\${baseSN}/send | 2161 | - **主题**:/client/\${baseSN}/send |
| 1740 | - **功能描述**:停止判断题答题 | 2162 | - **功能描述**:停止判断题答题 |
| 1741 | - **参数说明** | 2163 | - **参数说明** |
| @@ -1752,7 +2174,11 @@ | @@ -1752,7 +2174,11 @@ | ||
| 1752 | "fun":"stopQATrueFalse", | 2174 | "fun":"stopQATrueFalse", |
| 1753 | "dataTag":"1" | 2175 | "dataTag":"1" |
| 1754 | } | 2176 | } |
| 1755 | -``` | 2177 | +``` --> |
| 2178 | + | ||
| 2179 | +##### [stopKpVote](#stopkpvote) | ||
| 2180 | +停止判断题答题 | ||
| 2181 | + | ||
| 1756 | #### 事件 | 2182 | #### 事件 |
| 1757 | ##### [sEvtStateCode](#sevtstatecode) | 2183 | ##### [sEvtStateCode](#sevtstatecode) |
| 1758 | 发送指令后返回接收状态 | 2184 | 发送指令后返回接收状态 |
| @@ -1800,6 +2226,7 @@ | @@ -1800,6 +2226,7 @@ | ||
| 1800 | |dataTag|string|-|否|数据包标识,可为空字符串| | 2226 | |dataTag|string|-|否|数据包标识,可为空字符串| |
| 1801 | |data|object|-|是|传送参数的对象| | 2227 | |data|object|-|是|传送参数的对象| |
| 1802 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| | 2228 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
| 2229 | +|+count|int||是|题目数量,1-16,>1多题快答<br>optionalN >1时无效| | ||
| 1803 | |+mode|int||是|显示模式<br>1:显示字母(默认值) </br>2:显示数字 | | 2230 | |+mode|int||是|显示模式<br>1:显示字母(默认值) </br>2:显示数字 | |
| 1804 | |+lessMode|int||是|迫选模式<br>0:可缺选(默认值) </br>1:不可缺选</br>2:允许重复输入</br>3:允许重复输入且不可缺选 | | 2231 | |+lessMode|int||是|迫选模式<br>0:可缺选(默认值) </br>1:不可缺选</br>2:允许重复输入</br>3:允许重复输入且不可缺选 | |
| 1805 | |+options|int||是|选项数量,1≤M≤10(默认值4)| | 2232 | |+options|int||是|选项数量,1≤M≤10(默认值4)| |
| @@ -1816,6 +2243,7 @@ | @@ -1816,6 +2243,7 @@ | ||
| 1816 | "data":{ | 2243 | "data":{ |
| 1817 | "keySns":[], | 2244 | "keySns":[], |
| 1818 | "mode": 1, | 2245 | "mode": 1, |
| 2246 | + "count":1, | ||
| 1819 | "lessMode": 0, | 2247 | "lessMode": 0, |
| 1820 | "options": 4, | 2248 | "options": 4, |
| 1821 | "optionalN": 1, | 2249 | "optionalN": 1, |
| @@ -1824,7 +2252,7 @@ | @@ -1824,7 +2252,7 @@ | ||
| 1824 | } | 2252 | } |
| 1825 | } | 2253 | } |
| 1826 | ``` | 2254 | ``` |
| 1827 | -##### stopQAChoice | 2255 | +<!-- ##### stopQAChoice |
| 1828 | - **主题**:/client/\${baseSN}/send | 2256 | - **主题**:/client/\${baseSN}/send |
| 1829 | - **功能描述**:停止选择题答题 | 2257 | - **功能描述**:停止选择题答题 |
| 1830 | - **参数说明** | 2258 | - **参数说明** |
| @@ -1841,7 +2269,10 @@ | @@ -1841,7 +2269,10 @@ | ||
| 1841 | "fun":"stopQAChoice", | 2269 | "fun":"stopQAChoice", |
| 1842 | "dataTag":"1" | 2270 | "dataTag":"1" |
| 1843 | } | 2271 | } |
| 1844 | -``` | 2272 | +``` --> |
| 2273 | +##### [stopKpVote](#stopkpvote) | ||
| 2274 | +停止选择题答题 | ||
| 2275 | + | ||
| 1845 | #### 事件 | 2276 | #### 事件 |
| 1846 | ##### [sEvtStateCode](#sevtstatecode) | 2277 | ##### [sEvtStateCode](#sevtstatecode) |
| 1847 | 发送指令后返回接收状态 | 2278 | 发送指令后返回接收状态 |
| @@ -1889,7 +2320,7 @@ | @@ -1889,7 +2320,7 @@ | ||
| 1889 | |data|object|-|是|传送参数的对象| | 2320 | |data|object|-|是|传送参数的对象| |
| 1890 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| | 2321 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
| 1891 | |+mode|int||是|模式<br>0:无规则 (S6最多16位,T2最多14位)<br>1:带小数位上下限(T2不支持)| | 2322 | |+mode|int||是|模式<br>0:无规则 (S6最多16位,T2最多14位)<br>1:带小数位上下限(T2不支持)| |
| 1892 | -|+digits|int||是|小数位数,范围0-2,mode=1时有效 | 2323 | +|+digits|int||是|小数位数,范围0-2,mode=1时有效 |
| 1893 | |+numMin|int||是|可输入下限,mode=1有效,范围0-100| | 2324 | |+numMin|int||是|可输入下限,mode=1有效,范围0-100| |
| 1894 | |+numMax|int||是|可输入上限,mode=1有效,范围0-100| | 2325 | |+numMax|int||是|可输入上限,mode=1有效,范围0-100| |
| 1895 | |+allowModify|int||是|修改模式<br>0 - 不允许修改<br>1 - 允许修改| | 2326 | |+allowModify|int||是|修改模式<br>0 - 不允许修改<br>1 - 允许修改| |
| @@ -1912,7 +2343,7 @@ | @@ -1912,7 +2343,7 @@ | ||
| 1912 | } | 2343 | } |
| 1913 | } | 2344 | } |
| 1914 | ``` | 2345 | ``` |
| 1915 | -##### stopQANum | 2346 | +<!-- ##### stopQANum |
| 1916 | - **主题**:/client/\${baseSN}/send | 2347 | - **主题**:/client/\${baseSN}/send |
| 1917 | - **功能描述**:停止数字题答题 | 2348 | - **功能描述**:停止数字题答题 |
| 1918 | - **参数说明** | 2349 | - **参数说明** |
| @@ -1929,7 +2360,10 @@ | @@ -1929,7 +2360,10 @@ | ||
| 1929 | "fun":"stopQANum", | 2360 | "fun":"stopQANum", |
| 1930 | "dataTag":"1" | 2361 | "dataTag":"1" |
| 1931 | } | 2362 | } |
| 1932 | -``` | 2363 | +``` --> |
| 2364 | +##### [stopKpVote](#stopkpvote) | ||
| 2365 | +停止数字题答题 | ||
| 2366 | + | ||
| 1933 | #### 事件 | 2367 | #### 事件 |
| 1934 | ##### [sEvtStateCode](#sevtstatecode) | 2368 | ##### [sEvtStateCode](#sevtstatecode) |
| 1935 | 发送指令后返回接收状态 | 2369 | 发送指令后返回接收状态 |
| @@ -1947,7 +2381,7 @@ | @@ -1947,7 +2381,7 @@ | ||
| 1947 | |++keySn|string||是|键盘SN| | 2381 | |++keySn|string||是|键盘SN| |
| 1948 | |++keyValue|string||是|键盘提交的按键值| | 2382 | |++keyValue|string||是|键盘提交的按键值| |
| 1949 | |++keyTime|double||是|答题时间,从启动开始计算,单位秒| | 2383 | |++keyTime|double||是|答题时间,从启动开始计算,单位秒| |
| 1950 | -|++voltage|double||是|键盘电量</font>| | 2384 | +|++voltage|double||是|键盘电量| |
| 1951 | |++retryCount|int||是|键盘提交数据的重发次数| | 2385 | |++retryCount|int||是|键盘提交数据的重发次数| |
| 1952 | 2386 | ||
| 1953 | - **示例代码** | 2387 | - **示例代码** |
| @@ -1994,7 +2428,7 @@ | @@ -1994,7 +2428,7 @@ | ||
| 1994 | } | 2428 | } |
| 1995 | } | 2429 | } |
| 1996 | ``` | 2430 | ``` |
| 1997 | -##### stopQAQuicker | 2431 | +<!-- ##### stopQAQuicker |
| 1998 | - **主题**:/client/\${baseSN}/send | 2432 | - **主题**:/client/\${baseSN}/send |
| 1999 | - **功能描述**:停止抢答答题 | 2433 | - **功能描述**:停止抢答答题 |
| 2000 | - **参数说明** | 2434 | - **参数说明** |
| @@ -2011,7 +2445,11 @@ | @@ -2011,7 +2445,11 @@ | ||
| 2011 | "fun":"stopQAQuicker", | 2445 | "fun":"stopQAQuicker", |
| 2012 | "dataTag":"1" | 2446 | "dataTag":"1" |
| 2013 | } | 2447 | } |
| 2014 | -``` | 2448 | +``` --> |
| 2449 | + | ||
| 2450 | +##### [stopKpVote](#stopkpvote) | ||
| 2451 | +停止抢答 | ||
| 2452 | + | ||
| 2015 | #### 事件 | 2453 | #### 事件 |
| 2016 | ##### [sEvtStateCode](#sevtstatecode) | 2454 | ##### [sEvtStateCode](#sevtstatecode) |
| 2017 | 发送指令后返回接收状态 | 2455 | 发送指令后返回接收状态 |
| @@ -2045,6 +2483,105 @@ | @@ -2045,6 +2483,105 @@ | ||
| 2045 | }] | 2483 | }] |
| 2046 | } | 2484 | } |
| 2047 | ``` | 2485 | ``` |
| 2486 | +### 待机实时反馈 | ||
| 2487 | +#### 方法 | ||
| 2488 | +##### setKpStbResponse | ||
| 2489 | +- **主题**:/client/\${baseSN}/send | ||
| 2490 | +- **功能描述**:启动待机实时反馈 | ||
| 2491 | +- **参数说明** | ||
| 2492 | + | ||
| 2493 | +|参数名|类型|限制|是否必填|说明| | ||
| 2494 | +|---|---|---|---|---| | ||
| 2495 | +|fun|string|-|是|指令名称| | ||
| 2496 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 2497 | +|data|object|-|是|传送参数的对象| | ||
| 2498 | +|+state|int||是|启用待机实时反馈<br>0-不启用<br>1-启用| | ||
| 2499 | +|+mode|int||是|启动待机反馈类型,state=1时有效<br>1 - 指定按键反馈| | ||
| 2500 | +|+keys|int||是|有效按键数量,state=1且mode=1时有效, 范围1-10| | ||
| 2501 | + | ||
| 2502 | +- **示例代码** | ||
| 2503 | +```json | ||
| 2504 | +//启用待机按键反馈 | ||
| 2505 | +{ | ||
| 2506 | + "fun":"setKpStbResponse", | ||
| 2507 | + "dataTag":"1", | ||
| 2508 | + "data":{ | ||
| 2509 | + "state":1, | ||
| 2510 | + "mode":1, | ||
| 2511 | + "keys":4 | ||
| 2512 | + } | ||
| 2513 | +} | ||
| 2514 | +//关闭待机按键反馈 | ||
| 2515 | +{ | ||
| 2516 | + "fun":"setKpStbResponse", | ||
| 2517 | + "dataTag":"1", | ||
| 2518 | + "data":{ | ||
| 2519 | + "state":0 | ||
| 2520 | + } | ||
| 2521 | +} | ||
| 2522 | +``` | ||
| 2523 | + | ||
| 2524 | +##### getKpStbResponse | ||
| 2525 | +- **主题**:/client/\${baseSN}/send | ||
| 2526 | +- **功能描述**:获取实时反馈是否打开 | ||
| 2527 | +- **参数说明** | ||
| 2528 | + | ||
| 2529 | +|参数名|类型|限制|是否必填|说明| | ||
| 2530 | +|---|---|---|---|---| | ||
| 2531 | +|fun|string|-|是|指令名称| | ||
| 2532 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 2533 | + | ||
| 2534 | +- **示例代码** | ||
| 2535 | +```json | ||
| 2536 | +//获取实时反馈状态 | ||
| 2537 | +{ | ||
| 2538 | + "fun":"getKpStbResponse", | ||
| 2539 | + "dataTag":"1" | ||
| 2540 | +} | ||
| 2541 | +``` | ||
| 2542 | + | ||
| 2543 | +#### 事件 | ||
| 2544 | +##### fEvtKpStbResponse | ||
| 2545 | +- **主题**:/basestation/\${baseSN}/receive | ||
| 2546 | +- **功能描述**:返回当前待机按键反馈开启状态 | ||
| 2547 | +- **参数说明** | ||
| 2548 | + | ||
| 2549 | +|参数名|类型|限制|非空|说明| | ||
| 2550 | +|---|---|---|---|---| | ||
| 2551 | +|fun|string|-|是|指令名称| | ||
| 2552 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 2553 | +|data|array|-|是|传送参数的对象数组| | ||
| 2554 | +|+state|int||是|启用待机实时反馈<br>0-未启用<br>1-启用| | ||
| 2555 | +|+mode|int||是|当前启动待机反馈类型,state=1时返回<br>0-举手<br>1-指定按键反馈| | ||
| 2556 | + | ||
| 2557 | +- **示例代码** | ||
| 2558 | +```json | ||
| 2559 | +//当前启用待机实时反馈,模式为指定按键反馈 | ||
| 2560 | +{ | ||
| 2561 | + "fun":"fEvtKpStbResponse", | ||
| 2562 | + "dataTag":"1", | ||
| 2563 | + "data": { | ||
| 2564 | + "state": 1, | ||
| 2565 | + "mode": 1 | ||
| 2566 | + } | ||
| 2567 | +} | ||
| 2568 | + | ||
| 2569 | +//当前未启用待机反馈 | ||
| 2570 | +{ | ||
| 2571 | + "fun":"fEvtKpStbResponse", | ||
| 2572 | + "dataTag":"1", | ||
| 2573 | + "data": { | ||
| 2574 | + "state": 0 | ||
| 2575 | + } | ||
| 2576 | +} | ||
| 2577 | +``` | ||
| 2578 | + | ||
| 2579 | +##### [sEvtKpRtFeedback](#sevtkprtfeedback) | ||
| 2580 | +返回待机时键盘返回的按键值 | ||
| 2581 | + | ||
| 2582 | +##### [sEvtKpHandup](#sevtkphandup) | ||
| 2583 | +启动待机按键反馈类型为举手提问时返回此事件 | ||
| 2584 | + | ||
| 2048 | ## 在线测验 | 2585 | ## 在线测验 |
| 2049 | ### 标准测验 | 2586 | ### 标准测验 |
| 2050 | #### 方法 | 2587 | #### 方法 |
| @@ -2061,11 +2598,10 @@ | @@ -2061,11 +2598,10 @@ | ||
| 2061 | |+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| | 2598 | |+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| |
| 2062 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| | 2599 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| |
| 2063 | |+questions|array||是|题目详情| | 2600 | |+questions|array||是|题目详情| |
| 2064 | -|++symbol | string||是 | 题号前缀,分级标识为-,可为空,为空表示1级大题<br><font color="red">最多为三级题号,即最多可以设为x-x-</font>| | ||
| 2065 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | | 2601 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
| 2066 | |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| | 2602 | |++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| |
| 2067 | -|++startNo | int||是| 起始题号 | | ||
| 2068 | -|++count | int||是| 题目数量 | | 2603 | +|++startNo | string||是| 起始题号,可以为数字+“-”,单级的题号数字范围1-255,如“1”,“1-1”,“1-1-1”,最多只能输入三级<br>mode=0 时有效,mode=1或2时键盘按顺序显示题号| |
| 2604 | +|++count | int||是| 相同参数的连续题目数量, >0 <br>注意:总题数最多支持200题 | | ||
| 2069 | 2605 | ||
| 2070 | - **示例代码** | 2606 | - **示例代码** |
| 2071 | 2607 | ||
| @@ -2076,10 +2612,10 @@ | @@ -2076,10 +2612,10 @@ | ||
| 2076 | "dataTag":"1", | 2612 | "dataTag":"1", |
| 2077 | "data":{ | 2613 | "data":{ |
| 2078 | "mode": 1, | 2614 | "mode": 1, |
| 2079 | - "examNo": 1, | 2615 | + "examNo": 0, |
| 2080 | "questions": [{ | 2616 | "questions": [{ |
| 2081 | "quesType": 1, //单选题 | 2617 | "quesType": 1, //单选题 |
| 2082 | - "startNo": 1, //题号从1开始 | 2618 | + "startNo": "1", //题号从1开始 |
| 2083 | "count":10 //连续10题 | 2619 | "count":10 //连续10题 |
| 2084 | }] | 2620 | }] |
| 2085 | } | 2621 | } |
| @@ -2093,24 +2629,24 @@ | @@ -2093,24 +2629,24 @@ | ||
| 2093 | "dataTag":"1", | 2629 | "dataTag":"1", |
| 2094 | "data":{ | 2630 | "data":{ |
| 2095 | "mode": 0, | 2631 | "mode": 0, |
| 2096 | - "examNo": 1, | 2632 | + "examNo": 0, |
| 2097 | //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题 | 2633 | //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题 |
| 2098 | "questions": [{ | 2634 | "questions": [{ |
| 2099 | "quesType": 1, //单选题 | 2635 | "quesType": 1, //单选题 |
| 2100 | - "startNo": 1, //题号从1开始 | 2636 | + "startNo": "1", //题号从1开始 |
| 2101 | "count":2 //连续2题 | 2637 | "count":2 //连续2题 |
| 2102 | },{ | 2638 | },{ |
| 2103 | "quesType": 2, //多选题 | 2639 | "quesType": 2, //多选题 |
| 2104 | - "startNo": 3, //题号从3开始 | 2640 | + "startNo": "3", //题号从3开始 |
| 2105 | "count":2, //连续2题 | 2641 | "count":2, //连续2题 |
| 2106 | "option":5 | 2642 | "option":5 |
| 2107 | },{ | 2643 | },{ |
| 2108 | "quesType": 1, //数字题 | 2644 | "quesType": 1, //数字题 |
| 2109 | - "startNo": 5, //题号从5开始 | 2645 | + "startNo": "5", //题号从5开始 |
| 2110 | "count":1 //连续1题 | 2646 | "count":1 //连续1题 |
| 2111 | },{ | 2647 | },{ |
| 2112 | "quesType": 4, //判断题 | 2648 | "quesType": 4, //判断题 |
| 2113 | - "startNo": 6, //题号从6开始 | 2649 | + "startNo": "6", //题号从6开始 |
| 2114 | "count":1 //连续1题 | 2650 | "count":1 //连续1题 |
| 2115 | }] | 2651 | }] |
| 2116 | } | 2652 | } |
| @@ -2124,28 +2660,24 @@ | @@ -2124,28 +2660,24 @@ | ||
| 2124 | "dataTag":"1", | 2660 | "dataTag":"1", |
| 2125 | "data":{ | 2661 | "data":{ |
| 2126 | "mode": 0, | 2662 | "mode": 0, |
| 2127 | - "examNo": 1, | 2663 | + "examNo": 0, |
| 2128 | //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题 | 2664 | //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题 |
| 2129 | - "questions": [{ | ||
| 2130 | - "symbol": "1-", | 2665 | + "questions": [{ |
| 2131 | "quesType": 1, //单选题 | 2666 | "quesType": 1, //单选题 |
| 2132 | - "startNo": 1, //题号从1-1开始 | 2667 | + "startNo": "1-1", //题号从1-1开始 |
| 2133 | "count":2 //连续2题 | 2668 | "count":2 //连续2题 |
| 2134 | },{ | 2669 | },{ |
| 2135 | - "symbol": "2-", | ||
| 2136 | "quesType": 2, //多选题 | 2670 | "quesType": 2, //多选题 |
| 2137 | - "startNo": 1, //题号从2-1开始 | 2671 | + "startNo":"2-1", //题号从2-1开始 |
| 2138 | "count":2, //连续2题 | 2672 | "count":2, //连续2题 |
| 2139 | "option":5 | 2673 | "option":5 |
| 2140 | },{ | 2674 | },{ |
| 2141 | - "symbol": "3-", | ||
| 2142 | "quesType": 3, //数字题 | 2675 | "quesType": 3, //数字题 |
| 2143 | - "startNo": 1, //题号从3-1开始 | 2676 | + "startNo":"3-1", //题号从3-1开始 |
| 2144 | "count":1 //连续1题 | 2677 | "count":1 //连续1题 |
| 2145 | },{ | 2678 | },{ |
| 2146 | - "symbol": "4-", | ||
| 2147 | "quesType": 4, //判断题 | 2679 | "quesType": 4, //判断题 |
| 2148 | - "startNo": 1, //题号从4-1开始 | 2680 | + "startNo": "4-1", //题号从4-1开始 |
| 2149 | "count":1 //连续1题 | 2681 | "count":1 //连续1题 |
| 2150 | }] | 2682 | }] |
| 2151 | } | 2683 | } |
| @@ -2159,28 +2691,24 @@ | @@ -2159,28 +2691,24 @@ | ||
| 2159 | "dataTag":"1", | 2691 | "dataTag":"1", |
| 2160 | "data":{ | 2692 | "data":{ |
| 2161 | "mode": 0, | 2693 | "mode": 0, |
| 2162 | - "examNo": 1, | 2694 | + "examNo": 0, |
| 2163 | //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题 | 2695 | //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题 |
| 2164 | "questions": [{ | 2696 | "questions": [{ |
| 2165 | - "symbol": "1-1-", | ||
| 2166 | "quesType": 1, //单选题 | 2697 | "quesType": 1, //单选题 |
| 2167 | - "startNo": 1, //题号从1-1-1开始 | 2698 | + "startNo": "1-1-1", //题号从1-1-1开始 |
| 2168 | "count":2 //连续2题 | 2699 | "count":2 //连续2题 |
| 2169 | },{ | 2700 | },{ |
| 2170 | - "symbol": "1-2-", | ||
| 2171 | "quesType": 2, //多选题 | 2701 | "quesType": 2, //多选题 |
| 2172 | - "startNo": 1, //题号从1-2-1开始 | 2702 | + "startNo": "1-2-1", //题号从1-2-1开始 |
| 2173 | "count":2, //连续2题 | 2703 | "count":2, //连续2题 |
| 2174 | "option":5 | 2704 | "option":5 |
| 2175 | },{ | 2705 | },{ |
| 2176 | - "symbol": "2-1-", | ||
| 2177 | "quesType": 3, //数字题 | 2706 | "quesType": 3, //数字题 |
| 2178 | - "startNo": 1, //题号从2-1-1开始 | 2707 | + "startNo": "2-1-1", //题号从2-1-1开始 |
| 2179 | "count":1 //连续1题 | 2708 | "count":1 //连续1题 |
| 2180 | },{ | 2709 | },{ |
| 2181 | - "symbol": "3-1-", | ||
| 2182 | "quesType": 4, //判断题 | 2710 | "quesType": 4, //判断题 |
| 2183 | - "startNo": 1, //题号从3-1-1开始 | 2711 | + "startNo": "3-1-1", //题号从3-1-1开始 |
| 2184 | "count":1 //连续1题 | 2712 | "count":1 //连续1题 |
| 2185 | }] | 2713 | }] |
| 2186 | } | 2714 | } |
| @@ -2194,23 +2722,23 @@ | @@ -2194,23 +2722,23 @@ | ||
| 2194 | "dataTag":"1", | 2722 | "dataTag":"1", |
| 2195 | "data":{ | 2723 | "data":{ |
| 2196 | "mode": 1, | 2724 | "mode": 1, |
| 2197 | - "examNo": 1, | 2725 | + "examNo": 0, |
| 2198 | "questions": [{ | 2726 | "questions": [{ |
| 2199 | "quesType": 1, //单选题 | 2727 | "quesType": 1, //单选题 |
| 2200 | - "startNo": 1, //题号从1开始 | 2728 | + "startNo": "1", //题号从1开始 |
| 2201 | "count":2 //连续2题 | 2729 | "count":2 //连续2题 |
| 2202 | },{ | 2730 | },{ |
| 2203 | "quesType": 2, //多选题 | 2731 | "quesType": 2, //多选题 |
| 2204 | - "startNo": 3, //题号从3开始 | 2732 | + "startNo": "3", //题号从3开始 |
| 2205 | "count":2, //连续2题 | 2733 | "count":2, //连续2题 |
| 2206 | "option":5 | 2734 | "option":5 |
| 2207 | },{ | 2735 | },{ |
| 2208 | "quesType": 1, //数字题 | 2736 | "quesType": 1, //数字题 |
| 2209 | - "startNo": 5, //题号从5开始 | 2737 | + "startNo": "5", //题号从5开始 |
| 2210 | "count":1 //连续1题 | 2738 | "count":1 //连续1题 |
| 2211 | },{ | 2739 | },{ |
| 2212 | "quesType": 4, //判断题 | 2740 | "quesType": 4, //判断题 |
| 2213 | - "startNo": 6, //题号从6开始 | 2741 | + "startNo": "6", //题号从6开始 |
| 2214 | "count":1 //连续1题 | 2742 | "count":1 //连续1题 |
| 2215 | }] | 2743 | }] |
| 2216 | } | 2744 | } |
| @@ -2224,29 +2752,30 @@ | @@ -2224,29 +2752,30 @@ | ||
| 2224 | "dataTag":"1", | 2752 | "dataTag":"1", |
| 2225 | "data":{ | 2753 | "data":{ |
| 2226 | "mode": 2, | 2754 | "mode": 2, |
| 2227 | - "examNo": 1, | ||
| 2228 | - "questions": [{ | 2755 | + "examNo": 0, |
| 2756 | + "questions": [{ | ||
| 2229 | "quesType": 1, //单选题 | 2757 | "quesType": 1, //单选题 |
| 2230 | - "startNo": 1, //题号从1开始 | 2758 | + "startNo": "1", //题号从1开始 |
| 2231 | "count":2 //连续2题 | 2759 | "count":2 //连续2题 |
| 2232 | },{ | 2760 | },{ |
| 2233 | "quesType": 2, //多选题 | 2761 | "quesType": 2, //多选题 |
| 2234 | - "startNo": 3, //题号从3开始 | 2762 | + "startNo": "3", //题号从3开始 |
| 2235 | "count":2, //连续2题 | 2763 | "count":2, //连续2题 |
| 2236 | "option":5 | 2764 | "option":5 |
| 2237 | },{ | 2765 | },{ |
| 2238 | "quesType": 1, //数字题 | 2766 | "quesType": 1, //数字题 |
| 2239 | - "startNo": 5, //题号从5开始 | 2767 | + "startNo": "5", //题号从5开始 |
| 2240 | "count":1 //连续1题 | 2768 | "count":1 //连续1题 |
| 2241 | },{ | 2769 | },{ |
| 2242 | "quesType": 4, //判断题 | 2770 | "quesType": 4, //判断题 |
| 2243 | - "startNo": 6, //题号从6开始 | 2771 | + "startNo": "6", //题号从6开始 |
| 2244 | "count":1 //连续1题 | 2772 | "count":1 //连续1题 |
| 2245 | }] | 2773 | }] |
| 2246 | } | 2774 | } |
| 2247 | } | 2775 | } |
| 2248 | ``` | 2776 | ``` |
| 2249 | -##### stopKpExam | 2777 | + |
| 2778 | +<!-- ##### stopKpExam | ||
| 2250 | - **主题**:/client/\${baseSN}/send | 2779 | - **主题**:/client/\${baseSN}/send |
| 2251 | - **功能描述**:停止标准测验 | 2780 | - **功能描述**:停止标准测验 |
| 2252 | - **参数说明** | 2781 | - **参数说明** |
| @@ -2263,7 +2792,10 @@ | @@ -2263,7 +2792,10 @@ | ||
| 2263 | "fun":"stopKpExam", | 2792 | "fun":"stopKpExam", |
| 2264 | "dataTag":"1" | 2793 | "dataTag":"1" |
| 2265 | } | 2794 | } |
| 2266 | -``` | 2795 | +``` --> |
| 2796 | +##### [stopKpVote](#stopkpvote) | ||
| 2797 | +停止在线测验 | ||
| 2798 | + | ||
| 2267 | ##### rtKpAllowEdited | 2799 | ##### rtKpAllowEdited |
| 2268 | - **主题**:/client/\${baseSN}/send | 2800 | - **主题**:/client/\${baseSN}/send |
| 2269 | - **功能描述**:键盘提交后,允许键盘修改答案 | 2801 | - **功能描述**:键盘提交后,允许键盘修改答案 |
| @@ -2302,8 +2834,10 @@ | @@ -2302,8 +2834,10 @@ | ||
| 2302 | |dataTag|string|-|否|数据包标识,可为空字符串| | 2834 | |dataTag|string|-|否|数据包标识,可为空字符串| |
| 2303 | |data|array|-|是|传送参数的对象数组| | 2835 | |data|array|-|是|传送参数的对象数组| |
| 2304 | |++keySn|string||是|键盘SN| | 2836 | |++keySn|string||是|键盘SN| |
| 2305 | -|++keyValue|string||是|键盘提交的按键值,1:A;2:B表示第1题提交A,第二题提交B| | 2837 | +|++keyValue|string||是|键盘提交的按键值,1:A;2:B表示第1题提交A,第二题提交B<br><font color="red">注意:如启动的是多科测验,键盘提交的题目序号对应启动时下发的题目总序号,不按科目区分</font>| |
| 2306 | |++keyTime|double||是|答题时间,从启动开始计算,单位秒| | 2838 | |++keyTime|double||是|答题时间,从启动开始计算,单位秒| |
| 2839 | +|++voltage|double||是|键盘电量| | ||
| 2840 | +|++retryCount|int||是|键盘提交数据的重发次数| | ||
| 2307 | 2841 | ||
| 2308 | - **示例代码** | 2842 | - **示例代码** |
| 2309 | 2843 | ||
| @@ -2350,4 +2884,234 @@ | @@ -2350,4 +2884,234 @@ | ||
| 2350 | "keyTime":3.2 | 2884 | "keyTime":3.2 |
| 2351 | }] | 2885 | }] |
| 2352 | } | 2886 | } |
| 2887 | +``` | ||
| 2888 | + | ||
| 2889 | +### 多科测验 | ||
| 2890 | +#### 方法 | ||
| 2891 | +##### startKpMultiExam | ||
| 2892 | +- **主题**:/client/\${baseSN}/send | ||
| 2893 | +- **功能描述**:启动多科测验 | ||
| 2894 | +- **参数说明** | ||
| 2895 | + | ||
| 2896 | +|参数名|类型|限制|是否必填|说明| | ||
| 2897 | +|---|---|---|---|---| | ||
| 2898 | +|fun|string|-|是|指令名称| | ||
| 2899 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 2900 | +|data|object|-|是|传送参数的对象| | ||
| 2901 | +|+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| | ||
| 2902 | +|+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| | ||
| 2903 | +|+questions|array||是|题目详情| | ||
| 2904 | +|++subject | int||是 | 科目序号,1-9,对应键盘中内置的科目1-9<br>键盘答题时可选择科目切换答题| | ||
| 2905 | +|++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | | ||
| 2906 | +|++option |int||是 |选项数目<br> quesType = 1 有效。<br>quesType = 2 有效。<br>此项缺省时 默认4;<br>范围:1-10。| | ||
| 2907 | +|++startNo | string||是| 起始题号,可以为数字+“-”,单级的题号数字范围1-255,如“1”,“1-1”,最多支持两级题号<br>mode=0 时有效,mode=1或2时键盘按顺序显示题号| | ||
| 2908 | +|++count | int||是| 相同参数的连续题目数量, >0 <br>注意:所有科目的总题数最多支持200题| | ||
| 2909 | +|+simParams|object||否|内部模拟测试参数设置对象| | ||
| 2910 | +|++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]| | ||
| 2911 | + | ||
| 2912 | +- **示例代码** | ||
| 2913 | +```json | ||
| 2914 | +//自定义题号 | ||
| 2915 | +{ | ||
| 2916 | + "fun":"startKpMultiExam", | ||
| 2917 | + "dataTag":"1", | ||
| 2918 | + "data":{ | ||
| 2919 | + "mode": 0, | ||
| 2920 | + "examNo": 0, | ||
| 2921 | + "questions": [{ | ||
| 2922 | + "subject":1, //科目1 | ||
| 2923 | + //题号1-1 到1-10 共10题单选 | ||
| 2924 | + "quesType": 1, | ||
| 2925 | + "startNo": "1-1", | ||
| 2926 | + "count":10 | ||
| 2927 | + }, { | ||
| 2928 | + "subject":2, //科目2 | ||
| 2929 | + //题号2-2和2-3共两题 多选题,5个选项 | ||
| 2930 | + "quesType": 2, | ||
| 2931 | + "option": 5, | ||
| 2932 | + "startNo": "2-2", | ||
| 2933 | + "count":2 | ||
| 2934 | + }, { | ||
| 2935 | + "subject":3, //科目3 | ||
| 2936 | + //题号3-1和3-2共两道数字题 | ||
| 2937 | + "quesType": 3, | ||
| 2938 | + "startNo": "3-1", | ||
| 2939 | + "count":2 | ||
| 2940 | + }, { | ||
| 2941 | + "subject":1, //科目1 | ||
| 2942 | + //题号4和5 ,判断题 | ||
| 2943 | + "quesType": 4, | ||
| 2944 | + "startNo": "4", | ||
| 2945 | + "count":2 | ||
| 2946 | + }] | ||
| 2947 | + } | ||
| 2948 | +} | ||
| 2949 | + | ||
| 2950 | +//显示Q开头 | ||
| 2951 | +{ | ||
| 2952 | + "fun":"startKpMultiExam", | ||
| 2953 | + "dataTag":"1", | ||
| 2954 | + "data":{ | ||
| 2955 | + "mode": 1, | ||
| 2956 | + "examNo": 0, | ||
| 2957 | + "questions": [{ | ||
| 2958 | + "subject":1, | ||
| 2959 | + //Q1-Q20,单选题 | ||
| 2960 | + "quesType": 1, | ||
| 2961 | + "startNo": "1", | ||
| 2962 | + "count":20 | ||
| 2963 | + }] | ||
| 2964 | + } | ||
| 2965 | +} | ||
| 2966 | + | ||
| 2967 | +//显示题开头 | ||
| 2968 | +{ | ||
| 2969 | + "fun":"startKpMultiExam", | ||
| 2970 | + "dataTag":"1", | ||
| 2971 | + "data":{ | ||
| 2972 | + "mode": 2, | ||
| 2973 | + "examNo": 0, | ||
| 2974 | + "questions": [{ | ||
| 2975 | + "subject":1, | ||
| 2976 | + //题1-题20,单选题 | ||
| 2977 | + "quesType": 1, | ||
| 2978 | + "startNo": "1", | ||
| 2979 | + "count":20 | ||
| 2980 | + }] | ||
| 2981 | + } | ||
| 2982 | +} | ||
| 2983 | +``` | ||
| 2984 | + | ||
| 2985 | +<!-- ##### stopKpMultiExam | ||
| 2986 | +- **主题**:/client/\${baseSN}/send | ||
| 2987 | +- **功能描述**:停止多科测验 | ||
| 2988 | +- **参数说明** | ||
| 2989 | + | ||
| 2990 | +|参数名|类型|限制|是否必填|说明| | ||
| 2991 | +|---|---|---|---|---| | ||
| 2992 | +|fun|string|-|是|指令名称| | ||
| 2993 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 2994 | + | ||
| 2995 | +- **示例代码** | ||
| 2996 | +```json | ||
| 2997 | +{ | ||
| 2998 | + "fun":"stopKpMultiExam", | ||
| 2999 | + "dataTag":"1" | ||
| 3000 | +} | ||
| 3001 | +``` --> | ||
| 3002 | +##### [stopKpVote](#stopkpvote) | ||
| 3003 | +停止多科测验 | ||
| 3004 | + | ||
| 3005 | +#### 事件 | ||
| 3006 | +##### [sEvtStateCode](#sevtstatecode) | ||
| 3007 | +发送指令后返回接收状态 | ||
| 3008 | + | ||
| 3009 | +##### [fEvtKpExam](#fevtkpexam) | ||
| 3010 | +返回测验中键盘提交答题数据 | ||
| 3011 | + | ||
| 3012 | +##### [fEvtFinalSubmit](#fevtfinalsubmit) | ||
| 3013 | +返回键盘手动交卷标识 | ||
| 3014 | + | ||
| 3015 | +### 自主录分 | ||
| 3016 | +#### 方法 | ||
| 3017 | +##### startKpScoreInput | ||
| 3018 | +- **主题**:/client/\${baseSN}/send | ||
| 3019 | +- **功能描述**:启动自主录分 | ||
| 3020 | +- **参数说明** | ||
| 3021 | + | ||
| 3022 | +|参数名|类型|限制|是否必填|说明| | ||
| 3023 | +|---|---|---|---|---| | ||
| 3024 | +|fun|string|-|是|指令名称| | ||
| 3025 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 3026 | +|data|object|-|是|传送参数的对象| | ||
| 3027 | +|+examNo|int||是|0-9999<br>=0,新的录分<br>>0时,与上次启动卷号一致继续录分,不一致进入新的录分| | ||
| 3028 | +|+mode|int||是|录分模式<br>0-自主录分<br>1-交叉录分,需先输入录分的人员标识| | ||
| 3029 | +|+questions|array||是|题目详情| | ||
| 3030 | +|++max |int||是|可输入的最大值,<=100| | ||
| 3031 | +|++digits|int||是|可输入的小数位数,范围0-2| | ||
| 3032 | +|++startNo | string||是| 起始题号,暂只支持一级题号,范围1-255| | ||
| 3033 | +|++count | int||是| 相同参数的题目数量,>0<br>注意:总题数最多支持200题| | ||
| 3034 | + | ||
| 3035 | +- **示例代码** | ||
| 3036 | +```json | ||
| 3037 | +{ | ||
| 3038 | + "fun":"startKpScoreInput", | ||
| 3039 | + "dataTag":"1", | ||
| 3040 | + "data":{ | ||
| 3041 | + "mode": 0, | ||
| 3042 | + "examNo": 0, | ||
| 3043 | + "questions": [{ | ||
| 3044 | + //题号1 到 2 共2题,单题满分10分 | ||
| 3045 | + "max":10, | ||
| 3046 | + "digits":1, | ||
| 3047 | + "startNo": "1", | ||
| 3048 | + "count":2 | ||
| 3049 | + }, { | ||
| 3050 | + //题号3到6 共4道题,单题满分5 | ||
| 3051 | + "max":5, | ||
| 3052 | + "digits":0, | ||
| 3053 | + "startNo": "3", | ||
| 3054 | + "count":4 | ||
| 3055 | + }] | ||
| 3056 | + } | ||
| 3057 | +} | ||
| 3058 | +``` | ||
| 3059 | +<!-- | ||
| 3060 | +##### stopKpScoreInput | ||
| 3061 | +- **主题**:/client/\${baseSN}/send | ||
| 3062 | +- **功能描述**:停止自主录分 | ||
| 3063 | +- **参数说明** | ||
| 3064 | + | ||
| 3065 | +|参数名|类型|限制|是否必填|说明| | ||
| 3066 | +|---|---|---|---|---| | ||
| 3067 | +|fun|string|-|是|指令名称| | ||
| 3068 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 3069 | + | ||
| 3070 | +- **示例代码** | ||
| 3071 | +```json | ||
| 3072 | +{ | ||
| 3073 | + "fun":"stopKpScoreInput", | ||
| 3074 | + "dataTag":"1" | ||
| 3075 | +} | ||
| 3076 | +``` --> | ||
| 3077 | +##### [stopKpVote](#stopkpvote) | ||
| 3078 | +停止自主录分 | ||
| 3079 | + | ||
| 3080 | +#### 事件 | ||
| 3081 | +##### [sEvtStateCode](#sevtstatecode) | ||
| 3082 | +发送指令后返回接收状态 | ||
| 3083 | + | ||
| 3084 | +##### fEvtKpScore | ||
| 3085 | +- **主题**:/basestation/\${baseSN}/receive | ||
| 3086 | +- **功能描述**:返回键盘提交录分信息 | ||
| 3087 | +- **参数说明** | ||
| 3088 | + | ||
| 3089 | +|参数名|类型|限制|非空|说明| | ||
| 3090 | +|---|---|---|---|---| | ||
| 3091 | +|fun|string|-|是|指令名称| | ||
| 3092 | +|dataTag|string|-|否|数据包标识,可为空字符串| | ||
| 3093 | +|data|array|-|是|传送参数的对象数组| | ||
| 3094 | +|++keySn|string||是|键盘SN| | ||
| 3095 | +|++keyValue|string||是|键盘提交的分值,1:10;2:0表示第1题提交10分,第二题提交0分| | ||
| 3096 | +|++keyTime|double||是|录分时间,从启动录分开始计算,单位秒| | ||
| 3097 | +|++voltage|double||是|键盘电量| | ||
| 3098 | +|++retryCount|int||是|键盘提交数据的重发次数| | ||
| 3099 | + | ||
| 3100 | +- **示例代码** | ||
| 3101 | +```json | ||
| 3102 | +{ | ||
| 3103 | + "fun":"fEvtKpScore", | ||
| 3104 | + "dataTag":"1", | ||
| 3105 | + "data": [{ | ||
| 3106 | + "keySn": "1234567890", | ||
| 3107 | + "keyValue":"1:8;2:7.5;3:2;4:3", | ||
| 3108 | + "keyTime":3.2 | ||
| 3109 | + }, | ||
| 3110 | + { | ||
| 3111 | + "keySn": "1234567891", | ||
| 3112 | + "keyValue":"1:10;2:0", | ||
| 3113 | + "keyTime":3.5 | ||
| 3114 | + } | ||
| 3115 | + ] | ||
| 3116 | +} | ||
| 2353 | ``` | 3117 | ``` |
| 2354 | \ No newline at end of file | 3118 | \ No newline at end of file |
通讯协议-SDK应用部分.md
| @@ -8,7 +8,7 @@ WSCmdApp协议接口说明 | @@ -8,7 +8,7 @@ WSCmdApp协议接口说明 | ||
| 8 | 8 | ||
| 9 | 9 | ||
| 10 | <div style="text-align: center;font-size: 30px;"> | 10 | <div style="text-align: center;font-size: 30px;"> |
| 11 | -Ver5.1.10 | 11 | +Ver5.1.11 |
| 12 | </div> | 12 | </div> |
| 13 | <br> | 13 | <br> |
| 14 | <br> | 14 | <br> |
| @@ -24,7 +24,7 @@ Ver5.1.10 | @@ -24,7 +24,7 @@ Ver5.1.10 | ||
| 24 | <br> | 24 | <br> |
| 25 | 25 | ||
| 26 | <div style="text-align: center;font-size: 30px;"> | 26 | <div style="text-align: center;font-size: 30px;"> |
| 27 | -二〇二四年九月 | 27 | +二〇二四年十月 |
| 28 | </div> | 28 | </div> |
| 29 | 29 | ||
| 30 | <br> | 30 | <br> |
| @@ -38,7 +38,7 @@ Ver5.1.10 | @@ -38,7 +38,7 @@ Ver5.1.10 | ||
| 38 | 38 | ||
| 39 | 起草人:陈定敏 | 39 | 起草人:陈定敏 |
| 40 | 40 | ||
| 41 | -最新版本作者: 陈定敏 | 41 | +最新版本作者: 刘琴 |
| 42 | <br> | 42 | <br> |
| 43 | <br> | 43 | <br> |
| 44 | | 文档版本 | 日期 | 作者 | 版本说明 | | 44 | | 文档版本 | 日期 | 作者 | 版本说明 | |
| @@ -52,6 +52,8 @@ Ver5.1.10 | @@ -52,6 +52,8 @@ Ver5.1.10 | ||
| 52 | |5.1.8| 2024年07月01日|陈定敏|1. 投票反馈数据增加电池状态| | 52 | |5.1.8| 2024年07月01日|陈定敏|1. 投票反馈数据增加电池状态| |
| 53 | |5.1.9| 2024年07月19日|陈定敏|1. 增加获取SDK版本接口| | 53 | |5.1.9| 2024年07月19日|陈定敏|1. 增加获取SDK版本接口| |
| 54 | |5.1.10| 2024年09月03日|陈定敏|1. 移去主动获取在线信息接口| | 54 | |5.1.10| 2024年09月03日|陈定敏|1. 移去主动获取在线信息接口| |
| 55 | +|5.1.11| 2024年10月17日|刘琴|1. 增加设置基站容量的接口| | ||
| 56 | +|5.1.12| 2024年11月01日|刘琴|1. 修改writeKeyMessage接口中keySnList说明| | ||
| 55 | 57 | ||
| 56 | <br> | 58 | <br> |
| 57 | 59 | ||
| @@ -706,6 +708,7 @@ infos:{} | @@ -706,6 +708,7 @@ infos:{} | ||
| 706 | 708 | ||
| 707 | fun: "keyPadAuthorize" // | 709 | fun: "keyPadAuthorize" // |
| 708 | baseId: "1"//收到的基站ID | 710 | baseId: "1"//收到的基站ID |
| 711 | +keySnList:[{"keySn": "0112540402"}] //指定键盘SN,不可为空 | ||
| 709 | params:{} //默认空 | 712 | params:{} //默认空 |
| 710 | 713 | ||
| 711 | | **Json字段** | **字段含义** | **赋值及含义** | | 714 | | **Json字段** | **字段含义** | **赋值及含义** | |
| @@ -3985,6 +3988,34 @@ params:{}//可不填 | @@ -3985,6 +3988,34 @@ params:{}//可不填 | ||
| 3985 | } | 3988 | } |
| 3986 | ``` | 3989 | ``` |
| 3987 | 3990 | ||
| 3991 | +写 | ||
| 3992 | + | ||
| 3993 | +发送: | ||
| 3994 | + | ||
| 3995 | +fun: "writeBaseStationCapacity" //写基站容量 | ||
| 3996 | +baseId: 1//1~32 (必须指定基站) | ||
| 3997 | +params:{"keypadNumber":"60","lock":"1"}// | ||
| 3998 | + | ||
| 3999 | +| **Json字段** | **字段含义** | **赋值及含义** | | ||
| 4000 | +| --- | --- | --- | | ||
| 4001 | +|keypadNumber|基站容量|基站键盘容量| | ||
| 4002 | +|lock|是否锁定|现只支持设置1-锁定| | ||
| 4003 | + | ||
| 4004 | + | ||
| 4005 | +指令样例: | ||
| 4006 | +```json | ||
| 4007 | +{ | ||
| 4008 | + "fun": "writeBaseStationPairMode", | ||
| 4009 | + "baseId": 1, | ||
| 4010 | + "baseSn":"2023031402", | ||
| 4011 | + "params": { | ||
| 4012 | + "keypadNumber": "60", | ||
| 4013 | + "lock": "1" | ||
| 4014 | + }, | ||
| 4015 | + "packetTag": "1" | ||
| 4016 | +} | ||
| 4017 | +``` | ||
| 4018 | + | ||
| 3988 | 返回 | 4019 | 返回 |
| 3989 | 4020 | ||
| 3990 | 接收: | 4021 | 接收: |
| @@ -4601,7 +4632,7 @@ params:{} //数组对象,指定键盘需填 | @@ -4601,7 +4632,7 @@ params:{} //数组对象,指定键盘需填 | ||
| 4601 | 发送: | 4632 | 发送: |
| 4602 | fun: "addWhiteList" //追加键盘 | 4633 | fun: "addWhiteList" //追加键盘 |
| 4603 | params:{} //键盘sn | 4634 | params:{} //键盘sn |
| 4604 | -keySnList:[ "keySn":"2111120140"] //列表不能为空 | 4635 | +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空 |
| 4605 | 4636 | ||
| 4606 | 指令样例: | 4637 | 指令样例: |
| 4607 | 4638 | ||
| @@ -4650,8 +4681,7 @@ infos:{}// | @@ -4650,8 +4681,7 @@ infos:{}// | ||
| 4650 | 发送: | 4681 | 发送: |
| 4651 | fun: "delWhiteList" //踢出键盘,删除键盘 | 4682 | fun: "delWhiteList" //踢出键盘,删除键盘 |
| 4652 | params:{} //键盘sn | 4683 | params:{} //键盘sn |
| 4653 | -keySnList:[ "keySn":"2111120140"] //列表不能为空 | ||
| 4654 | - | 4684 | +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空 |
| 4655 | 4685 | ||
| 4656 | 指令样例: | 4686 | 指令样例: |
| 4657 | 4687 | ||
| @@ -4889,13 +4919,13 @@ infos:{ }//返回基站 | @@ -4889,13 +4919,13 @@ infos:{ }//返回基站 | ||
| 4889 | 写 | 4919 | 写 |
| 4890 | 4920 | ||
| 4891 | fun: "writeKeypadDevice" //写键盘外设,由led灯、蜂鸣器、马达组合 | 4921 | fun: "writeKeypadDevice" //写键盘外设,由led灯、蜂鸣器、马达组合 |
| 4922 | +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘 | ||
| 4892 | params:{} // | 4923 | params:{} // |
| 4893 | 4924 | ||
| 4894 | 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置 | 4925 | 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置 |
| 4895 | 4926 | ||
| 4896 | | **Json字段** | **字段含义** | **赋值及含义** | | 4927 | | **Json字段** | **字段含义** | **赋值及含义** | |
| 4897 | | --- | --- | --- | | 4928 | | --- | --- | --- | |
| 4898 | -| keySn | 键盘SN |空字符串,为所有在线键盘| | ||
| 4899 | | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)| | 4929 | | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)| |
| 4900 | | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)| | 4930 | | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)| |
| 4901 | | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)| | 4931 | | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)| |
| @@ -5398,11 +5428,11 @@ infos:{"keySn":"1837454011","state":"OK"}//遥控键盘关机 | @@ -5398,11 +5428,11 @@ infos:{"keySn":"1837454011","state":"OK"}//遥控键盘关机 | ||
| 5398 | 5428 | ||
| 5399 | 写 | 5429 | 写 |
| 5400 | fun: "writeKeyMessage" //写键盘短消息 | 5430 | fun: "writeKeyMessage" //写键盘短消息 |
| 5431 | +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘 | ||
| 5401 | params:{} // 数组对象,对象中的默认值为空字符串 | 5432 | params:{} // 数组对象,对象中的默认值为空字符串 |
| 5402 | 5433 | ||
| 5403 | | **Json字段** | **字段含义** | **赋值及含义** | | 5434 | | **Json字段** | **字段含义** | **赋值及含义** | |
| 5404 | | --- | --- | --- | | 5435 | | --- | --- | --- | |
| 5405 | -|keySn|键盘SN|空字符串,为所有在线键盘| | ||
| 5406 | |txt|短消息内容|字符串最长40字节[20汉字]| | 5436 | |txt|短消息内容|字符串最长40字节[20汉字]| |
| 5407 | 5437 | ||
| 5408 | 5438 | ||
| @@ -5523,7 +5553,6 @@ infos:{}// | @@ -5523,7 +5553,6 @@ infos:{}// | ||
| 5523 | 5553 | ||
| 5524 | | **Json字段** | **字段含义** | **赋值及含义** | | 5554 | | **Json字段** | **字段含义** | **赋值及含义** | |
| 5525 | | --- | --- | --- | | 5555 | | --- | --- | --- | |
| 5526 | -|keySn|键盘SN|| | ||
| 5527 | |state|返回信息|OK(成功)| | 5556 | |state|返回信息|OK(成功)| |
| 5528 | 5557 | ||
| 5529 | 5558 |
通讯协议-SDK应用部分[内部].md
| @@ -8,7 +8,7 @@ WSCmdApp协议接口说明 | @@ -8,7 +8,7 @@ WSCmdApp协议接口说明 | ||
| 8 | 8 | ||
| 9 | 9 | ||
| 10 | <div style="text-align: center;font-size: 30px;"> | 10 | <div style="text-align: center;font-size: 30px;"> |
| 11 | -Ver5.1.9 | 11 | +Ver5.1.11 |
| 12 | </div> | 12 | </div> |
| 13 | <br> | 13 | <br> |
| 14 | <br> | 14 | <br> |
| @@ -24,7 +24,7 @@ Ver5.1.9 | @@ -24,7 +24,7 @@ Ver5.1.9 | ||
| 24 | <br> | 24 | <br> |
| 25 | 25 | ||
| 26 | <div style="text-align: center;font-size: 30px;"> | 26 | <div style="text-align: center;font-size: 30px;"> |
| 27 | -二〇二三年十月 | 27 | +二〇二四年十月 |
| 28 | </div> | 28 | </div> |
| 29 | 29 | ||
| 30 | <br> | 30 | <br> |
| @@ -38,7 +38,7 @@ Ver5.1.9 | @@ -38,7 +38,7 @@ Ver5.1.9 | ||
| 38 | 38 | ||
| 39 | 起草人:陈定敏 | 39 | 起草人:陈定敏 |
| 40 | 40 | ||
| 41 | -最新版本作者: 陈定敏 | 41 | +最新版本作者: 刘琴 |
| 42 | <br> | 42 | <br> |
| 43 | <br> | 43 | <br> |
| 44 | | 文档版本 | 日期 | 作者 | 版本说明 | | 44 | | 文档版本 | 日期 | 作者 | 版本说明 | |
| @@ -51,6 +51,9 @@ Ver5.1.9 | @@ -51,6 +51,9 @@ Ver5.1.9 | ||
| 51 | |5.1.7| 2024年04月22日|陈定敏|1. 增加后台签到接口<br>2. 增加键盘最终提交状态接口| | 51 | |5.1.7| 2024年04月22日|陈定敏|1. 增加后台签到接口<br>2. 增加键盘最终提交状态接口| |
| 52 | |5.1.8| 2024年07月01日|陈定敏|1. 投票反馈数据增加电池状态| | 52 | |5.1.8| 2024年07月01日|陈定敏|1. 投票反馈数据增加电池状态| |
| 53 | |5.1.9| 2024年07月19日|陈定敏|1. 增加获取SDK版本接口| | 53 | |5.1.9| 2024年07月19日|陈定敏|1. 增加获取SDK版本接口| |
| 54 | +|5.1.10| 2024年09月03日|陈定敏|1. 外部版移去主动获取在线信息接口,版本号更新| | ||
| 55 | +|5.1.11| 2024年10月17日|刘琴|1. 增加设置基站容量的接口| | ||
| 56 | +|5.1.12| 2024年11月01日|刘琴|1. 修改writeKeyMessage接口中keySnList说明| | ||
| 54 | 57 | ||
| 55 | <br> | 58 | <br> |
| 56 | 59 | ||
| @@ -705,6 +708,7 @@ infos:{} | @@ -705,6 +708,7 @@ infos:{} | ||
| 705 | 708 | ||
| 706 | fun: "keyPadAuthorize" // | 709 | fun: "keyPadAuthorize" // |
| 707 | baseId: "1"//收到的基站ID | 710 | baseId: "1"//收到的基站ID |
| 711 | +keySnList:[{"keySn": "0112540402"}] //指定键盘SN,不可为空 | ||
| 708 | params:{} //默认空 | 712 | params:{} //默认空 |
| 709 | 713 | ||
| 710 | | **Json字段** | **字段含义** | **赋值及含义** | | 714 | | **Json字段** | **字段含义** | **赋值及含义** | |
| @@ -4920,6 +4924,34 @@ params:{}//可不填 | @@ -4920,6 +4924,34 @@ params:{}//可不填 | ||
| 4920 | } | 4924 | } |
| 4921 | ``` | 4925 | ``` |
| 4922 | 4926 | ||
| 4927 | +写 | ||
| 4928 | + | ||
| 4929 | +发送: | ||
| 4930 | + | ||
| 4931 | +fun: "writeBaseStationCapacity" //写基站容量 | ||
| 4932 | +baseId: 1//1~32 (必须指定基站) | ||
| 4933 | +params:{"keypadNumber":"60","lock":"1"}// | ||
| 4934 | + | ||
| 4935 | +| **Json字段** | **字段含义** | **赋值及含义** | | ||
| 4936 | +| --- | --- | --- | | ||
| 4937 | +|keypadNumber|基站容量|基站键盘容量| | ||
| 4938 | +|lock|是否锁定|现只支持设置1-锁定| | ||
| 4939 | + | ||
| 4940 | + | ||
| 4941 | +指令样例: | ||
| 4942 | +```json | ||
| 4943 | +{ | ||
| 4944 | + "fun": "writeBaseStationPairMode", | ||
| 4945 | + "baseId": 1, | ||
| 4946 | + "baseSn":"2023031402", | ||
| 4947 | + "params": { | ||
| 4948 | + "keypadNumber": "60", | ||
| 4949 | + "lock": "1" | ||
| 4950 | + }, | ||
| 4951 | + "packetTag": "1" | ||
| 4952 | +} | ||
| 4953 | +``` | ||
| 4954 | + | ||
| 4923 | 返回 | 4955 | 返回 |
| 4924 | 4956 | ||
| 4925 | 接收: | 4957 | 接收: |
| @@ -5536,7 +5568,7 @@ params:{} //数组对象,指定键盘需填 | @@ -5536,7 +5568,7 @@ params:{} //数组对象,指定键盘需填 | ||
| 5536 | 发送: | 5568 | 发送: |
| 5537 | fun: "addWhiteList" //追加键盘 | 5569 | fun: "addWhiteList" //追加键盘 |
| 5538 | params:{} //键盘sn | 5570 | params:{} //键盘sn |
| 5539 | -keySnList:[ "keySn":"2111120140"] //列表不能为空 | 5571 | +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空 |
| 5540 | 5572 | ||
| 5541 | 指令样例: | 5573 | 指令样例: |
| 5542 | 5574 | ||
| @@ -5585,8 +5617,7 @@ infos:{}// | @@ -5585,8 +5617,7 @@ infos:{}// | ||
| 5585 | 发送: | 5617 | 发送: |
| 5586 | fun: "delWhiteList" //踢出键盘,删除键盘 | 5618 | fun: "delWhiteList" //踢出键盘,删除键盘 |
| 5587 | params:{} //键盘sn | 5619 | params:{} //键盘sn |
| 5588 | -keySnList:[ "keySn":"2111120140"] //列表不能为空 | ||
| 5589 | - | 5620 | +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空 |
| 5590 | 5621 | ||
| 5591 | 指令样例: | 5622 | 指令样例: |
| 5592 | 5623 | ||
| @@ -6062,13 +6093,13 @@ infos:{"bic":"A455", "pid": "EA10"}// | @@ -6062,13 +6093,13 @@ infos:{"bic":"A455", "pid": "EA10"}// | ||
| 6062 | 写 | 6093 | 写 |
| 6063 | 6094 | ||
| 6064 | fun: "writeKeypadDevice" //写键盘外设,由led灯、蜂鸣器、马达组合 | 6095 | fun: "writeKeypadDevice" //写键盘外设,由led灯、蜂鸣器、马达组合 |
| 6096 | +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘 | ||
| 6065 | params:{} // | 6097 | params:{} // |
| 6066 | 6098 | ||
| 6067 | 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置 | 6099 | 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置 |
| 6068 | 6100 | ||
| 6069 | | **Json字段** | **字段含义** | **赋值及含义** | | 6101 | | **Json字段** | **字段含义** | **赋值及含义** | |
| 6070 | | --- | --- | --- | | 6102 | | --- | --- | --- | |
| 6071 | -| keySn | 键盘SN |空字符串,为所有在线键盘| | ||
| 6072 | | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)| | 6103 | | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)| |
| 6073 | | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)| | 6104 | | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)| |
| 6074 | | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)| | 6105 | | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)| |
| @@ -6627,11 +6658,11 @@ infos:{"value":"0"}//10秒 | @@ -6627,11 +6658,11 @@ infos:{"value":"0"}//10秒 | ||
| 6627 | 6658 | ||
| 6628 | 写 | 6659 | 写 |
| 6629 | fun: "writeKeyMessage" //写键盘短消息 | 6660 | fun: "writeKeyMessage" //写键盘短消息 |
| 6661 | +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘 | ||
| 6630 | params:{} // 数组对象,对象中的默认值为空字符串 | 6662 | params:{} // 数组对象,对象中的默认值为空字符串 |
| 6631 | 6663 | ||
| 6632 | | **Json字段** | **字段含义** | **赋值及含义** | | 6664 | | **Json字段** | **字段含义** | **赋值及含义** | |
| 6633 | | --- | --- | --- | | 6665 | | --- | --- | --- | |
| 6634 | -|keySn|键盘SN|空字符串,为所有在线键盘| | ||
| 6635 | |txt|短消息内容|字符串最长40字节[20汉字]| | 6666 | |txt|短消息内容|字符串最长40字节[20汉字]| |
| 6636 | 6667 | ||
| 6637 | 6668 | ||
| @@ -6887,7 +6918,6 @@ infos:{}// | @@ -6887,7 +6918,6 @@ infos:{}// | ||
| 6887 | 6918 | ||
| 6888 | | **Json字段** | **字段含义** | **赋值及含义** | | 6919 | | **Json字段** | **字段含义** | **赋值及含义** | |
| 6889 | | --- | --- | --- | | 6920 | | --- | --- | --- | |
| 6890 | -|keySn|键盘SN|| | ||
| 6891 | |state|返回信息|OK(成功)| | 6921 | |state|返回信息|OK(成功)| |
| 6892 | 6922 | ||
| 6893 | 6923 |
通讯协议-教育新版-基站部分.md
| @@ -2093,7 +2093,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 | @@ -2093,7 +2093,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 | ||
| 2093 | | 1 | BASECMD | 0xE1 基站管理类指令 | | 2093 | | 1 | BASECMD | 0xE1 基站管理类指令 | |
| 2094 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | | 2094 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
| 2095 | | 3 | CMDTYPE | 基站管理命令类型<br>22 基站下载多包 | | 2095 | | 3 | CMDTYPE | 基站管理命令类型<br>22 基站下载多包 | |
| 2096 | -| 4 | MODE | 1 进入或退出下载状态 | | 2096 | +| 4 | MODE | 1 进入或退出下载状态 <br><font color="#FF0000"> 31后台静默升级| |
| 2097 | | 5 | ID/SN | 1:2字节ID模式; <br>2:4字节SN; <br>3:6字节SN模式 | | 2097 | | 5 | ID/SN | 1:2字节ID模式; <br>2:4字节SN; <br>3:6字节SN模式 | |
| 2098 | | 6 | ~~NC~~ || | 2098 | | 6 | ~~NC~~ || |
| 2099 | | 7 | DCMD | 模式 1进入下载 0退出下载 | | 2099 | | 7 | DCMD | 模式 1进入下载 0退出下载 | |
| @@ -2142,7 +2142,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 | @@ -2142,7 +2142,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 | ||
| 2142 | | 1 | BASECMD | 0x61 基站管理类指令 | | 2142 | | 1 | BASECMD | 0x61 基站管理类指令 | |
| 2143 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | | 2143 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
| 2144 | | 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | 2144 | | 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | |
| 2145 | -| 4 | DOWNCMD | 4 下载具体数据--16字节 <br>6 下载具体数据—512字节每片段 <br>7 下载具体数据---64字节(48字节有效,区别于4类型的16字节有效) 10 基站问64字节包(根据代码补充)<br>11 基站问512字节包(根据代码补充) <br><font color="#FF0000">32 后台静默升级基站问64字节包(根据代码补充)等于普通模式的10 <br>33 后台静默升级 载具体数据---64字节 等于普通模式7| | 2145 | +| 4 | DOWNCMD | 4 下载具体数据--16字节 <br>6 下载具体数据—512字节每片段 <br>7 下载具体数据---64字节(48字节有效,区别于4类型的16字节有效) 10 基站问64字节包(根据代码补充)<br>11 基站问512字节包(根据代码补充) <br><font color="#FF0000">37 后台静默升级;sdk向基站发送固件数据(相当于普通模式下7)| |
| 2146 | | 5 | DOWNTYPE | 多包类型<br>30 短信广播信息(SDK组包模式) | | 2146 | | 5 | DOWNTYPE | 多包类型<br>30 短信广播信息(SDK组包模式) | |
| 2147 | | 6 | DOWNID | 数据包标识码(DOWNTYPE=30时,是总包数)<br>文件下载模式时候是最高位地址 V4.52<br>由于非文件下载模式PACKH加上PACKL,只能下载65536字节,文件下载模式为支持大文件,用DOWNID作为高位地址,可以下载16384K字节 | | 2147 | | 6 | DOWNID | 数据包标识码(DOWNTYPE=30时,是总包数)<br>文件下载模式时候是最高位地址 V4.52<br>由于非文件下载模式PACKH加上PACKL,只能下载65536字节,文件下载模式为支持大文件,用DOWNID作为高位地址,可以下载16384K字节 | |
| 2148 | | 7 | PACKH | 数据段编号,0-255 | | 2148 | | 7 | PACKH | 数据段编号,0-255 | |
| @@ -2158,7 +2158,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 | @@ -2158,7 +2158,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 | ||
| 2158 | | 1 | BASECMD | 0xE1 基站管理类指令 | | 2158 | | 1 | BASECMD | 0xE1 基站管理类指令 | |
| 2159 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | | 2159 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
| 2160 | | 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | 2160 | | 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | |
| 2161 | -| 4 | MODE | 4下载具体数据的应答或请求具体数据<br>6 下载具体数据的应答或请求传输—512字节每片段<br>7 下载具体数据(48字节有效) | | 2161 | +| 4 | MODE | 4下载具体数据的应答或请求具体数据<br>6 下载具体数据的应答或请求传输—512字节每片段<br>7 下载具体数据(48字节有效)<br><font color="#FF0000">37 后台静默升级; | |
| 2162 | | 5 | DOWNTYPE | 多包类型 | | 2162 | | 5 | DOWNTYPE | 多包类型 | |
| 2163 | | 6 | DOWNID | 数据包标识码<br>文件下载模式时候是最高位地址 V4.52<br>由于非文件下载模式PACKH加上PACKL,只能下载65536字节,文件下载模式为支持大文件,用DOWNID作为高位地址,可以下载16384K字节 | | 2163 | | 6 | DOWNID | 数据包标识码<br>文件下载模式时候是最高位地址 V4.52<br>由于非文件下载模式PACKH加上PACKL,只能下载65536字节,文件下载模式为支持大文件,用DOWNID作为高位地址,可以下载16384K字节 | |
| 2164 | | 7 | PACKH | 数据段编号,0-255 | | 2164 | | 7 | PACKH | 数据段编号,0-255 | |
| @@ -2202,12 +2202,13 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 | @@ -2202,12 +2202,13 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 | ||
| 2202 | | 1 | BASECMD | 0xE1 基站管理类指令 | | 2202 | | 1 | BASECMD | 0xE1 基站管理类指令 | |
| 2203 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | | 2203 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
| 2204 | | 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | | 2204 | | 3 | CMDTYPE | 基站管理命令类型<br>22基站下载多包 | |
| 2205 | -| 4 | MODE | 6 上报状态<br>9 上报状态,告诉sdk,底层键盘固件升级完成<br>10 向sdk请求(索要)数据包(数据包以1K为单位)byte6之后的数据无效 | | 2205 | +| 4 | MODE | 6 上报状态<br>9 上报状态,告诉sdk,底层键盘固件升级完成<br>10 向sdk请求(索要)数据包(数据包以1K为单位)byte6之后的数据无效 <br><font color="#FF0000"> 39 后台静默升级 上报状态(相当于普通模式下的9) <br><font color="#FF0000"> 38 后台静默升级 向sdk请求(索要)数据包(数据包以1K为单位)(相当于普通模式下的10) | |
| 2206 | | 5 | PACKH | 数据段编号,0-255<br>申请的数据包号PACK\_H | | 2206 | | 5 | PACKH | 数据段编号,0-255<br>申请的数据包号PACK\_H | |
| 2207 | | 6 | PACKL | 数据片编号, 0-15<br>申请的数据包号PACK\_L | | 2207 | | 6 | PACKL | 数据片编号, 0-15<br>申请的数据包号PACK\_L | |
| 2208 | | 7 | Update status | 2-失败;(包括通知键盘进入下载和数据块下载失败;)<br>1-全部完成,电脑可以下一个流程(包括本次256字节成功、键盘进入下载、键盘退出下载) | | 2208 | | 7 | Update status | 2-失败;(包括通知键盘进入下载和数据块下载失败;)<br>1-全部完成,电脑可以下一个流程(包括本次256字节成功、键盘进入下载、键盘退出下载) | |
| 2209 | | 8-13 | Keypad ID/SN | ID/SN 号,固定6字节, 高位在前 | | 2209 | | 8-13 | Keypad ID/SN | ID/SN 号,固定6字节, 高位在前 | |
| 2210 | -| 14-24 | NC | 参数无意义 | | 2210 | +| 14 | HW |键盘硬件版本 | |
| 2211 | +| 15-24 | NC | 参数无意义 | | ||
| 2211 | 2212 | ||
| 2212 | 电脑确认: | 2213 | 电脑确认: |
| 2213 | 2214 | ||
| @@ -2746,11 +2747,13 @@ step3:sdk询问 数据是否接收正确;基站回复,如果不正确 sdk重 | @@ -2746,11 +2747,13 @@ step3:sdk询问 数据是否接收正确;基站回复,如果不正确 sdk重 | ||
| 2746 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | | 2747 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
| 2747 | | 3 | CMDTYPE | 基站管理命令类型41 sdk下载多包 | | 2748 | | 3 | CMDTYPE | 基站管理命令类型41 sdk下载多包 | |
| 2748 | | 4 | type | 1 要下载的数据信息 | | 2749 | | 4 | type | 1 要下载的数据信息 | |
| 2749 | -| 5 | DATA-type | 1:基站固件升级 <br>2:键盘固件升级; <br>3:快速下发; <br>4:广播 | | 2750 | +| 5 | DATA-type | 1:基站固件升级 <br>2:键盘固件升级; <br>3:快速下发; <br>4:广播 <br><font color="#FF0000">32:后台静默升级键盘固件;| |
| 2750 | | 6-9 | DATA_total| 数据总字节数 高位在前 | | 2751 | | 6-9 | DATA_total| 数据总字节数 高位在前 | |
| 2751 | | 10-11 | DATA crc | 数据crc 高位在前| | 2752 | | 10-11 | DATA crc | 数据crc 高位在前| |
| 2752 | | 12-13 | byte per PACK |高位在前 每包数据最大字节长度:64... | | 2753 | | 12-13 | byte per PACK |高位在前 每包数据最大字节长度:64... | |
| 2753 | | other | default | | | 2754 | | other | default | | |
| 2755 | + | ||
| 2756 | + | ||
| 2754 | 基站应答: | 2757 | 基站应答: |
| 2755 | | **字节** | **标识符** | **描述** | | 2758 | | **字节** | **标识符** | **描述** | |
| 2756 | | --- | --- | --- | | 2759 | | --- | --- | --- | |
| @@ -2773,11 +2776,12 @@ step3:sdk询问 数据是否接收正确;基站回复,如果不正确 sdk重 | @@ -2773,11 +2776,12 @@ step3:sdk询问 数据是否接收正确;基站回复,如果不正确 sdk重 | ||
| 2773 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | | 2776 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
| 2774 | | 3 | CMDTYPE | 基站管理命令类型41 sdk下载多包 | | 2777 | | 3 | CMDTYPE | 基站管理命令类型41 sdk下载多包 | |
| 2775 | | 4 | type | 2 询问基站 | | 2778 | | 4 | type | 2 询问基站 | |
| 2776 | -| 5 | DATA-type | 1:基站固件升级 <br>2:键盘固件升级; <br>3:快速下发; <br>4:广播 | | 2779 | +| 5 | DATA-type | 1:基站固件升级 <br>2:键盘固件升级; <br>3:快速下发; <br>4:广播 <br><font color="#FF0000">32:后台静默升级键盘固件;| |
| 2777 | | 6-9 | DATA_total| 数据总字节数 高位在前| | 2780 | | 6-9 | DATA_total| 数据总字节数 高位在前| |
| 2778 | | 10-11 | DATA crc | 数据crc 高位在前| | 2781 | | 10-11 | DATA crc | 数据crc 高位在前| |
| 2779 | | 12-13 | byte per PACK |高位在前 每包数据最大字节长度:64 | | 2782 | | 12-13 | byte per PACK |高位在前 每包数据最大字节长度:64 | |
| 2780 | | other | default | | | 2783 | | other | default | | |
| 2784 | + | ||
| 2781 | 基站应答: | 2785 | 基站应答: |
| 2782 | | **字节** | **标识符** | **描述** | | 2786 | | **字节** | **标识符** | **描述** | |
| 2783 | | --- | --- | --- | | 2787 | | --- | --- | --- | |