diff --git a/通讯协议-B200W-MQTT协议[内部].md b/通讯协议-B200W-MQTT协议[内部].md
index 9962e34..b2383d2 100644
--- a/通讯协议-B200W-MQTT协议[内部].md
+++ b/通讯协议-B200W-MQTT协议[内部].md
@@ -76,6 +76,24 @@
## 功能速查一览表
+### 公共方法
+可以在多种业务中调用的通用方法
+|功能归类|功能|API指令|指令/系统事件|
+|---|---|---|---|
+|停止投票|可停止通过调用startXXX启动的答题业务|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)||
+
+### 公共事件
+无需调用指令,自动返回的事件
+|功能归类|功能|API指令|指令/系统事件|
+|---|---|---|---|
+|公共事件|指令接收状态|-|[sEvtStateCode](#sevtstatecode)|
+|公共事件|基站连接状态变化|-|[sEvtBsConnectState](#sevtbsconnectstate)|
+|公共事件|基站信道冲突|-|[sEvtBsChannelConflict](#sevtbschannelconflict)|
+|公共事件|键盘上线通知|-|[sEvtBsKpOnlineMsg](#sevtbskponlinemsg)|
+|公共事件|键盘刷卡事件|-|[sEvtBsNfcResults](#sevtbsnfcresults)|
+|公共事件|键盘待机实时按键反馈|-|[sEvtKpRtFeedback](#sevtkprtfeedback)|
+|公共事件|键盘举手键实时按键反馈|-|[sEvtKpHandUp](#sevtkphandup)|
+
### 基站管理
|功能归类|功能|API指令|指令/系统事件|
|---|---|---|---|
@@ -99,8 +117,16 @@
||设置基站工作信道|[setBsChannel](#setbschannel)|[fEvtBsChannel](#fevtbschannel)||
|登录设置 - 登录名称|获取基站登录名称|[getBsSSID](#getbsssid)|[fEvtBsSSID](#fevtbsssid)|
||设置基站登录名称|[setBsSSID](#setbsssid)|[fEvtBsSSID](#fevtbsssid)||
+|登录设置 - 登录密码|获取基站登录密码|[getBsLoginPwd](#getbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)|
+||设置基站登录密码|[setBsLoginPwd](#setbsloginpwd)|[fEvtBsLoginPwd](#fevtbsloginpwd)||
+|登录设置 - 基站登录状态|获取基站登录状态|[getBsLoginState](#getbsloginstate)|[fEvtBsLoginState](#fevtbsloginstate)|
+||设置基站登录状态|[setBsLoginState](#setbsloginstate)|[fEvtBsLoginState](#fevtbsloginstate)||
|键盘统一设置 - 键盘语言|获取键盘语言|[getBsKpLanguage](#getbskplanguage)|[fEvtBsKpLanguage](#fevtbskplanguage)|
||设置键盘语言|[setBsKpLanguage](#setbskplanguage)|[fEvtBsKpLanguage](#fevtbskplanguage)||
+|键盘统一设置 - 状态语模式|获取状态语设置状态|[getBsKpStbMsgMode](#getbskpstbmsgmode)|[fEvtBsKpStbMsgMode](#fevtbskpstbmsgmode)|
+||设置状态语工作状态|[setBsKpStbMsgMode](#setbskpstbmsgmode)|[fEvtBsKpStbMsgMode](#fevtbskpstbmsgmode)|||
+|键盘统一设置 - 登录菜单|获取键盘登录菜单状态|[getBsKpLoginMenu](#getbskploginmenu)|[fEvtBsKpLoginMenu](#fevtbskploginmenu)|
+||设置键盘登录菜单状态|[setBsKpLoginMenu](#setbskploginmenu)|[fEvtBsKpLoginMenu](#fevtbskploginmenu)|||
|键盘统一设置 - 键盘休眠|设置键盘休眠等级(内)|[setBsKpSleepLevel](#setbskpsleeplevel)|[fEvtBsKpSleepLevel](#fevtbskpsleeplevel)|
||获取键盘休眠等级(内)|[getBsKpSleepLevel](#getbskpsleeplevel)|[fEvtBsKpSleepLevel](#fevtbskpsleeplevel)|
||设置键盘暂停休眠状态(内)|[setBsKpPauseSleep](#setbskppausesleep)|[fEvtBsKpPauseSleep](#fevtbskppausesleep)|
@@ -111,6 +137,8 @@
||清空白名单|[clearBsWhitelist](#clearbswhitelist)|[sEvtStateCode](#sevtstatecode)
[fEvtBsWhitelist](#fevtbswhitelist)|
||增加白名单|[addBsWhitelist](#addbswhitelist)|[sEvtStateCode](#sevtstatecode)
[fEvtAddBsWhitelist](#fevtaddbswhitelist)
[fEvtBsWhitelist](#fevtbswhitelist)|
||删除白名单|[delBsWhitelist](#delbswhitelist)|[sEvtStateCode](#sevtstatecode)
[fEvtDelBsWhitelist](#fevtdelbswhitelist)
[fEvtBsWhitelist](#fevtbswhitelist)|
+|基站加密 - 软件狗|获取基站软件狗|[getBsSoftwareKey](#getbssoftwarekey)|[fEvtBsSoftwareKey](#fevtbssoftwarekey)|
+||设置基站软件狗|[setBsSoftwareKey](#setbssoftwarekey)|[fEvtBsSoftwareKey](#fevtbssoftwarekey)|
|网络设置 - TCP/IP参数|获取TCP/IP参数|[getBsTcpipParams](#getbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)|
||设置TCP/IP参数|[setBsTcpipParams](#setbstcpipparams)|[fEvtBsTcpipParams](#fevtbstcpipparams)||
|网络设置 - MQTT参数|获取MQTT参数|[getBsMqttParams](#getbsmqttparams)|[fEvtBsMqttParams](#fevtbsmqttparams)|
@@ -123,6 +151,13 @@
### 键盘管理
|功能归类|功能|API指令|指令事件|
|---|---|---|---|
+|识别设置 - 出厂编码(内)|设置键盘出厂编码(内)|[setKpSN](#setkpsn)|[fEvtKpSN](#fevtkpsn)|
+|识别设置 - 键盘编号|获取键盘编号|[getKpID](#getkpid)|[fEvtKpID](#fevtkpid)|
+|识别设置 - 键盘编号(内)|设置键盘编号(内)|[setKpID](#setkpid)|[fEvtKpID](#fevtkpid)|
+|识别设置 - 键盘型号|获取键盘型号|[getKpModel](#getkpmodel)|[fEvtKpModel](#fevtkpmodel)|
+|识别设置 - 键盘固件版本|获取键盘固件版本|[getKpFWVersion](#getKpfwversion)|[fEvtKpFWVersion](#fevtkpfwversion)|
+|识别设置 - 识别模式(内)|获取键盘识别模式(内)|[getKpIdentityMode](#getkpidentitymode)|[fEvtKpIdentityMode](#fevtkpidentitymode)|
+||设置键盘识别模式(内)|[setKpIdentityMode](#setkpidentitymode)|[fEvtKpIdentityMode](#fevtkpidentitymode)|
|交互设置 - 用户内置状态语|设置用户内置状态语|[setKpUserStbMsg](#setkpuserstbmsg)|[fEvtKpUserStbMsg](#fevtkpuserstbmsg)|
|交互设置 - 用户实时提示反馈信息|实时设置提示反馈信息|[rtSetKpUserPrompt](#rtsetkpuserprompt)|[sEvtStateCode](#sevtstatecode)
[fEvtSetKpUserPrompt](#fevtsetkpuserprompt)|
|在线状态获取|开启扫描在线键盘|[startGetKpOnline](#startgetkponline)|[sEvtStateCode](#sevtstatecode)
[fEvtKpOnlineMsg](#fevtkponlinemsg)|
@@ -140,7 +175,7 @@
|功能归类|功能|API指令|指令事件|
|---|---|---|---|
|同步签到|启动同步签到|[startKpSignIn](#startkpsignin)|[sEvtStateCode](#sevtstatecode)
[fEvtKpSignIn](#fevtkpsignin)|
-||停止同步签到|[stopKpSignIn](#stopkpsignin)|[sEvtStateCode](#sevtstatecode)|
+||停止同步签到|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
|随时签到|启动随时签到|[rtStartKpSignIn](#rtstartkpsignin)|[sEvtStateCode](#sevtstatecode)
[fEvtKpSignIn](#fevtkpsignin)|
||停止随时签到|[rtStopKpSignIn](#rtstopkpsignin)|[sEvtStateCode](#sevtstatecode)|
||实时PIN签到授权|[rtSetKpLoginAllowed](#rtsetkploginallowed)|[sEvtStateCode](#sevtstatecode)
[fEvtKpLoginAllowed](#fevtkploginallowed)|
@@ -148,22 +183,44 @@
|功能归类|功能|API指令|指令事件|
|---|---|---|---|
|判断题|启动判断题答题|[startQATrueFalse](#startqatruefalse)|[sEvtStateCode](#sevtstatecode)
[fEvtQATrueFalse](#fevtqatruefalse)|
-||停止判断题答题|[stopQATrueFalse](#stopqatruefalse)|[sEvtStateCode](#sevtstatecode)|
+||停止判断题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
|选择题|启动选择题答题|[startQAChoice](#startqachoice)|[sEvtStateCode](#sevtstatecode)
[fEvtQAChoice](#fevtqachoice)|
-||停止选择题答题|[stopQAChoice](#stopqachoice)|[sEvtStateCode](#sevtstatecode)|
+||停止选择题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
|数字题|启动数字题答题|[startQANum](#startqanum)|[sEvtStateCode](#sevtstatecode)
[fEvtQANum](#fevtqanum)|
-||停止数字题答题|[stopQANum](#stopqanum)|[sEvtStateCode](#sevtstatecode)|
+||停止数字题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
|抢答题|启动抢答题答题|[startQAQuicker](#startqaquicker)|[sEvtStateCode](#sevtstatecode)
[fEvtQAQuicker](#fevtqaquicker)|
-||停止抢答题答题|[stopQAQuicker](#stopqaquicker)|[sEvtStateCode](#sevtstatecode)|
+||停止抢答题答题|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
+|待机实时反馈|设置待机实时反馈状态|[setKpStbResponse](#setkpstbresponse)|[fEvtKpStbResponse](#fevtkpstbresponse)
[sEvtKpRtFeedback](#sevtkprtfeedback)
[sEvtKpHandUp](#sevtkphandup)|
### 在线测验
|功能归类|功能|API指令|指令事件|
|---|---|---|---|
|标准测验|启动标准测验|[startKpExam](#startkpexam)|[sEvtStateCode](#sevtstatecode)
[fEvtKpExam](#fevtkpexam)
[fEvtFinalSubmit](#fevtfinalsubmit)|
-||停止标准测验|[stopKpExam](#stopkpexam)|[sEvtStateCode](#sevtstatecode)|
-||刷新作答数据|[rtGetKpExamData](#rtgetkpexamdata)|[fEvtKpExam](#fevtkpexam)|
+||停止标准测验|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
+||刷新作答数据|[rtGetKpExamData](#rtgetkpexamdata)|[sEvtStateCode](#sevtstatecode)
[fEvtKpExam](#fevtkpexam)|
||允许键盘提交后退回修改|[rtAllowEdited](#rtkpallowedited)|[sEvtStateCode](#sevtstatecode)
[fEvtFinalSubmit](#fevtfinalsubmit)|
|多科测验|启动多科测验|[startKpMultiExam](#startkpmultiexam)|[sEvtStateCode](#sevtstatecode)
[fEvtKpExam](#fevtkpexam)
[fEvtFinalSubmit](#fevtfinalsubmit)|
-||停止标准测验|[stopKpMultiExam](#stopkpmultiexam)|[sEvtStateCode](#sevtstatecode)|
+||停止标准测验|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
+|自主录分|启动自主录分|[startKpScoreInput](#startkpscoreinput)|[sEvtStateCode](#sevtstatecode)
[fEvtKpScore](#fevtkpscore)
[fEvtFinalSubmit](#fevtfinalsubmit)|
+||停止自主录分|[stopKpVote](#stopkpvote)|[sEvtStateCode](#sevtstatecode)|
+
+## 公共方法
+### stopKpVote
+- **主题**: /client/\${baseSN}/send
+- **功能描述**:通用停止键盘答题方法,可以停止如同步签到、按键反馈、在线测验中调用startXXX方法启动的业务
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|-----|-----|-----|-----|-----|
+|fun|string|-|是|事件类型|
+|dataTag|string||否|数据包标识,不需要时可传空字符串|
+
+- **示例代码**
+```json
+{
+ "fun":"stopKpVote",
+ "dataTag":"1"
+}
+```
## 公共事件
### sEvtBsConnectState
@@ -182,7 +239,7 @@
|+version|string||否|基站固件版本|
- **示例代码**
-```Json
+```json
//连接成功
{
"fun":"sEvtBsConnectState",
@@ -216,7 +273,7 @@
|+value|int||是|有冲突的信道|
- **示例代码**
-```Json
+```json
{
"fun":"sEvtBsChannelConflict",
"dataTag":"1",
@@ -239,7 +296,7 @@
|+value|int||是|刷卡的状态
1-成功
2-失败|
- **示例代码**
-```Json
+```json
{
"fun":"sEvtBsNfcResults",
"dataTag":"1", //不需要时可传空字符串
@@ -265,7 +322,7 @@
|+model|int||是|键盘型号|
- **示例代码**
-```Json
+```json
{
"fun":"sEvtBsKpOnlineMsg",
"dataTag":"1",
@@ -276,6 +333,52 @@
}
}
```
+### sEvtKpRtFeedback
+- **主题**: /basestation/\${baseSN}/receive
+- **功能描述**:开启键盘实时反馈后,键盘按键时上报
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|事件名称|
+|dataTag|string|-|否|数据包标识|
+|data|object|-|是|传送参数的对象|
+|+keySn|string||是|键盘SN|
+|+keyValue|string||是|键盘提交的按键值|
+
+- **示例代码**
+```json
+{
+ "fun":"sEvtKpRtFeedback",
+ "dataTag":"1",
+ "data":{
+ "keySn":"1234567890",
+ "keyValue":"A"
+ }
+}
+```
+### sEvtKpHandUp
+- **主题**: /basestation/\${baseSN}/receive
+- **功能描述**:开启键盘举手功能后,键盘按举手键时上报
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|事件名称|
+|dataTag|string|-|否|数据包标识|
+|data|object|-|是|传送参数的对象|
+|+keySn|string||是|举手的键盘SN|
+
+- **示例代码**
+```json
+{
+ "fun":"sEvtKpHandUp",
+ "dataTag":"1",
+ "data":{
+ "keySn":"1234567890"
+ }
+}
+```
### sEvtStateCode
- **主题**: /basestation/\${baseSN}/receive
- **功能描述**:返回基站接收指令状态信息
@@ -304,7 +407,7 @@
|60001|此功能必须指定键盘SN|
- **示例代码**
-```Json
+```json
{
"fun":"sEvtStateCode",
"dataTag":"1",
@@ -327,7 +430,7 @@
|fun|string|-|是|固定指令名称|
|dataTag|string|-|否|数据包标识|
- **示例代码**
-```Json
+```json
{
"fun":"getBsOnlineState",
"dataTag":"1"
@@ -344,7 +447,7 @@
|fun|string|-|是|固定指令名称|
|dataTag|string|-|否|数据包标识|
- **示例代码**
-```Json
+```json
{
"fun":"getBsConnectState",
"dataTag":"1"
@@ -370,7 +473,7 @@
|+baseSN|string||否|基站SN|
- **示例代码**
-```Json
+```json
//连接成功
{
"fun":"fEvtBsOnlineState",
@@ -398,7 +501,7 @@
|+timeStamp|long ||否|当前时间的时间戳|
- **示例代码**
-```Json
+```json
{
"fun":"timeSync",
"dataTag":"1",
@@ -428,7 +531,7 @@
|+verCode|string||是|内部主题校验码,时间+固定key加密| -->
- **示例代码**
-```Json
+```json
{
"fun":"setBsSN",
"dataTag":"1",
@@ -448,7 +551,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsModel",
"dataTag":"1"
@@ -465,7 +568,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsFWVersion",
"dataTag":"1"
@@ -482,7 +585,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsBIC",
"dataTag":"1"
@@ -503,7 +606,7 @@
|+verCode|string||是|内部主题校验码,时间+固定key加密| -->
- **示例代码**
-```Json
+```json
{
"fun":"setBsBIC",
"dataTag":"1",
@@ -526,7 +629,7 @@
|+value|string|-|是|基站的出厂编码|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsSN",
"dataTag":"1",
@@ -548,7 +651,7 @@
|+value|string|-|是|基站的型号名称|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsModel",
"dataTag":"1",
@@ -570,7 +673,7 @@
|+value|string||是|基站的固件版本号|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsFWVersion",
"dataTag":"1",
@@ -592,7 +695,7 @@
|+value|string||是|基站的品牌码|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsBIC",
"dataTag":"1",
@@ -614,7 +717,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsNetworkMode",
"dataTag":"1"
@@ -633,7 +736,7 @@
|+value|string|-|是|设置的基站组网模式
1-配对模式
2-白名单模式|
- **示例代码**
-```Json
+```json
{
"fun":"setBsNetworkMode",
"dataTag":"1",
@@ -653,7 +756,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsPairCode",
"dataTag":"1"
@@ -674,7 +777,7 @@
|+verCode|string||是|内部主题校验码,时间+固定key加密| -->
- **示例代码**
-```Json
+```json
{
"fun":"setBsPairCode",
"dataTag":"1",
@@ -694,7 +797,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsNfcLogin",
"dataTag":"1"
@@ -713,7 +816,7 @@
|+value|string|-|是|设置的基站刷卡配对状态
0-关闭刷卡配对
1-开启刷卡配对|
- **示例代码**
-```Json
+```json
{
"fun":"setBsNfcLogin",
"dataTag":"1",
@@ -733,7 +836,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsChannel",
"dataTag":"1"
@@ -752,7 +855,7 @@
|+value|string|-|是|设置的基站信道,可设范围:1-80|
- **示例代码**
-```Json
+```json
{
"fun":"setBsChannel",
"dataTag":"1",
@@ -775,7 +878,7 @@
|+value|string||是|基站的组网模式
1-配对模式
2-白名单模式|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsNetworkMode",
"dataTag":"1",
@@ -797,7 +900,7 @@
|+value|string||是|基站的配对码|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsPairCode",
"dataTag":"1",
@@ -820,7 +923,7 @@
|+value|string||是|基站信道|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsChannel",
"dataTag":"1",
@@ -842,7 +945,7 @@
|+value|string||是|0-关闭 1-开启|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsNfcLogin",
"dataTag":"1",
@@ -865,7 +968,7 @@
|dataTag|string|-|否|数据包标识|
- **示例代码**
-```Json
+```json
{
"fun":"getBsSSID",
"dataTag":"1"
@@ -884,7 +987,7 @@
|+value|string||是|设置的基站SSID,最长12字符|
- **示例代码**
-```Json
+```json
{
"fun":"setBsSSID",
"dataTag":"1",
@@ -893,6 +996,86 @@
}
}
```
+##### getBsLoginPwd
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取基站登录密码
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|固定指令名称|
+|dataTag|string|-|否|数据包标识|
+
+- **示例代码**
+```json
+{
+ "fun":"getBsLoginPwd",
+ "dataTag":"1"
+}
+```
+##### setBsLoginPwd
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:设置基站登录密码
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|设置的基站登录密码,数字类型,为空代表无需密码登录|
+
+- **示例代码**
+```json
+{
+ "fun":"setBsLoginPwd",
+ "dataTag":"1",
+ "data":{
+ "value":"123456"
+ }
+}
+```
+##### getBsLoginState
+获取基站登录名称
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取基站登录状态
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|固定指令名称|
+|dataTag|string|-|否|数据包标识|
+
+- **示例代码**
+```json
+{
+ "fun":"getBsLoginState",
+ "dataTag":"1"
+}
+```
+##### setBsLoginState
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:设置基站登录状态
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|设置是否允许键盘自主登入
0 - 不允许键盘登入
1 - 允许键盘登入|
+
+- **示例代码**
+```json
+{
+ "fun":"setBsLoginState",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+```
+
#### 事件
##### fEvtBsSSID
- **主题**: /basestation/\${baseSN}/receive
@@ -907,7 +1090,7 @@
|+value|string||是|基站名称|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsSSID",
"dataTag":"1",
@@ -916,6 +1099,50 @@
}
}
```
+##### fEvtBsLoginPwd
+- **主题**: /basestation/\${baseSN}/receive
+- **功能描述**:返回基站登录密码
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|事件名称|
+|dataTag|string|-|否|数据包标识,可传空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|基站登录密码|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsLoginPwd",
+ "dataTag":"1",
+ "data":{
+ "value":"123456"
+ }
+}
+```
+##### fEvtBsLoginState
+- **主题**: /basestation/\${baseSN}/receive
+- **功能描述**:返回基站登录状态
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|事件名称|
+|dataTag|string|-|否|数据包标识,可传空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|基站登录状态|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsLoginState",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+```
### 键盘统一设置
#### 方法
##### getBsKpLanguage
@@ -929,7 +1156,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsKpLanguage",
"dataTag":"1"
@@ -948,7 +1175,7 @@
|+value|string||是|设置键盘显示的语言
1-简体中文
2-英文|
- **示例代码**
-```Json
+```json
{
"fun":"setBsKpLanguage",
"dataTag":"1",
@@ -957,10 +1184,9 @@
}
}
```
-
-##### getBsKpSleepLevel
-- **主题**:/manage/\${baseSN}/send
-- **功能描述**:获取键盘休眠时间等级
+##### getBsKpStbMsgMode
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取状态语设置状态
- **参数说明**
|参数名|类型|限制|是否必填|说明|
@@ -969,16 +1195,15 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
- "fun":"getBsKpSleepLevel",
+ "fun":"getBsKpStbMsgMode",
"dataTag":"1"
}
```
-
-##### setBsKpSleepLevel
-- **主题**:/manage/\${baseSN}/send
-- **功能描述**:设置键盘休眠时间等级
+##### setBsKpStbMsgMode
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:设置状态语工作状态
- **参数说明**
|参数名|类型|限制|是否必填|说明|
@@ -986,94 +1211,217 @@
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+value|string||是|设置键盘休眠的时间等级
0-30秒
1-2分钟
2-10分钟
3-45分钟|
+|+value|string||是|设置状态语工作状态
0-系统默认
1-用户内置|
- **示例代码**
-```Json
+```json
{
- "fun":"setBsKpSleepLevel",
+ "fun":"setBsKpStbMsgMode",
"dataTag":"1",
"data":{
- "value":"1"
+ "value":"0"
}
}
```
-
-##### setBsKpPauseSleep
-- **主题**:/manage/\${baseSN}/send
-- **功能描述**:设置键盘暂停休眠是否开启
注意:请谨慎使用本功能,务必在相关测试或功能完成后关闭,否则可能会导致键盘异常耗电
设置单次生效,基站拔插后复位成关闭状态
+##### getBsKpLoginMenu
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取键盘登录菜单显示状态
- **参数说明**
|参数名|类型|限制|是否必填|说明|
|---|---|---|---|---|
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
-|data|object|-|是|传送参数的对象|
-|+value|string||是|设置键盘暂停休眠是否开启
0-关闭暂停休眠
1-开启暂停休眠|
- **示例代码**
-```Json
+```json
{
- "fun":"setBsKpPauseSleep",
- "dataTag":"1",
- "data":{
- "value":"1"
- }
+ "fun":"getBsKpLoginMenu",
+ "dataTag":"1"
}
```
-#### 事件
-##### fEvtBsKpLanguage
-- **主题**: /basestation/\${baseSN}/receive
-- **功能描述**:返回键盘语言
+##### setBsKpLoginMenu
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:设置键盘登录菜单显示状态
- **参数说明**
-|参数名|类型|限制|非空|说明|
+|参数名|类型|限制|是否必填|说明|
|---|---|---|---|---|
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+value|string||是|键盘显示的语言
1-简体中文
2-英文|
+|+value|string||是|设置键盘登录菜单显示状态
0-不显示
1-显示|
- **示例代码**
-```Json
+```json
{
- "fun":"fEvtBsKpLanguage",
+ "fun":"setBsKpLoginMenu",
"dataTag":"1",
"data":{
"value":"1"
}
}
```
-
-##### fEvtBsKpSleepLevel
-- **主题**: /manage/\${baseSN}/receive
-- **功能描述**:返回键盘休眠时间等级
+##### getBsKpSleepLevel
+- **主题**:/manage/\${baseSN}/send
+- **功能描述**:获取键盘休眠时间等级
- **参数说明**
-|参数名|类型|限制|非空|说明|
+|参数名|类型|限制|是否必填|说明|
|---|---|---|---|---|
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
-|data|object|-|是|传送参数的对象|
-|+value|string||是|键盘休眠的时间等级
0-30秒
1-2分钟
2-10分钟
3-45分钟|
- **示例代码**
-```Json
+```json
{
- "fun":"fEvtBsKpSleepLevel",
- "dataTag":"1",
- "data":{
- "value":"1"
- }
+ "fun":"getBsKpSleepLevel",
+ "dataTag":"1"
}
```
-##### fEvtBsKpPauseSleep
-- **主题**: /manage/\${baseSN}/receive
-- **功能描述**:返回暂停键盘休眠开启状态
-- **参数说明**
-
+##### setBsKpSleepLevel
+- **主题**:/manage/\${baseSN}/send
+- **功能描述**:设置键盘休眠时间等级
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|设置键盘休眠的时间等级
0-30秒
1-2分钟
2-10分钟
3-45分钟|
+
+- **示例代码**
+```json
+{
+ "fun":"setBsKpSleepLevel",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+```
+
+##### setBsKpPauseSleep
+- **主题**:/manage/\${baseSN}/send
+- **功能描述**:设置键盘暂停休眠是否开启
注意:请谨慎使用本功能,务必在相关测试或功能完成后关闭,否则可能会导致键盘异常耗电
设置单次生效,基站拔插后复位成关闭状态
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|设置键盘暂停休眠是否开启
0-关闭暂停休眠
1-开启暂停休眠|
+
+- **示例代码**
+```json
+{
+ "fun":"setBsKpPauseSleep",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+```
+
+#### 事件
+##### fEvtBsKpLanguage
+- **主题**: /basestation/\${baseSN}/receive
+- **功能描述**:返回键盘语言
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|键盘显示的语言
1-简体中文
2-英文|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsKpLanguage",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+```
+##### fEvtBsKpStbMsgMode
+- **主题**: /basestation/\${baseSN}/receive
+- **功能描述**:返回状态语工作状态
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|返回状态语工作状态
0-系统默认
1-用户内置|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsKpStbMsgMode",
+ "dataTag":"1",
+ "data":{
+ "value":"0"
+ }
+}
+```
+##### fEvtBsKpLoginMenu
+- **主题**: /basestation/\${baseSN}/receive
+- **功能描述**:返回键盘登录菜单显示状态
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|返回键盘登录菜单显示状态
0-不显示
1-显示|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsKpLoginMenu",
+ "dataTag":"1",
+ "data":{
+ "value":"0"
+ }
+}
+```
+##### fEvtBsKpSleepLevel
+- **主题**: /manage/\${baseSN}/receive
+- **功能描述**:返回键盘休眠时间等级
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|键盘休眠的时间等级
0-30秒
1-2分钟
2-10分钟
3-45分钟|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsKpSleepLevel",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+```
+
+##### fEvtBsKpPauseSleep
+- **主题**: /manage/\${baseSN}/receive
+- **功能描述**:返回暂停键盘休眠开启状态
+- **参数说明**
+
|参数名|类型|限制|非空|说明|
|---|---|---|---|---|
|fun|string|-|是|指令名称|
@@ -1082,7 +1430,7 @@
|+value|string||是|返回暂停键盘休眠开启状态
0-未开启暂停休眠
1-开启暂停休眠|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsKpPauseSleep",
"dataTag":"1",
@@ -1254,7 +1602,7 @@
|+keySns|array||是|基站当前的白名单列表|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsWhitelist",
"dataTag":"1",
@@ -1278,7 +1626,7 @@
|++state|int||是|键盘SN的写入状态
0-写入成功
1-写入失败|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtSetBsWhitelist",
"dataTag":"1",
@@ -1306,7 +1654,7 @@
|++state|int||是|键盘的增加状态
0-增加成功
1-增加失败|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtAddBsWhitelist",
"dataTag":"1",
@@ -1334,7 +1682,7 @@
|++state|int||是|键盘的删除状态
0-删除成功
1-删除失败|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtDelBsWhitelist",
"dataTag":"1",
@@ -1361,7 +1709,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsTcpipParams",
"dataTag":"1"
@@ -1383,7 +1731,7 @@
|+ipAllocation|int||否|基站IP获取方式
0 - 手动指定
1 - DHCP获取|
- **示例代码**
-```Json
+```json
{
"fun":"setBsTcpipParams",
"dataTag":"1",
@@ -1406,7 +1754,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsMqttParams",
"dataTag":"1"
@@ -1429,7 +1777,7 @@
|+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒|
- **示例代码**
-```Json
+```json
{
"fun":"setBsMqttParams",
"dataTag":"1",
@@ -1460,7 +1808,7 @@
|+ipAllocation|int||否|基站IP获取方式
0 - 手动指定
1 - DHCP获取|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsTcpipParams",
"dataTag":"1",
@@ -1490,7 +1838,7 @@
|+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtBsMqttParams",
"dataTag":"1",
@@ -1503,6 +1851,70 @@
}
}
```
+### 基站加密
+#### 方法
+##### getBsSoftwareKey
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取基站软件狗密钥
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+
+- **示例代码**
+```json
+{
+ "fun":"getBsSoftwareKey",
+ "dataTag":"1"
+}
+```
+##### setBsSoftwareKey
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:设置基站软件狗密钥
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string|-|是|基站软件狗密钥,长度不超过32字节|
+
+- **示例代码**
+```json
+{
+ "fun":"setBsSoftwareKey",
+ "dataTag":"1",
+ "data":{
+ "value":"sunvote123456"
+ }
+}
+```
+#### 事件
+##### fEvtBsSoftwareKey
+- **主题**:/basestation/\${baseSN}/receive
+- **功能描述**:返回基站的软件狗密钥
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+value|string||是|返回基站的软件狗密钥|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsSoftwareKey",
+ "dataTag":"1",
+ "data":{
+ "value":"sunvote123456"
+ }
+}
+```
### 基站维护
#### 方法
##### getBsLogInfo
@@ -1516,7 +1928,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"getBsLogInfo",
"dataTag":"1"
@@ -1534,7 +1946,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"resetBsSystem",
"dataTag":"1"
@@ -1552,7 +1964,7 @@
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
-```Json
+```json
{
"fun":"resetBsPower",
"dataTag":"1"
@@ -1567,35 +1979,334 @@
##### [sEvtBsConnectState](#sevtbsconnectstate)
复位基站后,基站重新连接成功后上报
-##### fEvtBsLogInfo
-- **主题**: /manage/\${baseSN}/receive
-- **功能描述**:返回基站存储的日志内容
+##### fEvtBsLogInfo
+- **主题**: /manage/\${baseSN}/receive
+- **功能描述**:返回基站存储的日志内容
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+index|int||是|数据包序号,从1开始,传0代表日志已传完|
+|+info|string||是|日志内容
日志的时间依赖于基站授时,需要加上时区得到具体的时间|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsLogInfo",
+ "dataTag":"1",
+ "data":{
+ "index":1,
+ "info":"XXXXXXXXXXXXX"
+ }
+}
+```
+### 基站升级
+#### 方法
+##### startBsUpdate
+- **主题**:/manage/\${baseSN}/send
+- **功能描述**:基站固件升级
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+partition|int||是|存储区域
1-备份区 使用备份区固件的方法:打开基站盖子,按住SW1按钮,然后上电,这时基站固件就会更新成备份区的固件
2-更新区,实时升级基站固件|
+|+url|string||是|待升级的固件地址,可访问的网络url|
+|+version|string||是|待升级的基站固件版本|
+|+crc|uint||是|固件CRC校验码,10进制数字|
+
+
+- **示例代码**
+```json
+{
+ "fun":"startBsUpdate",
+ "dataTag":"1",
+ "data":{
+ "partition":2,
+ "url":"http://192.168.10.10/V1.0.3.bin",
+ "version":"1.0.3",
+ "crc":1429319861
+ }
+}
+```
+##### downloadFontLib
+- **主题**:/manage/\${baseSN}/send
+- **功能描述**:下载更新基站字库文件
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+partition|int||是|存储区域
1-备份区
2-更新区|
+|+url|string||是|待下载的字库地址,可访问的网络url|
+|+version|string||是|待升级的字库版本|
+|+crc|int||是|字库CRC校验码,10进制数字|
+
+
+- **示例代码**
+```json
+{
+ "fun":"downloadFontLib",
+ "dataTag":"1",
+ "data":{
+ "partition":2,
+ "url":"http://192.168.10.10/V1.0.3.bin",
+ "version":"1.0.3",
+ "crc":1429319861
+ }
+}
+```
+
+#### 事件
+##### [sEvtStateCode](#sevtstatecode)
+返回升级指令的接收状态
+注意:升级指令的接收状态需从**主题: /manage/\${baseSN}/receive** 返回
+
+##### fEvtBsUpateState
+- **主题**: /manage/\${baseSN}/receive
+- **功能描述**:返回基站启动升级状态
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+state|int||是|启动升级状态
0 - 准备升级
1 - 升级成功
2 - 升级失败
+|+msg|string||否|返回的失败原因
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsUpateState",
+ "dataTag":"1",
+ "data":{
+ "state":2,
+ "msg":"error msg"
+ }
+}
+```
+
+##### fEvtBsUpdateProgress
+- **主题**: /manage/\${baseSN}/receive
+- **功能描述**:返回基站升级进度
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+progress|int||是|升级进度,百分比|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsUpdateProgress",
+ "dataTag":"1",
+ "data":{
+ "progress":20
+ }
+}
+```
+
+##### fEvtBsFontLibState
+- **主题**: /manage/\${baseSN}/receive
+- **功能描述**:返回基站下载字库状态
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+state|int||是|启动升级状态
0 - 准备下载
1 - 下载完成
2 - 下载失败
+|+msg|string||否|返回的失败原因
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsFontLibState",
+ "dataTag":"1",
+ "data":{
+ "state":2,
+ "msg":"error msg"
+ }
+}
+```
+
+##### fEvtBsFontLibProgress
+- **主题**: /manage/\${baseSN}/receive
+- **功能描述**:返回基站下载字库进度
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+progress|int||是|下载进度,百分比|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtBsFontLibProgress",
+ "dataTag":"1",
+ "data":{
+ "progress":20
+ }
+}
+```
+
+## 键盘管理
+### 识别设置
+#### 方法
+##### setKpSN
+- **主题**:/manage/\${baseSN}/send
+- **功能描述**:设置指定键盘的出厂编码
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+oldKeySn|string||是|键盘原SN|
+|+newKeySn|string||是|待设置的新SN|
+|+time|string|数字|是|时间,yyyyMMddHHmmss|
+|+verCode|string||是|内部主题校验码,时间+固定key加密|
+
+- **示例代码**
+```json
+{
+ "fun":"setKpIdentityMode",
+ "dataTag":"1",
+ "data":{
+ "oldKeySn":"1234567890",
+ "newKeySn":"2024021011"
+ }
+}
+```
+##### getKpID
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取键盘编号
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+keySn|string||是|需读取编号的键盘SN|
+
+- **示例代码**
+```json
+{
+ "fun":"getKpID",
+ "dataTag":"1",
+ "data":{
+ "keySn":"2024021011"
+ }
+}
+```
+##### setKpID
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:设置键盘编号
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+keySn|string||是|需设置编号的键盘SN|
+|+keyId|int||是|键盘编号,不超过65535|
+- **示例代码**
+```json
+{
+ "fun":"setKpID",
+ "dataTag":"1",
+ "data":{
+ "keySn":"2024021011",
+ "keyId":1
+ }
+}
+```
+##### getKpModel
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取键盘型号
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+keySn|string||是|需读取型号的键盘SN|
+
+- **示例代码**
+```json
+{
+ "fun":"getKpModel",
+ "dataTag":"1",
+ "data":{
+ "keySn":"2024021011"
+ }
+}
+```
+
+##### getKpFWVersion
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取键盘型号
- **参数说明**
-|参数名|类型|限制|非空|说明|
+|参数名|类型|限制|是否必填|说明|
|---|---|---|---|---|
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+index|int||是|数据包序号,从1开始,传0代表日志已传完|
-|+info|string||是|日志内容
日志的时间依赖于基站授时,需要加上时区得到具体的时间|
+|+keySn|string||是|需读取版本的键盘SN|
- **示例代码**
-```Json
+```json
{
- "fun":"fEvtBsLogInfo",
+ "fun":"getKpFWVersion",
"dataTag":"1",
"data":{
- "index":1,
- "info":"XXXXXXXXXXXXX"
+ "keySn":"2024021011"
}
}
```
-### 基站升级
-#### 方法
-##### startBsUpdate
+
+##### getKpIdentityMode
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:获取键盘识别模式
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+
+- **示例代码**
+```json
+{
+ "fun":"getKpIdentityMode",
+ "dataTag":"1"
+}
+```
+##### setKpIdentityMode
- **主题**:/manage/\${baseSN}/send
-- **功能描述**:基站固件升级
+- **功能描述**:设置键盘识别模式
- **参数说明**
|参数名|类型|限制|是否必填|说明|
@@ -1603,65 +2314,46 @@
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+partition|int||是|存储区域
1-备份区 使用备份区固件的方法:打开基站盖子,按住SW1按钮,然后上电,这时基站固件就会更新成备份区的固件
2-更新区|
-|+url|string||是|待升级的固件地址,可访问的网络url|
-|+version|string||是|待升级的基站固件版本|
-|+crc|uint||是|固件CRC校验码,10进制数字|
-
+|+value|string||是|设置键盘识别模式
0 - SN模式
1 - ID+SN模式|
+|+time|string|数字|是|时间,yyyyMMddHHmmss|
+|+verCode|string||是|内部主题校验码,时间+固定key加密|
- **示例代码**
-```Json
+```json
{
- "fun":"startBsUpdate",
+ "fun":"setKpIdentityMode",
"dataTag":"1",
"data":{
- "partition":2,
- "url":"http://192.168.10.10/V1.0.3.bin",
- "version":"1.0.3",
- "crc":1429319861
+ "value":"0"
}
}
```
-##### downloadFontLib
-- **主题**:/manage/\${baseSN}/send
-- **功能描述**:下载更新基站字库文件
+#### 事件
+##### fEvtKpIdentityMode
+- **主题**:/basestation/\${baseSN}/receive
+- **功能描述**:返回键盘识别模式
- **参数说明**
-|参数名|类型|限制|是否必填|说明|
+|参数名|类型|限制|非空|说明|
|---|---|---|---|---|
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+partition|int||是|存储区域
1-备份区
2-更新区|
-|+url|string||是|待下载的字库地址,可访问的网络url|
-|+version|string||是|待升级的字库版本|
-|+crc|int||是|字库CRC校验码,10进制数字|
-
+|+value|string||是|设置键盘识别模式
0 - SN模式
1 - ID+SN模式|
- **示例代码**
-```Json
+```json
{
- "fun":"downloadFontLib",
+ "fun":"fEvtKpIdentityMode",
"dataTag":"1",
"data":{
- "partition":2,
- "url":"http://192.168.10.10/V1.0.3.bin",
- "version":"1.0.3",
- "crc":1429319861
+ "value":"0"
}
}
```
-
-#### 事件
-##### [sEvtStateCode](#sevtstatecode)
-返回升级指令的接收状态
-注意:升级指令的接收状态需从**主题: /manage/\${baseSN}/receive** 返回
-
-##### fEvtBsUpateState
-- **主题**: /manage/\${baseSN}/receive
-- **功能描述**:返回基站启动升级状态
+##### fEvtKpSN
+- **主题**:/manage/\${baseSN}/receive
+- **功能描述**:返回写键盘SN状态
- **参数说明**
|参数名|类型|限制|非空|说明|
@@ -1669,24 +2361,23 @@
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+state|int||是|启动升级状态
0 - 准备升级
1 - 升级成功
2 - 升级失败
-|+msg|string||否|返回的失败原因
+|+keySn|string||是|设置键盘SN的原SN|
+|+state|string||是|设置是否成功
0-设置成功
1-设置失败|
- **示例代码**
-```Json
+```json
{
- "fun":"fEvtBsUpateState",
+ "fun":"fEvtKpSN",
"dataTag":"1",
"data":{
- "state":2,
- "msg":"error msg"
+ "keySn":"1234567890",
+ "state":"0"
}
}
```
-
-##### fEvtBsUpdateProgress
-- **主题**: /manage/\${baseSN}/receive
-- **功能描述**:返回基站升级进度
+##### fEvtKpID
+- **主题**:/basestation/\${baseSN}/receive
+- **功能描述**:返回键盘编号
- **参数说明**
|参数名|类型|限制|非空|说明|
@@ -1694,22 +2385,23 @@
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+progress|int||是|升级进度,百分比|
+|+keySn|string||是|设置键盘SN的原SN|
+|+keyId|int||是|键盘编号|
- **示例代码**
-```Json
+```json
{
- "fun":"fEvtBsUpdateProgress",
+ "fun":"fEvtKpID",
"dataTag":"1",
"data":{
- "progress":20
+ "keySn":"2024021011",
+ "keyId":11
}
}
```
-
-##### fEvtBsFontLibState
-- **主题**: /manage/\${baseSN}/receive
-- **功能描述**:返回基站下载字库状态
+##### fEvtKpModel
+- **主题**:/basestation/\${baseSN}/receive
+- **功能描述**:返回键盘型号
- **参数说明**
|参数名|类型|限制|非空|说明|
@@ -1717,24 +2409,24 @@
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+state|int||是|启动升级状态
0 - 准备下载
1 - 下载完成
2 - 下载失败
-|+msg|string||否|返回的失败原因
+|+keySn|string||是|设置键盘SN的原SN|
+|+model|int||是|键盘型号代码|
- **示例代码**
-```Json
+```json
{
- "fun":"fEvtBsFontLibState",
+ "fun":"fEvtKpModel",
"dataTag":"1",
"data":{
- "state":2,
- "msg":"error msg"
+ "keySn":"2024021011",
+ "model":67
}
}
```
-##### fEvtBsFontLibProgress
-- **主题**: /manage/\${baseSN}/receive
-- **功能描述**:返回基站下载字库进度
+##### fEvtKpFWVersion
+- **主题**:/basestation/\${baseSN}/receive
+- **功能描述**:返回键盘型号
- **参数说明**
|参数名|类型|限制|非空|说明|
@@ -1742,20 +2434,21 @@
|fun|string|-|是|指令名称|
|dataTag|string|-|否|数据包标识,可为空字符串|
|data|object|-|是|传送参数的对象|
-|+progress|int||是|下载进度,百分比|
+|+keySn|string||是|设置键盘SN的原SN|
+|+version|string||是|键盘固件版本|
- **示例代码**
-```Json
+```json
{
- "fun":"fEvtBsFontLibProgress",
+ "fun":"fEvtKpFWVersion",
"dataTag":"1",
"data":{
- "progress":20
+ "keySn":"2024021011",
+ "version":"1.0.0"
}
}
```
-## 键盘管理
### 交互设置
#### 方法
##### setKpUserStbMsg
@@ -1774,7 +2467,7 @@
|+submitted|string||是|已提交状态语
空字符串清除|
- **示例代码**
-```Json
+```json
{
"fun":"setKpUserStbMsg",
"dataTag":"1",
@@ -1845,7 +2538,7 @@
|+state|string||是|设置状态语是否成功
0 - 成功
1 - 失败|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtKpUserStbMsg",
"dataTag":"1",
@@ -1946,7 +2639,7 @@
|+voltage|double||是|键盘电量(待键盘修改成百分比)|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtKpOnlineMsg",
"dataTag":"1",
@@ -1974,7 +2667,7 @@
|+keySns|array||否|需要执行指令的键盘SN数组,
空数组表示所有键盘|
- **示例代码**
-```Json
+```json
{
"fun":"remoteKpPowerOff",
"dataTag":"1",
@@ -1996,7 +2689,7 @@
|+keySns|array||否|需要执行指令的键盘SN数组,空数组表示所有键盘|
- **示例代码**
-```Json
+```json
{
"fun":"remoteKpSleep",
"dataTag":"1",
@@ -2023,7 +2716,7 @@
|+verCode|string||是|内部主题校验码,时间+固定key加密| -->
- **示例代码**
-```Json
+```json
{
"fun":"startKpFWUpdate",
"dataTag":"1",
@@ -2049,7 +2742,7 @@
|+verCode|string||是|内部主题校验码,时间+固定key加密| -->
- **示例代码**
-```Json
+```json
{
"fun":"stopKpFWUpdate",
"dataTag":"1"
@@ -2075,7 +2768,7 @@
|+msg|string||否|返回的失败原因
- **示例代码**
-```Json
+```json
{
"fun":"fEvtKpFWUpdateState",
"dataTag":"1",
@@ -2098,7 +2791,7 @@
|+progress|int||是|升级进度,百分比|
- **示例代码**
-```Json
+```json
{
"fun":"fEvtKpUpdateProgress",
"dataTag":"1",
@@ -2239,7 +2932,7 @@
|+tipTitle |string|-|否| 提示标题,长度最多不超过16个字节|
- **示例代码**
-```Json
+```json
//按键签到
{
"fun":"startKpSignIn",
@@ -2264,8 +2957,7 @@
}
}
```
-
-##### stopKpSignIn
+
+##### [stopKpVote](#stopkpvote)
+停止同步签到
+
#### 事件
##### [sEvtStateCode](#sevtstatecode)
发送指令后返回接收状态
@@ -2452,7 +3147,7 @@
}
}
```
-##### stopQATrueFalse
+
+
+##### [stopKpVote](#stopkpvote)
+停止判断题答题
+
#### 事件
##### [sEvtStateCode](#sevtstatecode)
发送指令后返回接收状态
@@ -2543,7 +3242,7 @@
}
}
```
-##### stopQAChoice
+
+##### [stopKpVote](#stopkpvote)
+停止选择题答题
+
#### 事件
##### [sEvtStateCode](#sevtstatecode)
发送指令后返回接收状态
@@ -2631,7 +3333,7 @@
}
}
```
-##### stopQANum
+
+##### [stopKpVote](#stopkpvote)
+停止数字题答题
+
#### 事件
##### [sEvtStateCode](#sevtstatecode)
发送指令后返回接收状态
@@ -2713,7 +3418,7 @@
}
}
```
-##### stopQAQuicker
+
+
+##### [stopKpVote](#stopkpvote)
+停止抢答
+
#### 事件
##### [sEvtStateCode](#sevtstatecode)
发送指令后返回接收状态
@@ -2760,6 +3469,82 @@
}]
}
```
+### 待机实时反馈
+#### 方法
+##### setKpStbResponse
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:启动待机实时反馈
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+state|int||是|启用待机实时反馈
0-不启用
1-启用|
+|+mode|int||是|启动待机反馈类型,state=1时有效
0-举手
1-指定按键反馈|
+|+keys|int||是|有效按键数量,state=1且mode=1时有效, 范围1-10|
+
+- **示例代码**
+```json
+//启用举手反馈
+{
+ "fun":"setKpStbResponse",
+ "dataTag":"1",
+ "data":{
+ "state":1,
+ "mode":0
+ }
+}
+//启用待机按键反馈
+{
+ "fun":"setKpStbResponse",
+ "dataTag":"1",
+ "data":{
+ "state":1,
+ "mode":1,
+ "keys":4
+ }
+}
+//关闭待机按键反馈
+{
+ "fun":"setKpStbResponse",
+ "dataTag":"1",
+ "data":{
+ "state":0
+ }
+}
+```
+
+#### 事件
+#### fEvtKpStbResponse
+- **主题**:/basestation/\${baseSN}/receive
+- **功能描述**:返回当前待机按键反馈开启状态
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|array|-|是|传送参数的对象数组|
+|+state|int||是|启用待机实时反馈
0-不启用
1-启用|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtKpStbResponse",
+ "dataTag":"1",
+ "data": {
+ "state": 1
+ }
+}
+```
+
+##### [sEvtKpRtFeedback](#sevtkprtfeedback)
+返回待机时键盘返回的按键值
+
+##### [sEvtKpHandup](#sevtkphandup)
+启动待机按键反馈类型为举手提问时返回此事件
## 在线测验
### 标准测验
#### 方法
@@ -2865,7 +3650,7 @@
}
}
```
-##### stopKpExam
+
+##### [stopKpVote](#stopkpvote)
+停止在线测验
+
##### rtGetKpExamData
- **主题**:/client/\${baseSN}/send
- **功能描述**:刷新作答数据
@@ -3101,7 +3889,7 @@
}
```
-##### stopKpMultiExam
+
+##### [stopKpVote](#stopkpvote)
+停止多科测验
#### 事件
##### [sEvtStateCode](#sevtstatecode)
@@ -3127,4 +3917,115 @@
返回测验中键盘提交答题数据
##### [fEvtFinalSubmit](#fevtfinalsubmit)
-返回键盘手动交卷标识
\ No newline at end of file
+返回键盘手动交卷标识
+
+### 自主录分
+#### 方法
+##### startKpScoreInput
+- **主题**:/client/\${baseSN}/send
+- **功能描述**:启动标准测验
+- **参数说明**
+
+|参数名|类型|限制|是否必填|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|object|-|是|传送参数的对象|
+|+examNo|int||是|0-9999
=0,新的录分
>0时,与上次启动卷号一致继续录分,不一致进入新的录分|
+|+mode|int||是|录分模式
0-自主录分
1-交叉录分,需先输入录分的人员标识|
+|+questions|array||是|题目详情|
+|++symbol | string||是 | 题号前缀,可为空 |
+|++min |int||是|可输入的最小值,默认为0|
+|++max |int||是|可输入的最大值,<=100|
+|++digits|int||是|可输入的小数位数,范围0-2|
+|++startNo | int||是| 起始题号|
+|++count | int||是| 题目数量|
+
+- **示例代码**
+```json
+{
+ "fun":"startKpScoreInput",
+ "dataTag":"1",
+ "data":{
+ "mode": 0,
+ "examNo": 0,
+ "questions": [{
+ //题号1-1-1 到1-1-2 共2题,单题满分10分
+ "symbol": "1-",
+ "min": 0,
+ "max":10,
+ "digits":1,
+ "startNo": 1,
+ "count":2
+ }, {
+ //题号3到6 共4道题,单题满分5
+ "symbol": "",
+ "min": 0,
+ "max":5,
+ "digits":0,
+ "startNo": 3,
+ "count":4
+ }]
+ }
+}
+```
+
+##### [stopKpVote](#stopkpvote)
+停止自主录分
+
+#### 事件
+##### [sEvtStateCode](#sevtstatecode)
+发送指令后返回接收状态
+
+##### fEvtKpScore
+- **主题**:/basestation/\${baseSN}/receive
+- **功能描述**:返回键盘提交录分信息
+- **参数说明**
+
+|参数名|类型|限制|非空|说明|
+|---|---|---|---|---|
+|fun|string|-|是|指令名称|
+|dataTag|string|-|否|数据包标识,可为空字符串|
+|data|array|-|是|传送参数的对象数组|
+|++scoreTag|string||是|录分标识,自主录分为空,交叉录分为键盘录分前输入的标识|
+|++keySn|string||是|键盘SN|
+|++keyValue|string||是|键盘提交的分值,1:10;2:0表示第1题提交10分,第二题提交0分|
+|++keyTime|double||是|录分时间,从启动录分开始计算,单位秒|
+
+- **示例代码**
+```json
+{
+ "fun":"fEvtKpScore",
+ "dataTag":"1",
+ "data": [{
+ "scoreTag":"5",
+ "keySn": "1234567890",
+ "keyValue":"1:8;2:7.5;3:2;4:3",
+ "keyTime":3.2
+ },
+ {
+ "scoreTag":"3",
+ "keySn": "1234567891",
+ "keyValue":"1:10;2:0",
+ "keyTime":3.5
+ }
+ ]
+}
+```
\ No newline at end of file