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 | | --- | --- | --- | |