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 | 13 | background-color: yellow; |
14 | 14 | } |
15 | 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 | 68 | [TOC] |
17 | 69 | |
18 | -# SunVote B200W_MQTT 接口协议 | |
70 | +# SunVote B200W MQTT通讯协议 | |
19 | 71 | |
20 | 72 | # 功能说明 |
21 | 73 | |
... | ... | @@ -53,7 +105,7 @@ |
53 | 105 | |fEvtXXX|指令事件 |调用对应指令后返回| |
54 | 106 | |
55 | 107 | ## 数据格式约定 |
56 | -- 数据格式统一为**Json**格式,MQTT发送接收消息编码统一为**UTF-8** | |
108 | +- 数据格式统一为**Json**格式,发送接收消息编码统一为**UTF-8** | |
57 | 109 | - Json通用格式如下: |
58 | 110 | |
59 | 111 | ```json |
... | ... | @@ -115,6 +167,7 @@ |
115 | 167 | ||设置刷卡配对状态|[setBsNfcLogin](#setbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)|| |
116 | 168 | |组网设置 - 工作信道|获取基站工作信道|[getBsChannel](#getbschannel)|[fEvtBsChannel](#fevtbschannel)| |
117 | 169 | ||设置基站工作信道|[setBsChannel](#setbschannel)|[fEvtBsChannel](#fevtbschannel)|| |
170 | +||读取已被占用信道|[getBsRFIChannel](#getbsrfichannel)|[fEvtBsRFIChannel](#fevtbsrfichannel)|| | |
118 | 171 | |登录设置 - 登录名称|获取基站登录名称|[getBsSSID](#getbsssid)|[fEvtBsSSID](#fevtbsssid)| |
119 | 172 | ||设置基站登录名称|[setBsSSID](#setbsssid)|[fEvtBsSSID](#fevtbsssid)|| |
120 | 173 | |登录设置 - 登录密码|获取基站登录密码|[getBsLoginPwd](#getbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)| |
... | ... | @@ -190,7 +243,7 @@ |
190 | 243 | |抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAQuicker](#fevtqaquicker)| |
191 | 244 | ||停止抢答题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| |
192 | 245 | |待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)<br>[sEvtKpRtFeedback](#sevtkprtfeedback)<br>[sEvtKpHandUp](#sevtkphandup)| |
193 | -||设置待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)| | |
246 | +||获取待机实时反馈状态|[getKpStbResponse](#getkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)| | |
194 | 247 | ### 在线测验 |
195 | 248 | |功能归类|功能|API指令|指令事件| |
196 | 249 | |---|---|---|---| |
... | ... | @@ -472,7 +525,7 @@ |
472 | 525 | 参见基站连接变化系统通知 |
473 | 526 | |
474 | 527 | ##### fEvtBsOnlineState |
475 | -- **主题**: <span class="yellowFill">/basestation/mutilBase/receive</span> | |
528 | +- **主题**: <span class="yellowFill">/basestation/multiBase/receive</span> | |
476 | 529 | - **功能描述**:基站在线返回基站型号和基站SN |
477 | 530 | - **参数说明** |
478 | 531 | |
... | ... | @@ -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 | 954 | ##### fEvtBsNetworkMode |
883 | 955 | - **主题**: /basestation/\${baseSN}/receive |
... | ... | @@ -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 | 1054 | ##### fEvtBsNfcLogin |
950 | 1055 | - **主题**: /basestation/\${baseSN}/receive |
951 | 1056 | - **功能描述**:返回基站是否允许NFC刷卡 |
... | ... | @@ -1037,7 +1142,7 @@ |
1037 | 1142 | |fun|string|-|是|指令名称| |
1038 | 1143 | |dataTag|string|-|否|数据包标识,可为空字符串| |
1039 | 1144 | |data|object|-|是|传送参数的对象| |
1040 | -|+value|string||是|设置的基站登录密码,数字类型,为空代表无需密码登录,最长4位| | |
1145 | +|+value|string||是|设置的基站登录密码,数字类型,最长4位,为空或设为0代表无需密码登录| | |
1041 | 1146 | |
1042 | 1147 | - **示例代码** |
1043 | 1148 | ```json |
... | ... | @@ -1123,7 +1228,7 @@ |
1123 | 1228 | |fun|string|-|是|事件名称| |
1124 | 1229 | |dataTag|string|-|否|数据包标识,可传空字符串| |
1125 | 1230 | |data|object|-|是|传送参数的对象| |
1126 | -|+value|string||是|基站登录密码| | |
1231 | +|+value|string||是|基站登录密码,返回值为0代表无需密码登录| | |
1127 | 1232 | |
1128 | 1233 | - **示例代码** |
1129 | 1234 | ```json |
... | ... | @@ -1134,6 +1239,15 @@ |
1134 | 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 | 1252 | ##### fEvtBsLoginState |
1139 | 1253 | - **主题**: /basestation/\${baseSN}/receive |
... | ... | @@ -1806,7 +1920,7 @@ |
1806 | 1920 | |+port|int||是|端口,默认1883| |
1807 | 1921 | |+userName|string||否|连接服务器的用户名,可不设置| |
1808 | 1922 | |+password|string||否|连接服务器的密码,可不设置| |
1809 | -|+interval|int|>=60|否|基站连接服务器失败后重连的间隔时长,单位秒| | |
1923 | +|+interval|int|>=30|否|基站连接服务器失败后重连的间隔时长,单位秒| | |
1810 | 1924 | |
1811 | 1925 | - **示例代码** |
1812 | 1926 | ```json |
... | ... | @@ -1818,7 +1932,7 @@ |
1818 | 1932 | "port":1883, |
1819 | 1933 | "userName":"", |
1820 | 1934 | "password":"", |
1821 | - "interval":60 | |
1935 | + "interval":30 | |
1822 | 1936 | } |
1823 | 1937 | } |
1824 | 1938 | ``` |
... | ... | @@ -2083,7 +2197,7 @@ |
2083 | 2197 | |dataTag|string|-|否|数据包标识,可为空字符串| |
2084 | 2198 | |data|array|-|是|传送参数的对象数组| |
2085 | 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 | 2203 | ```json |
... | ... | @@ -2093,19 +2207,19 @@ |
2093 | 2207 | "data":[ |
2094 | 2208 | { |
2095 | 2209 | "name":"MCU", |
2096 | - "state":1 | |
2210 | + "state":0 | |
2097 | 2211 | }, |
2098 | 2212 | { |
2099 | 2213 | "name":"RF", |
2100 | - "state":1 | |
2214 | + "state":0 | |
2101 | 2215 | }, |
2102 | 2216 | { |
2103 | 2217 | "name":"FLASH", |
2104 | - "state":1 | |
2218 | + "state":0 | |
2105 | 2219 | }, |
2106 | 2220 | { |
2107 | 2221 | "name":"EEPROM", |
2108 | - "state":1 | |
2222 | + "state":0 | |
2109 | 2223 | } |
2110 | 2224 | ] |
2111 | 2225 | } |
... | ... | @@ -2406,7 +2520,7 @@ |
2406 | 2520 | |dataTag|string|-|否|数据包标识,可为空字符串| |
2407 | 2521 | |data|object|-|是|传送参数的对象| |
2408 | 2522 | |+keySn|string||是|设置键盘id的键盘SN| |
2409 | -|+keyId|int||是|键盘编号| | |
2523 | +|+state|string||是|设置是否成功<br>0-设置成功<br>1-设置失败| | |
2410 | 2524 | |
2411 | 2525 | - **示例代码** |
2412 | 2526 | ```json |
... | ... | @@ -2415,7 +2529,7 @@ |
2415 | 2529 | "dataTag":"1", |
2416 | 2530 | "data":{ |
2417 | 2531 | "keySn":"2024021011", |
2418 | - "keyId":11 | |
2532 | + "state":"0" | |
2419 | 2533 | } |
2420 | 2534 | } |
2421 | 2535 | ``` |
... | ... | @@ -3084,7 +3198,7 @@ |
3084 | 3198 | "dataTag":"1", |
3085 | 3199 | "data": { |
3086 | 3200 | "keySn":"1479824643", |
3087 | - "state":"1" | |
3201 | + "state":"0" | |
3088 | 3202 | } |
3089 | 3203 | } |
3090 | 3204 | ``` |
... | ... | @@ -3515,7 +3629,7 @@ |
3515 | 3629 | |
3516 | 3630 | - **示例代码** |
3517 | 3631 | ```json |
3518 | -//启用举手反馈 | |
3632 | +//获取实时反馈状态 | |
3519 | 3633 | { |
3520 | 3634 | "fun":"getKpStbResponse", |
3521 | 3635 | "dataTag":"1" |
... | ... | @@ -3580,11 +3694,10 @@ |
3580 | 3694 | |+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| |
3581 | 3695 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| |
3582 | 3696 | |+questions|array||是|题目详情| |
3583 | -|++symbol | string||是 | 题号前缀,分级标识为-,可为空,为空表示1级大题<br><font color="red">最多为三级题号,即最多可以设为x-x-</font>| | |
3584 | 3697 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
3585 | 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 | 3701 | |+simParams|object||否|内部模拟测试参数设置对象| |
3589 | 3702 | |++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]| |
3590 | 3703 | |
... | ... | @@ -3597,10 +3710,10 @@ |
3597 | 3710 | "dataTag":"1", |
3598 | 3711 | "data":{ |
3599 | 3712 | "mode": 1, |
3600 | - "examNo": 1, | |
3713 | + "examNo": 0, | |
3601 | 3714 | "questions": [{ |
3602 | 3715 | "quesType": 1, //单选题 |
3603 | - "startNo": 1, //题号从1开始 | |
3716 | + "startNo": "1", //题号从1开始 | |
3604 | 3717 | "count":10 //连续10题 |
3605 | 3718 | }], |
3606 | 3719 | "simParams":{ |
... | ... | @@ -3617,24 +3730,24 @@ |
3617 | 3730 | "dataTag":"1", |
3618 | 3731 | "data":{ |
3619 | 3732 | "mode": 0, |
3620 | - "examNo": 1, | |
3733 | + "examNo": 0, | |
3621 | 3734 | //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题 |
3622 | 3735 | "questions": [{ |
3623 | 3736 | "quesType": 1, //单选题 |
3624 | - "startNo": 1, //题号从1开始 | |
3737 | + "startNo": "1", //题号从1开始 | |
3625 | 3738 | "count":2 //连续2题 |
3626 | 3739 | },{ |
3627 | 3740 | "quesType": 2, //多选题 |
3628 | - "startNo": 3, //题号从3开始 | |
3741 | + "startNo": "3", //题号从3开始 | |
3629 | 3742 | "count":2, //连续2题 |
3630 | 3743 | "option":5 |
3631 | 3744 | },{ |
3632 | 3745 | "quesType": 1, //数字题 |
3633 | - "startNo": 5, //题号从5开始 | |
3746 | + "startNo": "5", //题号从5开始 | |
3634 | 3747 | "count":1 //连续1题 |
3635 | 3748 | },{ |
3636 | 3749 | "quesType": 4, //判断题 |
3637 | - "startNo": 6, //题号从6开始 | |
3750 | + "startNo": "6", //题号从6开始 | |
3638 | 3751 | "count":1 //连续1题 |
3639 | 3752 | }], |
3640 | 3753 | "simParams":{ |
... | ... | @@ -3651,28 +3764,24 @@ |
3651 | 3764 | "dataTag":"1", |
3652 | 3765 | "data":{ |
3653 | 3766 | "mode": 0, |
3654 | - "examNo": 1, | |
3767 | + "examNo": 0, | |
3655 | 3768 | //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题 |
3656 | - "questions": [{ | |
3657 | - "symbol": "1-", | |
3769 | + "questions": [{ | |
3658 | 3770 | "quesType": 1, //单选题 |
3659 | - "startNo": 1, //题号从1-1开始 | |
3771 | + "startNo": "1-1", //题号从1-1开始 | |
3660 | 3772 | "count":2 //连续2题 |
3661 | 3773 | },{ |
3662 | - "symbol": "2-", | |
3663 | 3774 | "quesType": 2, //多选题 |
3664 | - "startNo": 1, //题号从2-1开始 | |
3775 | + "startNo":"2-1", //题号从2-1开始 | |
3665 | 3776 | "count":2, //连续2题 |
3666 | 3777 | "option":5 |
3667 | 3778 | },{ |
3668 | - "symbol": "3-", | |
3669 | 3779 | "quesType": 3, //数字题 |
3670 | - "startNo": 1, //题号从3-1开始 | |
3780 | + "startNo":"3-1", //题号从3-1开始 | |
3671 | 3781 | "count":1 //连续1题 |
3672 | 3782 | },{ |
3673 | - "symbol": "4-", | |
3674 | 3783 | "quesType": 4, //判断题 |
3675 | - "startNo": 1, //题号从4-1开始 | |
3784 | + "startNo": "4-1", //题号从4-1开始 | |
3676 | 3785 | "count":1 //连续1题 |
3677 | 3786 | }], |
3678 | 3787 | "simParams":{ |
... | ... | @@ -3689,28 +3798,24 @@ |
3689 | 3798 | "dataTag":"1", |
3690 | 3799 | "data":{ |
3691 | 3800 | "mode": 0, |
3692 | - "examNo": 1, | |
3801 | + "examNo": 0, | |
3693 | 3802 | //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题 |
3694 | 3803 | "questions": [{ |
3695 | - "symbol": "1-1-", | |
3696 | 3804 | "quesType": 1, //单选题 |
3697 | - "startNo": 1, //题号从1-1-1开始 | |
3805 | + "startNo": "1-1-1", //题号从1-1-1开始 | |
3698 | 3806 | "count":2 //连续2题 |
3699 | 3807 | },{ |
3700 | - "symbol": "1-2-", | |
3701 | 3808 | "quesType": 2, //多选题 |
3702 | - "startNo": 1, //题号从1-2-1开始 | |
3809 | + "startNo": "1-2-1", //题号从1-2-1开始 | |
3703 | 3810 | "count":2, //连续2题 |
3704 | 3811 | "option":5 |
3705 | 3812 | },{ |
3706 | - "symbol": "2-1-", | |
3707 | 3813 | "quesType": 3, //数字题 |
3708 | - "startNo": 1, //题号从2-1-1开始 | |
3814 | + "startNo": "2-1-1", //题号从2-1-1开始 | |
3709 | 3815 | "count":1 //连续1题 |
3710 | 3816 | },{ |
3711 | - "symbol": "3-1-", | |
3712 | 3817 | "quesType": 4, //判断题 |
3713 | - "startNo": 1, //题号从3-1-1开始 | |
3818 | + "startNo": "3-1-1", //题号从3-1-1开始 | |
3714 | 3819 | "count":1 //连续1题 |
3715 | 3820 | }], |
3716 | 3821 | "simParams":{ |
... | ... | @@ -3727,23 +3832,23 @@ |
3727 | 3832 | "dataTag":"1", |
3728 | 3833 | "data":{ |
3729 | 3834 | "mode": 1, |
3730 | - "examNo": 1, | |
3835 | + "examNo": 0, | |
3731 | 3836 | "questions": [{ |
3732 | 3837 | "quesType": 1, //单选题 |
3733 | - "startNo": 1, //题号从1开始 | |
3838 | + "startNo": "1", //题号从1开始 | |
3734 | 3839 | "count":2 //连续2题 |
3735 | 3840 | },{ |
3736 | 3841 | "quesType": 2, //多选题 |
3737 | - "startNo": 3, //题号从3开始 | |
3842 | + "startNo": "3", //题号从3开始 | |
3738 | 3843 | "count":2, //连续2题 |
3739 | 3844 | "option":5 |
3740 | 3845 | },{ |
3741 | 3846 | "quesType": 1, //数字题 |
3742 | - "startNo": 5, //题号从5开始 | |
3847 | + "startNo": "5", //题号从5开始 | |
3743 | 3848 | "count":1 //连续1题 |
3744 | 3849 | },{ |
3745 | 3850 | "quesType": 4, //判断题 |
3746 | - "startNo": 6, //题号从6开始 | |
3851 | + "startNo": "6", //题号从6开始 | |
3747 | 3852 | "count":1 //连续1题 |
3748 | 3853 | }], |
3749 | 3854 | "simParams":{ |
... | ... | @@ -3760,23 +3865,23 @@ |
3760 | 3865 | "dataTag":"1", |
3761 | 3866 | "data":{ |
3762 | 3867 | "mode": 2, |
3763 | - "examNo": 1, | |
3764 | - "questions": [{ | |
3868 | + "examNo": 0, | |
3869 | + "questions": [{ | |
3765 | 3870 | "quesType": 1, //单选题 |
3766 | - "startNo": 1, //题号从1开始 | |
3871 | + "startNo": "1", //题号从1开始 | |
3767 | 3872 | "count":2 //连续2题 |
3768 | 3873 | },{ |
3769 | 3874 | "quesType": 2, //多选题 |
3770 | - "startNo": 3, //题号从3开始 | |
3875 | + "startNo": "3", //题号从3开始 | |
3771 | 3876 | "count":2, //连续2题 |
3772 | 3877 | "option":5 |
3773 | 3878 | },{ |
3774 | 3879 | "quesType": 1, //数字题 |
3775 | - "startNo": 5, //题号从5开始 | |
3880 | + "startNo": "5", //题号从5开始 | |
3776 | 3881 | "count":1 //连续1题 |
3777 | 3882 | },{ |
3778 | 3883 | "quesType": 4, //判断题 |
3779 | - "startNo": 6, //题号从6开始 | |
3884 | + "startNo": "6", //题号从6开始 | |
3780 | 3885 | "count":1 //连续1题 |
3781 | 3886 | }], |
3782 | 3887 | "simParams":{ |
... | ... | @@ -3931,11 +4036,10 @@ |
3931 | 4036 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| |
3932 | 4037 | |+questions|array||是|题目详情| |
3933 | 4038 | |++subject | int||是 | 科目序号,1-9,对应键盘中内置的科目1-9<br>键盘答题时可选择科目切换答题| |
3934 | -|++symbol | string||是 | 题号前缀,分级标识为-,可为空,为空表示1级题目<br><font color="red">多科测验题目编号最多只能两级(即symbol可设置为空或x-),超出无效</font>| | |
3935 | 4039 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
3936 | 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 | 4043 | |+simParams|object||否|内部模拟测试参数设置对象| |
3940 | 4044 | |++answer|array||是|预设提交的按键值<br>格式为"单选题答案,多选题答案;<br>数字题答案;判断题答案(1对2错)"<br>如["A","ABCD","10","1"]| |
3941 | 4045 | |
... | ... | @@ -3951,30 +4055,27 @@ |
3951 | 4055 | "questions": [{ |
3952 | 4056 | "subject":1, //科目1 |
3953 | 4057 | //题号1-1 到1-10 共10题单选 |
3954 | - "symbol": "1-", | |
3955 | 4058 | "quesType": 1, |
3956 | - "startNo": 1, | |
4059 | + "startNo": "1-1", | |
3957 | 4060 | "count":10 |
3958 | 4061 | }, { |
3959 | 4062 | "subject":2, //科目2 |
3960 | 4063 | //题号2-2和2-3共两题 多选题,5个选项 |
3961 | - "symbol": "2-", | |
3962 | 4064 | "quesType": 2, |
3963 | 4065 | "option": 5, |
3964 | - "startNo": 2, | |
4066 | + "startNo": "2-2", | |
3965 | 4067 | "count":2 |
3966 | 4068 | }, { |
3967 | 4069 | "subject":3, //科目3 |
3968 | 4070 | //题号3-1和3-2共两道数字题 |
3969 | - "symbol": "3-", | |
3970 | 4071 | "quesType": 3, |
3971 | - "startNo": 1, | |
4072 | + "startNo": "3-1", | |
3972 | 4073 | "count":2 |
3973 | 4074 | }, { |
3974 | 4075 | "subject":1, //科目1 |
3975 | 4076 | //题号4和5 ,判断题 |
3976 | 4077 | "quesType": 4, |
3977 | - "startNo": 4, | |
4078 | + "startNo": "4", | |
3978 | 4079 | "count":2 |
3979 | 4080 | }], |
3980 | 4081 | "simParams":{ |
... | ... | @@ -3994,7 +4095,7 @@ |
3994 | 4095 | "subject":1, |
3995 | 4096 | //Q1-Q20,单选题 |
3996 | 4097 | "quesType": 1, |
3997 | - "startNo": 1, | |
4098 | + "startNo": "1", | |
3998 | 4099 | "count":20 |
3999 | 4100 | }], |
4000 | 4101 | "simParams":{ |
... | ... | @@ -4014,7 +4115,7 @@ |
4014 | 4115 | "subject":1, |
4015 | 4116 | //题1-题20,单选题 |
4016 | 4117 | "quesType": 1, |
4017 | - "startNo": 1, | |
4118 | + "startNo": "1", | |
4018 | 4119 | "count":20 |
4019 | 4120 | }], |
4020 | 4121 | "simParams":{ |
... | ... | @@ -4058,7 +4159,7 @@ |
4058 | 4159 | #### 方法 |
4059 | 4160 | ##### startKpScoreInput |
4060 | 4161 | - **主题**:/client/\${baseSN}/send |
4061 | -- **功能描述**:启动标准测验 | |
4162 | +- **功能描述**:启动自主录分 | |
4062 | 4163 | - **参数说明** |
4063 | 4164 | |
4064 | 4165 | |参数名|类型|限制|是否必填|说明| |
... | ... | @@ -4071,8 +4172,8 @@ |
4071 | 4172 | |+questions|array||是|题目详情| |
4072 | 4173 | |++max |int||是|可输入的最大值,<=100| |
4073 | 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 | 4179 | ```json |
... | ... | @@ -4086,13 +4187,13 @@ |
4086 | 4187 | //题号1 到 2 共2题,单题满分10分 |
4087 | 4188 | "max":10, |
4088 | 4189 | "digits":1, |
4089 | - "startNo": 1, | |
4190 | + "startNo": "1", | |
4090 | 4191 | "count":2 |
4091 | 4192 | }, { |
4092 | 4193 | //题号3到6 共4道题,单题满分5 |
4093 | 4194 | "max":5, |
4094 | 4195 | "digits":0, |
4095 | - "startNo": 3, | |
4196 | + "startNo": "3", | |
4096 | 4197 | "count":4 |
4097 | 4198 | }] |
4098 | 4199 | } | ... | ... |
通讯协议-B200W-MQTT协议[外].md
... | ... | @@ -13,10 +13,61 @@ |
13 | 13 | background-color: yellow; |
14 | 14 | } |
15 | 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 | 68 | [TOC] |
19 | 69 | |
70 | +# SunVote B200W MQTT通讯协议 | |
20 | 71 | # 功能说明 |
21 | 72 | |
22 | 73 | ## 主题说明 |
... | ... | @@ -47,8 +98,9 @@ |
47 | 98 | |fEvtXXX|指令事件 |调用对应指令后返回| |
48 | 99 | |
49 | 100 | ## 数据格式约定 |
50 | -- 数据格式统一为**Json**格式,MQTT发送接收消息编码统一为**UTF-8** | |
101 | +- 数据格式统一为**Json**格式,发送接收消息编码统一为**UTF-8** | |
51 | 102 | - Json通用格式如下: |
103 | + | |
52 | 104 | ```json |
53 | 105 | { |
54 | 106 | "fun":"xxx", |
... | ... | @@ -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 | 142 | |功能归类|功能|API指令|指令/系统事件| |
74 | 143 | |---|---|---|---| |
... | ... | @@ -79,15 +148,19 @@ |
79 | 148 | |键盘上线通知|单个键盘上线系统通知|-|[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)|| |
80 | 149 | |识别设置 - 基站型号|读取基站型号|[getBsModel](#getbsmodel)|[fEvtBsModel](#fevtbsmodel)| |
81 | 150 | |识别设置 - 固件版本|获取基站固件版本|[getBsFWVersion](#getbsfwversion)|[fEvtBsFWVersion](#fevtbsfwversion)| |
151 | +|组网设置 - 组网模式|获取基站组网模式|[getBsNetworkMode](#getbsnetworkmode)|[fEvtBsNetworkMode](#fevtbsnetworkmode)| | |
82 | 152 | |组网设置 - 配对码|获取基站配对码|[getBsPairCode](#getbspaircode)|[fEvtBsPairCode](#fevtbspaircode)| |
83 | 153 | |组网设置 - 刷卡配对状态|获取刷卡配对状态|[getBsNfcLogin](#getbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)| |
84 | 154 | ||设置刷卡配对状态|[setBsNfcLogin](#setbsnfclogin)|[fEvtBsNfcLogin](#fevtbsnfclogin)|| |
85 | 155 | |组网设置 - 工作信道|获取基站工作信道|[getBsChannel](#getbschannel)|[fEvtBsChannel](#fevtbschannel)| |
86 | 156 | ||设置基站工作信道|[setBsChannel](#setbschannel)|[fEvtBsChannel](#fevtbschannel)|| |
157 | +||读取已被占用信道|[getBsRFIChannel](#getbsrfichannel)|[fEvtBsRFIChannel](#fevtbsrfichannel)|| | |
87 | 158 | |登录设置 - 登录名称|获取基站登录名称|[getBsSSID](#getbsssid)|[fEvtBsSSID](#fevtbsssid)| |
88 | 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 | 164 | |配对模式 - 快速配对|启动基站快速配对|[startBsFastPair](#startbsfastpair)|[sEvtStateCode](#sevtstatecode)<br>[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)| |
92 | 165 | ||停止基站快速配对|[stopBsFastPair](#stopbsfastpair)|[sEvtStateCode](#sevtstatecode)| |
93 | 166 | |白名单模式 - 白名单管理|获取白名单|[getBsWhitelist](#getbswhitelist)|[fEvtBsWhitelist](#fevtbswhitelist)| |
... | ... | @@ -95,6 +168,8 @@ |
95 | 168 | ||清空白名单|[clearBsWhitelist](#clearbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
96 | 169 | ||增加白名单|[addBsWhitelist](#addbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtAddBsWhitelist](#fevtaddbswhitelist)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
97 | 170 | ||删除白名单|[delBsWhitelist](#delbswhitelist)|[sEvtStateCode](#sevtstatecode)<br>[fEvtDelBsWhitelist](#fevtdelbswhitelist)<br>[fEvtBsWhitelist](#fevtbswhitelist)| |
171 | +|基站加密 - 软件狗|获取基站软件狗|[getBsSoftwareKey](#getbssoftwarekey)|[fEvtBsSoftwareKey](#fevtbssoftwarekey)| | |
172 | +||设置基站软件狗|[setBsSoftwareKey](#setbssoftwarekey)|[fEvtBsSoftwareKey](#fevtbssoftwarekey)| | |
98 | 173 | |网络设置 - TCP/IP参数|获取TCP/IP参数|[getBsTcpipParams](#getbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)| |
99 | 174 | ||设置TCP/IP参数|[setBsTcpipParams](#setbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)|| |
100 | 175 | |网络设置 - MQTT参数|获取MQTT参数|[getBsMqttParams](#getbsmqttparams)|[fEvtBsMqttParams](#fevtbsmqttparams)| |
... | ... | @@ -115,7 +190,7 @@ |
115 | 190 | |功能归类|功能|API指令|指令事件| |
116 | 191 | |---|---|---|---| |
117 | 192 | |同步签到|启动同步签到|[startKpSignIn](#startkpsignin)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpSignIn](#fevtkpsignin)| |
118 | -||停止同步签到|[stopKpSignIn](#stopkpsignin)|[sEvtStateCode](#sevtstatecode)| | |
193 | +||停止同步签到|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
119 | 194 | |随时签到|启动随时签到|[rtStartKpSignIn](#rtstartkpsignin)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpSignIn](#fevtkpsignin)| |
120 | 195 | ||停止随时签到|[rtStopKpSignIn](#rtstopkpsignin)|[sEvtStateCode](#sevtstatecode)| |
121 | 196 | ||实时PIN签到授权|[rtSetKpLoginAllowed](#rtsetkploginallowed)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpLoginAllowed](#fevtkploginallowed)| |
... | ... | @@ -123,19 +198,44 @@ |
123 | 198 | |功能归类|功能|API指令|指令事件| |
124 | 199 | |---|---|---|---| |
125 | 200 | |判断题|启动判断题答题|[startQATrueFalse](#startqatruefalse)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQATrueFalse](#fevtqatruefalse)| |
126 | -||停止判断题答题|[stopQATrueFalse](#stopqatruefalse)|[sEvtStateCode](#sevtstatecode)| | |
201 | +||停止判断题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
127 | 202 | |选择题|启动选择题答题|[startQAChoice](#startqachoice)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQAChoice](#fevtqachoice)| |
128 | -||停止选择题答题|[stopQAChoice](#stopqachoice)|[sEvtStateCode](#sevtstatecode)| | |
203 | +||停止选择题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
129 | 204 | |数字题|启动数字题答题|[startQANum](#startqanum)|[sEvtStateCode](#sevtstatecode)<br>[fEvtQANum](#fevtqanum)| |
130 | -||停止数字题答题|[stopQANum](#stopqanum)|[sEvtStateCode](#sevtstatecode)| | |
205 | +||停止数字题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
131 | 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 | 211 | |功能归类|功能|API指令|指令事件| |
135 | 212 | |---|---|---|---| |
136 | 213 | |标准测验|启动标准测验|[startKpExam](#startkpexam)|[sEvtStateCode](#sevtstatecode)<br>[fEvtKpExam](#fevtkpexam)<br>[fEvtFinalSubmit](#fevtfinalsubmit)| |
137 | -||停止标准测验|[stopKpExam](#stopkpexam)|[sEvtStateCode](#sevtstatecode)| | |
214 | +||停止标准测验|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)| | |
138 | 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 | 241 | ### sEvtBsConnectState |
... | ... | @@ -146,7 +246,7 @@ |
146 | 246 | |参数名|类型|限制|非空|说明| |
147 | 247 | |-----|-----|-----|-----|-----| |
148 | 248 | |fun|string|-|是|事件类型| |
149 | -|dataTag|string|-|否|数据包标识,不需要时可传空字符串| | |
249 | +|dataTag|string||否|数据包标识,不需要时可传空字符串| | |
150 | 250 | |data|object|-|是|传送参数的对象| |
151 | 251 | |+baseModel|int||否|基站的型号码| |
152 | 252 | |+modelName|string||否|基站的型号名称| |
... | ... | @@ -208,6 +308,7 @@ |
208 | 308 | |dataTag|string|-|否|数据包标识,不需要时可传空字符串| |
209 | 309 | |data|object|-|是|传送参数的对象| |
210 | 310 | |+keySn|string||是|刷卡的键盘SN| |
311 | +|+cardType|int||是|刷卡的键盘类型<br>1-NFC类型<br>2-M1类型| | |
211 | 312 | |+value|int||是|刷卡的状态<br>1-成功<br>2-失败| |
212 | 313 | |
213 | 314 | - **示例代码** |
... | ... | @@ -216,7 +317,8 @@ |
216 | 317 | "fun":"sEvtBsNfcResults", |
217 | 318 | "dataTag":"1", //不需要时可传空字符串 |
218 | 319 | "data":{ |
219 | - "keySn":"1234567890", | |
320 | + "keySn":"1234567890", | |
321 | + "cardType":1, | |
220 | 322 | "value":1 |
221 | 323 | } |
222 | 324 | } |
... | ... | @@ -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 | 381 | ### sEvtStateCode |
252 | 382 | - **主题**: /basestation/\${baseSN}/receive |
253 | 383 | - **功能描述**:返回基站接收指令状态信息 |
... | ... | @@ -277,6 +407,7 @@ |
277 | 407 | |20008|value参数错误| |
278 | 408 | |30001|基站在答题中| |
279 | 409 | |30002|基站忙(内存不足)| |
410 | +|30003|基站执行失败| | |
280 | 411 | |40001|升级功能只能支持一个基站| |
281 | 412 | |50001|此功能必须指定基站| |
282 | 413 | |60001|此功能必须指定键盘SN| |
... | ... | @@ -334,7 +465,7 @@ |
334 | 465 | 参见基站连接变化系统通知 |
335 | 466 | |
336 | 467 | ##### fEvtBsOnlineState |
337 | -- **主题**: <span class="yellowFill">/basestation/mutilBase/receive</span> | |
468 | +- **主题**: <span class="yellowFill">/basestation/multiBase/receive</span> | |
338 | 469 | - **功能描述**:基站在线返回基站型号和基站SN |
339 | 470 | - **参数说明** |
340 | 471 | |
... | ... | @@ -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 | 647 | ##### getBsPairCode |
500 | 648 | - **主题**:/client/\${baseSN}/send |
501 | 649 | - **功能描述**:获取基站配对码 |
... | ... | @@ -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 | 784 | ##### fEvtBsPairCode |
596 | 785 | - **主题**: /basestation/\${baseSN}/receive |
597 | 786 | - **功能描述**:返回基站配对码 |
... | ... | @@ -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 | 862 | ##### fEvtBsNfcLogin |
641 | 863 | - **主题**: /basestation/\${baseSN}/receive |
642 | 864 | - **功能描述**:返回基站是否允许NFC刷卡 |
... | ... | @@ -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 | 1007 | ##### fEvtBsSSID |
706 | 1008 | - **主题**: /basestation/\${baseSN}/receive |
... | ... | @@ -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 | 1084 | ##### getBsKpLanguage |
... | ... | @@ -1122,7 +1477,7 @@ |
1122 | 1477 | |+port|int||是|端口,默认1883| |
1123 | 1478 | |+userName|string||否|连接服务器的用户名,可不设置| |
1124 | 1479 | |+password|string||否|连接服务器的密码,可不设置| |
1125 | -|+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒| | |
1480 | +|+interval|int|>=30|否|基站连接服务器失败后重连的间隔时长,单位秒| | |
1126 | 1481 | |
1127 | 1482 | - **示例代码** |
1128 | 1483 | ```json |
... | ... | @@ -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 | 1964 | } |
1547 | 1965 | } |
1548 | 1966 | ``` |
1549 | - | |
1550 | -##### stopKpSignIn | |
1967 | +<!-- ##### stopKpSignIn | |
1551 | 1968 | - **主题**:/client/\${baseSN}/send |
1552 | 1969 | - **功能描述**:停止同步签到 |
1553 | 1970 | - **参数说明** |
... | ... | @@ -1563,7 +1980,10 @@ |
1563 | 1980 | "fun":"stopKpSignIn", |
1564 | 1981 | "dataTag":"1" |
1565 | 1982 | } |
1566 | -``` | |
1983 | +``` --> | |
1984 | +##### [stopKpVote](#stopkpvote) | |
1985 | +停止同步签到 | |
1986 | + | |
1567 | 1987 | #### 事件 |
1568 | 1988 | ##### [sEvtStateCode](#sevtstatecode) |
1569 | 1989 | 发送指令后返回接收状态 |
... | ... | @@ -1717,6 +2137,7 @@ |
1717 | 2137 | |dataTag|string|-|否|数据包标识,可为空字符串| |
1718 | 2138 | |data|object|-|是|传送参数的对象| |
1719 | 2139 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
2140 | +|+count|int||是|题目数量,1-16,>1多题快答| | |
1720 | 2141 | |+mode|int||是|1 - True/False 对/错 <br>2 - Yes/No 是/否<br> 3 - √/×| |
1721 | 2142 | |+allowModify|int||是|0 - 不允许修改<br>1 - 允许修改| |
1722 | 2143 | |+tip|string||否|提示的标题,长度不超过16字符| |
... | ... | @@ -1729,13 +2150,14 @@ |
1729 | 2150 | "dataTag":"1", |
1730 | 2151 | "data":{ |
1731 | 2152 | "keySns":[], |
2153 | + "count":1, | |
1732 | 2154 | "mode":1, |
1733 | 2155 | "allowModify":1, |
1734 | 2156 | "tip":"请判断对错" |
1735 | 2157 | } |
1736 | 2158 | } |
1737 | 2159 | ``` |
1738 | -##### stopQATrueFalse | |
2160 | +<!-- ##### stopQATrueFalse | |
1739 | 2161 | - **主题**:/client/\${baseSN}/send |
1740 | 2162 | - **功能描述**:停止判断题答题 |
1741 | 2163 | - **参数说明** |
... | ... | @@ -1752,7 +2174,11 @@ |
1752 | 2174 | "fun":"stopQATrueFalse", |
1753 | 2175 | "dataTag":"1" |
1754 | 2176 | } |
1755 | -``` | |
2177 | +``` --> | |
2178 | + | |
2179 | +##### [stopKpVote](#stopkpvote) | |
2180 | +停止判断题答题 | |
2181 | + | |
1756 | 2182 | #### 事件 |
1757 | 2183 | ##### [sEvtStateCode](#sevtstatecode) |
1758 | 2184 | 发送指令后返回接收状态 |
... | ... | @@ -1800,6 +2226,7 @@ |
1800 | 2226 | |dataTag|string|-|否|数据包标识,可为空字符串| |
1801 | 2227 | |data|object|-|是|传送参数的对象| |
1802 | 2228 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
2229 | +|+count|int||是|题目数量,1-16,>1多题快答<br>optionalN >1时无效| | |
1803 | 2230 | |+mode|int||是|显示模式<br>1:显示字母(默认值) </br>2:显示数字 | |
1804 | 2231 | |+lessMode|int||是|迫选模式<br>0:可缺选(默认值) </br>1:不可缺选</br>2:允许重复输入</br>3:允许重复输入且不可缺选 | |
1805 | 2232 | |+options|int||是|选项数量,1≤M≤10(默认值4)| |
... | ... | @@ -1816,6 +2243,7 @@ |
1816 | 2243 | "data":{ |
1817 | 2244 | "keySns":[], |
1818 | 2245 | "mode": 1, |
2246 | + "count":1, | |
1819 | 2247 | "lessMode": 0, |
1820 | 2248 | "options": 4, |
1821 | 2249 | "optionalN": 1, |
... | ... | @@ -1824,7 +2252,7 @@ |
1824 | 2252 | } |
1825 | 2253 | } |
1826 | 2254 | ``` |
1827 | -##### stopQAChoice | |
2255 | +<!-- ##### stopQAChoice | |
1828 | 2256 | - **主题**:/client/\${baseSN}/send |
1829 | 2257 | - **功能描述**:停止选择题答题 |
1830 | 2258 | - **参数说明** |
... | ... | @@ -1841,7 +2269,10 @@ |
1841 | 2269 | "fun":"stopQAChoice", |
1842 | 2270 | "dataTag":"1" |
1843 | 2271 | } |
1844 | -``` | |
2272 | +``` --> | |
2273 | +##### [stopKpVote](#stopkpvote) | |
2274 | +停止选择题答题 | |
2275 | + | |
1845 | 2276 | #### 事件 |
1846 | 2277 | ##### [sEvtStateCode](#sevtstatecode) |
1847 | 2278 | 发送指令后返回接收状态 |
... | ... | @@ -1889,7 +2320,7 @@ |
1889 | 2320 | |data|object|-|是|传送参数的对象| |
1890 | 2321 | |+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘| |
1891 | 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 | 2324 | |+numMin|int||是|可输入下限,mode=1有效,范围0-100| |
1894 | 2325 | |+numMax|int||是|可输入上限,mode=1有效,范围0-100| |
1895 | 2326 | |+allowModify|int||是|修改模式<br>0 - 不允许修改<br>1 - 允许修改| |
... | ... | @@ -1912,7 +2343,7 @@ |
1912 | 2343 | } |
1913 | 2344 | } |
1914 | 2345 | ``` |
1915 | -##### stopQANum | |
2346 | +<!-- ##### stopQANum | |
1916 | 2347 | - **主题**:/client/\${baseSN}/send |
1917 | 2348 | - **功能描述**:停止数字题答题 |
1918 | 2349 | - **参数说明** |
... | ... | @@ -1929,7 +2360,10 @@ |
1929 | 2360 | "fun":"stopQANum", |
1930 | 2361 | "dataTag":"1" |
1931 | 2362 | } |
1932 | -``` | |
2363 | +``` --> | |
2364 | +##### [stopKpVote](#stopkpvote) | |
2365 | +停止数字题答题 | |
2366 | + | |
1933 | 2367 | #### 事件 |
1934 | 2368 | ##### [sEvtStateCode](#sevtstatecode) |
1935 | 2369 | 发送指令后返回接收状态 |
... | ... | @@ -1947,7 +2381,7 @@ |
1947 | 2381 | |++keySn|string||是|键盘SN| |
1948 | 2382 | |++keyValue|string||是|键盘提交的按键值| |
1949 | 2383 | |++keyTime|double||是|答题时间,从启动开始计算,单位秒| |
1950 | -|++voltage|double||是|键盘电量</font>| | |
2384 | +|++voltage|double||是|键盘电量| | |
1951 | 2385 | |++retryCount|int||是|键盘提交数据的重发次数| |
1952 | 2386 | |
1953 | 2387 | - **示例代码** |
... | ... | @@ -1994,7 +2428,7 @@ |
1994 | 2428 | } |
1995 | 2429 | } |
1996 | 2430 | ``` |
1997 | -##### stopQAQuicker | |
2431 | +<!-- ##### stopQAQuicker | |
1998 | 2432 | - **主题**:/client/\${baseSN}/send |
1999 | 2433 | - **功能描述**:停止抢答答题 |
2000 | 2434 | - **参数说明** |
... | ... | @@ -2011,7 +2445,11 @@ |
2011 | 2445 | "fun":"stopQAQuicker", |
2012 | 2446 | "dataTag":"1" |
2013 | 2447 | } |
2014 | -``` | |
2448 | +``` --> | |
2449 | + | |
2450 | +##### [stopKpVote](#stopkpvote) | |
2451 | +停止抢答 | |
2452 | + | |
2015 | 2453 | #### 事件 |
2016 | 2454 | ##### [sEvtStateCode](#sevtstatecode) |
2017 | 2455 | 发送指令后返回接收状态 |
... | ... | @@ -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 | 2598 | |+examNo|int||是|0-9999<br>=0,新的测验<br>>0时,与上次启动卷号一致继续测验,不一致进入新的测验| |
2062 | 2599 | |+mode|int||是|显示模式<br>0-不显示开头<br>1-显示“Q”开头<br>2-显示“题”开头| |
2063 | 2600 | |+questions|array||是|题目详情| |
2064 | -|++symbol | string||是 | 题号前缀,分级标识为-,可为空,为空表示1级大题<br><font color="red">最多为三级题号,即最多可以设为x-x-</font>| | |
2065 | 2601 | |++quesType | int||是| 题目类型<br>1:单选<br>2:多选(排序)<br>3:数字<br>4:判断 | |
2066 | 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 | 2612 | "dataTag":"1", |
2077 | 2613 | "data":{ |
2078 | 2614 | "mode": 1, |
2079 | - "examNo": 1, | |
2615 | + "examNo": 0, | |
2080 | 2616 | "questions": [{ |
2081 | 2617 | "quesType": 1, //单选题 |
2082 | - "startNo": 1, //题号从1开始 | |
2618 | + "startNo": "1", //题号从1开始 | |
2083 | 2619 | "count":10 //连续10题 |
2084 | 2620 | }] |
2085 | 2621 | } |
... | ... | @@ -2093,24 +2629,24 @@ |
2093 | 2629 | "dataTag":"1", |
2094 | 2630 | "data":{ |
2095 | 2631 | "mode": 0, |
2096 | - "examNo": 1, | |
2632 | + "examNo": 0, | |
2097 | 2633 | //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题 |
2098 | 2634 | "questions": [{ |
2099 | 2635 | "quesType": 1, //单选题 |
2100 | - "startNo": 1, //题号从1开始 | |
2636 | + "startNo": "1", //题号从1开始 | |
2101 | 2637 | "count":2 //连续2题 |
2102 | 2638 | },{ |
2103 | 2639 | "quesType": 2, //多选题 |
2104 | - "startNo": 3, //题号从3开始 | |
2640 | + "startNo": "3", //题号从3开始 | |
2105 | 2641 | "count":2, //连续2题 |
2106 | 2642 | "option":5 |
2107 | 2643 | },{ |
2108 | 2644 | "quesType": 1, //数字题 |
2109 | - "startNo": 5, //题号从5开始 | |
2645 | + "startNo": "5", //题号从5开始 | |
2110 | 2646 | "count":1 //连续1题 |
2111 | 2647 | },{ |
2112 | 2648 | "quesType": 4, //判断题 |
2113 | - "startNo": 6, //题号从6开始 | |
2649 | + "startNo": "6", //题号从6开始 | |
2114 | 2650 | "count":1 //连续1题 |
2115 | 2651 | }] |
2116 | 2652 | } |
... | ... | @@ -2124,28 +2660,24 @@ |
2124 | 2660 | "dataTag":"1", |
2125 | 2661 | "data":{ |
2126 | 2662 | "mode": 0, |
2127 | - "examNo": 1, | |
2663 | + "examNo": 0, | |
2128 | 2664 | //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题 |
2129 | - "questions": [{ | |
2130 | - "symbol": "1-", | |
2665 | + "questions": [{ | |
2131 | 2666 | "quesType": 1, //单选题 |
2132 | - "startNo": 1, //题号从1-1开始 | |
2667 | + "startNo": "1-1", //题号从1-1开始 | |
2133 | 2668 | "count":2 //连续2题 |
2134 | 2669 | },{ |
2135 | - "symbol": "2-", | |
2136 | 2670 | "quesType": 2, //多选题 |
2137 | - "startNo": 1, //题号从2-1开始 | |
2671 | + "startNo":"2-1", //题号从2-1开始 | |
2138 | 2672 | "count":2, //连续2题 |
2139 | 2673 | "option":5 |
2140 | 2674 | },{ |
2141 | - "symbol": "3-", | |
2142 | 2675 | "quesType": 3, //数字题 |
2143 | - "startNo": 1, //题号从3-1开始 | |
2676 | + "startNo":"3-1", //题号从3-1开始 | |
2144 | 2677 | "count":1 //连续1题 |
2145 | 2678 | },{ |
2146 | - "symbol": "4-", | |
2147 | 2679 | "quesType": 4, //判断题 |
2148 | - "startNo": 1, //题号从4-1开始 | |
2680 | + "startNo": "4-1", //题号从4-1开始 | |
2149 | 2681 | "count":1 //连续1题 |
2150 | 2682 | }] |
2151 | 2683 | } |
... | ... | @@ -2159,28 +2691,24 @@ |
2159 | 2691 | "dataTag":"1", |
2160 | 2692 | "data":{ |
2161 | 2693 | "mode": 0, |
2162 | - "examNo": 1, | |
2694 | + "examNo": 0, | |
2163 | 2695 | //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题 |
2164 | 2696 | "questions": [{ |
2165 | - "symbol": "1-1-", | |
2166 | 2697 | "quesType": 1, //单选题 |
2167 | - "startNo": 1, //题号从1-1-1开始 | |
2698 | + "startNo": "1-1-1", //题号从1-1-1开始 | |
2168 | 2699 | "count":2 //连续2题 |
2169 | 2700 | },{ |
2170 | - "symbol": "1-2-", | |
2171 | 2701 | "quesType": 2, //多选题 |
2172 | - "startNo": 1, //题号从1-2-1开始 | |
2702 | + "startNo": "1-2-1", //题号从1-2-1开始 | |
2173 | 2703 | "count":2, //连续2题 |
2174 | 2704 | "option":5 |
2175 | 2705 | },{ |
2176 | - "symbol": "2-1-", | |
2177 | 2706 | "quesType": 3, //数字题 |
2178 | - "startNo": 1, //题号从2-1-1开始 | |
2707 | + "startNo": "2-1-1", //题号从2-1-1开始 | |
2179 | 2708 | "count":1 //连续1题 |
2180 | 2709 | },{ |
2181 | - "symbol": "3-1-", | |
2182 | 2710 | "quesType": 4, //判断题 |
2183 | - "startNo": 1, //题号从3-1-1开始 | |
2711 | + "startNo": "3-1-1", //题号从3-1-1开始 | |
2184 | 2712 | "count":1 //连续1题 |
2185 | 2713 | }] |
2186 | 2714 | } |
... | ... | @@ -2194,23 +2722,23 @@ |
2194 | 2722 | "dataTag":"1", |
2195 | 2723 | "data":{ |
2196 | 2724 | "mode": 1, |
2197 | - "examNo": 1, | |
2725 | + "examNo": 0, | |
2198 | 2726 | "questions": [{ |
2199 | 2727 | "quesType": 1, //单选题 |
2200 | - "startNo": 1, //题号从1开始 | |
2728 | + "startNo": "1", //题号从1开始 | |
2201 | 2729 | "count":2 //连续2题 |
2202 | 2730 | },{ |
2203 | 2731 | "quesType": 2, //多选题 |
2204 | - "startNo": 3, //题号从3开始 | |
2732 | + "startNo": "3", //题号从3开始 | |
2205 | 2733 | "count":2, //连续2题 |
2206 | 2734 | "option":5 |
2207 | 2735 | },{ |
2208 | 2736 | "quesType": 1, //数字题 |
2209 | - "startNo": 5, //题号从5开始 | |
2737 | + "startNo": "5", //题号从5开始 | |
2210 | 2738 | "count":1 //连续1题 |
2211 | 2739 | },{ |
2212 | 2740 | "quesType": 4, //判断题 |
2213 | - "startNo": 6, //题号从6开始 | |
2741 | + "startNo": "6", //题号从6开始 | |
2214 | 2742 | "count":1 //连续1题 |
2215 | 2743 | }] |
2216 | 2744 | } |
... | ... | @@ -2224,29 +2752,30 @@ |
2224 | 2752 | "dataTag":"1", |
2225 | 2753 | "data":{ |
2226 | 2754 | "mode": 2, |
2227 | - "examNo": 1, | |
2228 | - "questions": [{ | |
2755 | + "examNo": 0, | |
2756 | + "questions": [{ | |
2229 | 2757 | "quesType": 1, //单选题 |
2230 | - "startNo": 1, //题号从1开始 | |
2758 | + "startNo": "1", //题号从1开始 | |
2231 | 2759 | "count":2 //连续2题 |
2232 | 2760 | },{ |
2233 | 2761 | "quesType": 2, //多选题 |
2234 | - "startNo": 3, //题号从3开始 | |
2762 | + "startNo": "3", //题号从3开始 | |
2235 | 2763 | "count":2, //连续2题 |
2236 | 2764 | "option":5 |
2237 | 2765 | },{ |
2238 | 2766 | "quesType": 1, //数字题 |
2239 | - "startNo": 5, //题号从5开始 | |
2767 | + "startNo": "5", //题号从5开始 | |
2240 | 2768 | "count":1 //连续1题 |
2241 | 2769 | },{ |
2242 | 2770 | "quesType": 4, //判断题 |
2243 | - "startNo": 6, //题号从6开始 | |
2771 | + "startNo": "6", //题号从6开始 | |
2244 | 2772 | "count":1 //连续1题 |
2245 | 2773 | }] |
2246 | 2774 | } |
2247 | 2775 | } |
2248 | 2776 | ``` |
2249 | -##### stopKpExam | |
2777 | + | |
2778 | +<!-- ##### stopKpExam | |
2250 | 2779 | - **主题**:/client/\${baseSN}/send |
2251 | 2780 | - **功能描述**:停止标准测验 |
2252 | 2781 | - **参数说明** |
... | ... | @@ -2263,7 +2792,10 @@ |
2263 | 2792 | "fun":"stopKpExam", |
2264 | 2793 | "dataTag":"1" |
2265 | 2794 | } |
2266 | -``` | |
2795 | +``` --> | |
2796 | +##### [stopKpVote](#stopkpvote) | |
2797 | +停止在线测验 | |
2798 | + | |
2267 | 2799 | ##### rtKpAllowEdited |
2268 | 2800 | - **主题**:/client/\${baseSN}/send |
2269 | 2801 | - **功能描述**:键盘提交后,允许键盘修改答案 |
... | ... | @@ -2302,8 +2834,10 @@ |
2302 | 2834 | |dataTag|string|-|否|数据包标识,可为空字符串| |
2303 | 2835 | |data|array|-|是|传送参数的对象数组| |
2304 | 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 | 2838 | |++keyTime|double||是|答题时间,从启动开始计算,单位秒| |
2839 | +|++voltage|double||是|键盘电量| | |
2840 | +|++retryCount|int||是|键盘提交数据的重发次数| | |
2307 | 2841 | |
2308 | 2842 | - **示例代码** |
2309 | 2843 | |
... | ... | @@ -2350,4 +2884,234 @@ |
2350 | 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 | 3118 | \ No newline at end of file | ... | ... |
通讯协议-SDK应用部分.md
... | ... | @@ -8,7 +8,7 @@ WSCmdApp协议接口说明 |
8 | 8 | |
9 | 9 | |
10 | 10 | <div style="text-align: center;font-size: 30px;"> |
11 | -Ver5.1.10 | |
11 | +Ver5.1.11 | |
12 | 12 | </div> |
13 | 13 | <br> |
14 | 14 | <br> |
... | ... | @@ -24,7 +24,7 @@ Ver5.1.10 |
24 | 24 | <br> |
25 | 25 | |
26 | 26 | <div style="text-align: center;font-size: 30px;"> |
27 | -二〇二四年九月 | |
27 | +二〇二四年十月 | |
28 | 28 | </div> |
29 | 29 | |
30 | 30 | <br> |
... | ... | @@ -38,7 +38,7 @@ Ver5.1.10 |
38 | 38 | |
39 | 39 | 起草人:陈定敏 |
40 | 40 | |
41 | -最新版本作者: 陈定敏 | |
41 | +最新版本作者: 刘琴 | |
42 | 42 | <br> |
43 | 43 | <br> |
44 | 44 | | 文档版本 | 日期 | 作者 | 版本说明 | |
... | ... | @@ -52,6 +52,8 @@ Ver5.1.10 |
52 | 52 | |5.1.8| 2024年07月01日|陈定敏|1. 投票反馈数据增加电池状态| |
53 | 53 | |5.1.9| 2024年07月19日|陈定敏|1. 增加获取SDK版本接口| |
54 | 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 | 58 | <br> |
57 | 59 | |
... | ... | @@ -706,6 +708,7 @@ infos:{} |
706 | 708 | |
707 | 709 | fun: "keyPadAuthorize" // |
708 | 710 | baseId: "1"//收到的基站ID |
711 | +keySnList:[{"keySn": "0112540402"}] //指定键盘SN,不可为空 | |
709 | 712 | params:{} //默认空 |
710 | 713 | |
711 | 714 | | **Json字段** | **字段含义** | **赋值及含义** | |
... | ... | @@ -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 | 4632 | 发送: |
4602 | 4633 | fun: "addWhiteList" //追加键盘 |
4603 | 4634 | params:{} //键盘sn |
4604 | -keySnList:[ "keySn":"2111120140"] //列表不能为空 | |
4635 | +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空 | |
4605 | 4636 | |
4606 | 4637 | 指令样例: |
4607 | 4638 | |
... | ... | @@ -4650,8 +4681,7 @@ infos:{}// |
4650 | 4681 | 发送: |
4651 | 4682 | fun: "delWhiteList" //踢出键盘,删除键盘 |
4652 | 4683 | params:{} //键盘sn |
4653 | -keySnList:[ "keySn":"2111120140"] //列表不能为空 | |
4654 | - | |
4684 | +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空 | |
4655 | 4685 | |
4656 | 4686 | 指令样例: |
4657 | 4687 | |
... | ... | @@ -4889,13 +4919,13 @@ infos:{ }//返回基站 |
4889 | 4919 | 写 |
4890 | 4920 | |
4891 | 4921 | fun: "writeKeypadDevice" //写键盘外设,由led灯、蜂鸣器、马达组合 |
4922 | +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘 | |
4892 | 4923 | params:{} // |
4893 | 4924 | |
4894 | 4925 | 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置 |
4895 | 4926 | |
4896 | 4927 | | **Json字段** | **字段含义** | **赋值及含义** | |
4897 | 4928 | | --- | --- | --- | |
4898 | -| keySn | 键盘SN |空字符串,为所有在线键盘| | |
4899 | 4929 | | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)| |
4900 | 4930 | | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)| |
4901 | 4931 | | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)| |
... | ... | @@ -5398,11 +5428,11 @@ infos:{"keySn":"1837454011","state":"OK"}//遥控键盘关机 |
5398 | 5428 | |
5399 | 5429 | 写 |
5400 | 5430 | fun: "writeKeyMessage" //写键盘短消息 |
5431 | +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘 | |
5401 | 5432 | params:{} // 数组对象,对象中的默认值为空字符串 |
5402 | 5433 | |
5403 | 5434 | | **Json字段** | **字段含义** | **赋值及含义** | |
5404 | 5435 | | --- | --- | --- | |
5405 | -|keySn|键盘SN|空字符串,为所有在线键盘| | |
5406 | 5436 | |txt|短消息内容|字符串最长40字节[20汉字]| |
5407 | 5437 | |
5408 | 5438 | |
... | ... | @@ -5523,7 +5553,6 @@ infos:{}// |
5523 | 5553 | |
5524 | 5554 | | **Json字段** | **字段含义** | **赋值及含义** | |
5525 | 5555 | | --- | --- | --- | |
5526 | -|keySn|键盘SN|| | |
5527 | 5556 | |state|返回信息|OK(成功)| |
5528 | 5557 | |
5529 | 5558 | ... | ... |
通讯协议-SDK应用部分[内部].md
... | ... | @@ -8,7 +8,7 @@ WSCmdApp协议接口说明 |
8 | 8 | |
9 | 9 | |
10 | 10 | <div style="text-align: center;font-size: 30px;"> |
11 | -Ver5.1.9 | |
11 | +Ver5.1.11 | |
12 | 12 | </div> |
13 | 13 | <br> |
14 | 14 | <br> |
... | ... | @@ -24,7 +24,7 @@ Ver5.1.9 |
24 | 24 | <br> |
25 | 25 | |
26 | 26 | <div style="text-align: center;font-size: 30px;"> |
27 | -二〇二三年十月 | |
27 | +二〇二四年十月 | |
28 | 28 | </div> |
29 | 29 | |
30 | 30 | <br> |
... | ... | @@ -38,7 +38,7 @@ Ver5.1.9 |
38 | 38 | |
39 | 39 | 起草人:陈定敏 |
40 | 40 | |
41 | -最新版本作者: 陈定敏 | |
41 | +最新版本作者: 刘琴 | |
42 | 42 | <br> |
43 | 43 | <br> |
44 | 44 | | 文档版本 | 日期 | 作者 | 版本说明 | |
... | ... | @@ -51,6 +51,9 @@ Ver5.1.9 |
51 | 51 | |5.1.7| 2024年04月22日|陈定敏|1. 增加后台签到接口<br>2. 增加键盘最终提交状态接口| |
52 | 52 | |5.1.8| 2024年07月01日|陈定敏|1. 投票反馈数据增加电池状态| |
53 | 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 | 58 | <br> |
56 | 59 | |
... | ... | @@ -705,6 +708,7 @@ infos:{} |
705 | 708 | |
706 | 709 | fun: "keyPadAuthorize" // |
707 | 710 | baseId: "1"//收到的基站ID |
711 | +keySnList:[{"keySn": "0112540402"}] //指定键盘SN,不可为空 | |
708 | 712 | params:{} //默认空 |
709 | 713 | |
710 | 714 | | **Json字段** | **字段含义** | **赋值及含义** | |
... | ... | @@ -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 | 5568 | 发送: |
5537 | 5569 | fun: "addWhiteList" //追加键盘 |
5538 | 5570 | params:{} //键盘sn |
5539 | -keySnList:[ "keySn":"2111120140"] //列表不能为空 | |
5571 | +keySnList:[ {"keySn":"2111120140"} ] //列表不能为空 | |
5540 | 5572 | |
5541 | 5573 | 指令样例: |
5542 | 5574 | |
... | ... | @@ -5585,8 +5617,7 @@ infos:{}// |
5585 | 5617 | 发送: |
5586 | 5618 | fun: "delWhiteList" //踢出键盘,删除键盘 |
5587 | 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 | 6093 | 写 |
6063 | 6094 | |
6064 | 6095 | fun: "writeKeypadDevice" //写键盘外设,由led灯、蜂鸣器、马达组合 |
6096 | +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘 | |
6065 | 6097 | params:{} // |
6066 | 6098 | |
6067 | 6099 | 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置 |
6068 | 6100 | |
6069 | 6101 | | **Json字段** | **字段含义** | **赋值及含义** | |
6070 | 6102 | | --- | --- | --- | |
6071 | -| keySn | 键盘SN |空字符串,为所有在线键盘| | |
6072 | 6103 | | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)| |
6073 | 6104 | | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)| |
6074 | 6105 | | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)| |
... | ... | @@ -6627,11 +6658,11 @@ infos:{"value":"0"}//10秒 |
6627 | 6658 | |
6628 | 6659 | 写 |
6629 | 6660 | fun: "writeKeyMessage" //写键盘短消息 |
6661 | +keySnList:[{"keySn":"0007899478"}] //指定键盘SN列表,为空表示所有在线键盘 | |
6630 | 6662 | params:{} // 数组对象,对象中的默认值为空字符串 |
6631 | 6663 | |
6632 | 6664 | | **Json字段** | **字段含义** | **赋值及含义** | |
6633 | 6665 | | --- | --- | --- | |
6634 | -|keySn|键盘SN|空字符串,为所有在线键盘| | |
6635 | 6666 | |txt|短消息内容|字符串最长40字节[20汉字]| |
6636 | 6667 | |
6637 | 6668 | |
... | ... | @@ -6887,7 +6918,6 @@ infos:{}// |
6887 | 6918 | |
6888 | 6919 | | **Json字段** | **字段含义** | **赋值及含义** | |
6889 | 6920 | | --- | --- | --- | |
6890 | -|keySn|键盘SN|| | |
6891 | 6921 | |state|返回信息|OK(成功)| |
6892 | 6922 | |
6893 | 6923 | ... | ... |
通讯协议-教育新版-基站部分.md
... | ... | @@ -2093,7 +2093,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 |
2093 | 2093 | | 1 | BASECMD | 0xE1 基站管理类指令 | |
2094 | 2094 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
2095 | 2095 | | 3 | CMDTYPE | 基站管理命令类型<br>22 基站下载多包 | |
2096 | -| 4 | MODE | 1 进入或退出下载状态 | | |
2096 | +| 4 | MODE | 1 进入或退出下载状态 <br><font color="#FF0000"> 31后台静默升级| | |
2097 | 2097 | | 5 | ID/SN | 1:2字节ID模式; <br>2:4字节SN; <br>3:6字节SN模式 | |
2098 | 2098 | | 6 | ~~NC~~ || |
2099 | 2099 | | 7 | DCMD | 模式 1进入下载 0退出下载 | |
... | ... | @@ -2142,7 +2142,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 |
2142 | 2142 | | 1 | BASECMD | 0x61 基站管理类指令 | |
2143 | 2143 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
2144 | 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 | 2146 | | 5 | DOWNTYPE | 多包类型<br>30 短信广播信息(SDK组包模式) | |
2147 | 2147 | | 6 | DOWNID | 数据包标识码(DOWNTYPE=30时,是总包数)<br>文件下载模式时候是最高位地址 V4.52<br>由于非文件下载模式PACKH加上PACKL,只能下载65536字节,文件下载模式为支持大文件,用DOWNID作为高位地址,可以下载16384K字节 | |
2148 | 2148 | | 7 | PACKH | 数据段编号,0-255 | |
... | ... | @@ -2158,7 +2158,7 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 |
2158 | 2158 | | 1 | BASECMD | 0xE1 基站管理类指令 | |
2159 | 2159 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
2160 | 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 | 2162 | | 5 | DOWNTYPE | 多包类型 | |
2163 | 2163 | | 6 | DOWNID | 数据包标识码<br>文件下载模式时候是最高位地址 V4.52<br>由于非文件下载模式PACKH加上PACKL,只能下载65536字节,文件下载模式为支持大文件,用DOWNID作为高位地址,可以下载16384K字节 | |
2164 | 2164 | | 7 | PACKH | 数据段编号,0-255 | |
... | ... | @@ -2202,12 +2202,13 @@ S5,电脑通知基站退出下载,基站通知所有(包括失败的)键 |
2202 | 2202 | | 1 | BASECMD | 0xE1 基站管理类指令 | |
2203 | 2203 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
2204 | 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 | 2206 | | 5 | PACKH | 数据段编号,0-255<br>申请的数据包号PACK\_H | |
2207 | 2207 | | 6 | PACKL | 数据片编号, 0-15<br>申请的数据包号PACK\_L | |
2208 | 2208 | | 7 | Update status | 2-失败;(包括通知键盘进入下载和数据块下载失败;)<br>1-全部完成,电脑可以下一个流程(包括本次256字节成功、键盘进入下载、键盘退出下载) | |
2209 | 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 | 2747 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
2747 | 2748 | | 3 | CMDTYPE | 基站管理命令类型41 sdk下载多包 | |
2748 | 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 | 2751 | | 6-9 | DATA_total| 数据总字节数 高位在前 | |
2751 | 2752 | | 10-11 | DATA crc | 数据crc 高位在前| |
2752 | 2753 | | 12-13 | byte per PACK |高位在前 每包数据最大字节长度:64... | |
2753 | 2754 | | other | default | | |
2755 | + | |
2756 | + | |
2754 | 2757 | 基站应答: |
2755 | 2758 | | **字节** | **标识符** | **描述** | |
2756 | 2759 | | --- | --- | --- | |
... | ... | @@ -2773,11 +2776,12 @@ step3:sdk询问 数据是否接收正确;基站回复,如果不正确 sdk重 |
2773 | 2776 | | 2 | BASEID | 指定的基站编号,为0时候不指定 | |
2774 | 2777 | | 3 | CMDTYPE | 基站管理命令类型41 sdk下载多包 | |
2775 | 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 | 2780 | | 6-9 | DATA_total| 数据总字节数 高位在前| |
2778 | 2781 | | 10-11 | DATA crc | 数据crc 高位在前| |
2779 | 2782 | | 12-13 | byte per PACK |高位在前 每包数据最大字节长度:64 | |
2780 | 2783 | | other | default | | |
2784 | + | |
2781 | 2785 | 基站应答: |
2782 | 2786 | | **字节** | **标识符** | **描述** | |
2783 | 2787 | | --- | --- | --- | | ... | ... |