通讯协议-B200W-MQTT协议[外].md
47.3 KB
SunVote B200W MQTT通讯协议
MQTT服务器准备
MQTT服务器要求:
厂家使用EMQX 进行测试
能够正常收发MQTT数据。
服务器的性能参数由业务决定。
域名:
公网域名或ip或者基站所处局域网ip。
MQTT服务器配置结果检查
使用MQTT.FX客户端,配置域名,端口,用户名和密码信息,然后连接,如果提示连接成功,则表示MQTT服务器可用。基站clientid 是基站编号。
功能说明
主题说明
\${baseSN}为指定的基站的SN编码,不能为空,接收基站反馈数据需要订阅对应基站SN的接收主题。
发布的主题
应用程序发布的主题,基站订阅 /client/\${baseSN}/send /client/multiBase/send
订阅的主题
应用程序订阅的主题,基站发布 /basestation/\${baseSN}/receive /basestation/multiBase/receive
指令说明
指令功能标识 | 说明 | 约束 |
---|---|---|
get | 待机状态下获取参数属性状态及数据 | 待机状态 |
set | 待机状态下设置参数属性状态及数据 | 待机状态 |
start | 运行一个单进程业务实例(函数) | 待机状态 |
stop | 停止一个单进程业务实例(函数) | 待机状态 |
rtXXX | 在线状态下可实时执行方法及函数 |
事件说明
事件标识 | 说明 | 约束 |
---|---|---|
sEvtXXX | 系统事件 | 自动返回 |
fEvtXXX | 指令事件 | 调用对应指令后返回 |
数据格式约定
- 数据格式统一为Json格式,MQTT发送接收消息编码统一为UTF-8
- Json通用格式如下:
json { "fun":"xxx", "dataTag":"xxx", "data":{ //内容 } }
|参数 |说明 |约束| |---|---|---| |fun| 指令或事件名称|| |dataTag| 数据标签,用于对应收发数据|长度不超过4,可为0-9a-zA-Z的组合| |data| 数据内容|对象或者数组,可为空|
功能速查一览表
基站管理
键盘管理
功能归类 | 功能 | API指令 | 指令事件 |
---|---|---|---|
交互设置 - 用户实时提示信息 | 实时设置提示反馈信息 | rtSetKpUserPrompt | sEvtStateCode fEvtSetKpUserPrompt |
在线状态获取 | 开启扫描在线键盘 | startGetKpOnline | sEvtStateCode sEvtBsKpOnlineMsg |
停止扫描在线键盘 | stopGetKpOnline | sEvtStateCode | |
维护功能 - 遥控功能 | 遥控键盘休眠 | remoteKpSleep | sEvtStateCode |
绑定
功能归类 | 功能 | API指令 | 指令事件 |
---|---|---|---|
无线绑定 | 设置绑定信息到键盘 | rtSetKpBindingInfo | sEvtStateCode fEvtKpBindingInfo |
清除键盘绑定信息 | clearKpBindingInfo | sEvtStateCode fEvtClearKpBindingInfo |
签到
功能归类 | 功能 | API指令 | 指令事件 |
---|---|---|---|
随时签到 | 启动随时签到 | rtStartKpSignIn | sEvtStateCode fEvtKpSignIn |
停止随时签到 | rtStopKpSignIn | sEvtStateCode | |
实时PIN签到授权 | rtSetKpLoginAllowed | sEvtStateCode fEvtKpLoginAllowed |
按键反馈
功能归类 | 功能 | API指令 | 指令事件 |
---|---|---|---|
判断题 | 启动判断题答题 | startQATrueFalse | sEvtStateCode fEvtQATrueFalse |
停止判断题答题 | stopQATrueFalse | sEvtStateCode | |
选择题 | 启动选择题答题 | startQAChoice | sEvtStateCode fEvtQAChoice |
停止选择题答题 | stopQAChoice | sEvtStateCode | |
数字题 | 启动数字题答题 | startQANum | sEvtStateCode fEvtQANum |
停止数字题答题 | stopQANum | sEvtStateCode | |
抢答题 | 启动抢答题答题 | startQAQuicker | sEvtStateCode fEvtQAQuicker |
停止抢答题答题 | stopQAQuicker | sEvtStateCode |
在线测验
功能归类 | 功能 | API指令 | 指令事件 |
---|---|---|---|
标准测验 | 启动标准测验 | startKpExam | sEvtStateCode fEvtKpExam fEvtFinalSubmit |
停止标准测验 | stopKpExam | sEvtStateCode | |
允许键盘提交后退回修改 | rtAllowEdited | sEvtStateCode fEvtFinalSubmit |
公共事件
sEvtBsConnectState
- 主题: /basestation/\${baseSN}/receive
- 功能描述:基站连接成功时返回基站型号和基站SN,基站从已连接状态断开返回连接断开
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件类型 |
dataTag | string | - | 否 | 数据包标识,不需要时可传空字符串 |
data | object | - | 是 | 传送参数的对象 |
+baseModel | int | 否 | 基站的型号码 | |
+modelName | string | 否 | 基站的型号名称 | |
+state | int | 是 | 基站的连接状态 1-已连接 2-连接断开 |
|
+version | string | 否 | 基站固件版本 |
- 示例代码
Json //连接成功 { "fun":"sEvtBsConnectState", "dataTag":"1", "data":{ "state":1, "baseModel":218, "modelName":"B200", "version":"1.0.3" } } //连接断开 { "fun":"sEvtBsConnectState", "dataTag":"1", "data":{ "state":2 } }
### sEvtBsChannelConflict - 主题: /basestation/\${baseSN}/receive
- 功能描述:基站信道冲突时主动上报,应用程序可根据实际业务修改基站信道
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识,不需要时可传空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | int | 是 | 有冲突的信道 |
- 示例代码
Json { "fun":"sEvtBsChannelConflict", "dataTag":"1", "data":{ "value":5 //信道5有多个基站使用 } }
### sEvtBsNfcResults - 主题: /basestation/\${baseSN}/receive
- 功能描述:键盘刷卡时主动上报,如果超出基站容量会上报失败
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识,不需要时可传空字符串 |
data | object | - | 是 | 传送参数的对象 |
+keySn | string | 是 | 刷卡的键盘SN | |
+value | int | 是 | 刷卡的状态 1-成功 2-失败 |
- 示例代码
Json { "fun":"sEvtBsNfcResults", "dataTag":"1", //不需要时可传空字符串 "data":{ "keySn":"1234567890", "value":1 } }
sEvtBsKpOnlineMsg
- 主题: /basestation/\${baseSN}/receive
- 功能描述:键盘上线通知,主动上报,键盘升级成功后也会上报
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识 |
data | object | - | 是 | 传送参数的对象 |
+keySn | string | 是 | 键盘SN | |
+version | string | 是 | 键盘固件版本 | |
+model | int | 是 | 键盘型号 | |
+voltage | double | 是 | 键盘电压 |
- 示例代码
Json { "fun":"sEvtBsKpOnlineMsg", "dataTag":"1", "data":{ "keySn":"1234567890", "version":"1.0.0", "model":67, "voltage":2.8 } }
### sEvtStateCode - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站接收指令状态信息
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识 |
data | object | - | 是 | 传送参数的对象 |
+funName | string | 是 | 指令名称 | |
+code | string | 是 | 状态码,含义见下表 |
状态码 | 说明 |
---|---|
0 | 指令收取成功 |
10001 | 不能正确解析的JSON数据 |
10002 | 解析JSON错误 |
20001 | 基站未连接 |
20002 | 功能不支持 |
20003 | 基站SN格式不正确 |
20004 | 参数错误 |
20005 | 基站在答题中 |
40001 | 升级功能只能支持一个基站 |
50001 | 此功能必须指定基站 |
60001 | 此功能必须指定键盘SN |
- 示例代码
Json { "fun":"sEvtStateCode", "dataTag":"1", "data":{ "funName":"startKpRollCall", "code":"20005" } }
## 基站管理 ### 基站连接 #### 方法 ##### getBsOnlineState - 主题:/client/multiBase/send
- 功能描述:主动获取所有在线基站信息,在线基站回复
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 固定指令名称 |
dataTag | string | - | 否 | 数据包标识 |
- 示例代码
Json { "fun":"getBsOnlineState", "dataTag":"1" }
getBsConnectState
- 主题:/client/\${baseSN}/send
- 功能描述:主动获取基站连接状态
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 固定指令名称 |
dataTag | string | - | 否 | 数据包标识 |
- 示例代码
Json { "fun":"getBsConnectState", "dataTag":"1" }
#### 事件 ##### sEvtBsConnectState 参见基站连接变化系统通知
fEvtBsOnlineState
- 主题: /basestation/mutilBase/receive
- 功能描述:基站在线返回基站型号和基站SN
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件类型 |
dataTag | string | - | 否 | 数据包标识,不需要时可传空字符串 |
data | object | - | 是 | 传送参数的对象 |
+baseModel | int | 否 | 基站的型号码 | |
+modelName | string | 否 | 基站的型号名称 | |
+version | string | 否 | 基站固件版本 | |
+baseSN | string | 否 | 基站SN |
- 示例代码
Json //连接成功 { "fun":"fEvtBsOnlineState", "dataTag":"1", "data":{ "baseModel":218, "modelName":"B200", "version":"1.0.3", "baseSN":"2024041401" } }
基站授时
方法
timeSync
- 主题:/client/\${baseSN}/send
- 功能描述:发送当前时间戳给基站进行校时
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 固定指令名称 |
dataTag | string | - | 否 | 数据包标识 |
data | object | - | 是 | 传送参数的对象 |
+timeStamp | long | 否 | 当前时间的时间戳 |
- 示例代码
Json { "fun":"timeSync", "dataTag":"1", "data":{ "timeStamp":1718247133290 } }
#### 事件 ##### sEvtStateCode 返回指令的接收状态
识别设置
方法
getBsModel
- 主题:/client/\${baseSN}/send
- 功能描述:获取基站型号
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsModel", "dataTag":"1" }
##### getBsFWVersion - 主题:/client/\${baseSN}/send
- 功能描述:获取基站固件版本
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsFWVersion", "dataTag":"1" }
#### 事件 ##### fEvtBsSN - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站的出厂编码
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识 |
data | object | - | 是 | 传送参数的对象 |
+value | string | - | 是 | 基站的出厂编码 |
- 示例代码
Json { "fun":"fEvtBsSN", "dataTag":"1", "data":{ "value":"2024041201" } }
##### fEvtBsModel - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站的型号
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识 |
data | object | - | 是 | 传送参数的对象 |
+value | string | - | 是 | 基站的型号名称 |
- 示例代码
Json { "fun":"fEvtBsModel", "dataTag":"1", "data":{ "value":"B200" } }
##### fEvtBsFWVersion - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站的固件版本
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识 |
data | object | - | 是 | 传送参数的对象 |
+value | string | 是 | 基站的固件版本号 |
- 示例代码
Json { "fun":"fEvtBsFWVersion", "dataTag":"1", "data":{ "value":"1.0.3" } }
### 组网设置 #### 方法 ##### getBsPairCode - 主题:/client/\${baseSN}/send
- 功能描述:获取基站配对码
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsPairCode", "dataTag":"1" }
##### getBsNfcLogin - 主题:/client/\${baseSN}/send
- 功能描述:获取刷卡配对状态
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsNfcLogin", "dataTag":"1" }
##### setBsNfcLogin - 主题:/client/\${baseSN}/send
- 功能描述:设置基站刷卡配对状态
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | string | - | 是 | 设置的基站刷卡配对状态 0-关闭刷卡配对 1-开启刷卡配对 |
- 示例代码
Json { "fun":"setBsNfcLogin", "dataTag":"1", "data":{ "value":"1" } }
##### getBsChannel - 主题:/client/\${baseSN}/send
- 功能描述:获取基站信道
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsChannel", "dataTag":"1" }
##### setBsChannel - 主题:/client/\${baseSN}/send
- 功能描述:设置基站信道
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | string | - | 是 | 设置的基站信道,可设范围:1-80 |
- 示例代码
Json { "fun":"setBsChannel", "dataTag":"1", "data":{ "value":"23" } }
#### 事件 ##### fEvtBsPairCode - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站配对码
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识,可传空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | string | 是 | 基站的配对码 |
- 示例代码
Json { "fun":"fEvtBsPairCode", "dataTag":"1", "data":{ "value":"123456" } }
fEvtBsChannel
- 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站信道
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识,可传空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | string | 是 | 基站信道 |
- 示例代码
Json { "fun":"fEvtBsChannel", "dataTag":"1", "data":{ "value":"5" } }
##### fEvtBsNfcLogin - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站是否允许NFC刷卡
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识,可传空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | string | 是 | 0-关闭 1-开启 |
- 示例代码
Json { "fun":"fEvtBsNfcLogin", "dataTag":"1", "data":{ "value":"1" } }
### 登录设置 #### 方法 ##### getBsSSID 获取基站登录名称 - 主题:/client/\${baseSN}/send
- 功能描述:获取基站登录名称
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 固定指令名称 |
dataTag | string | - | 否 | 数据包标识 |
- 示例代码
Json { "fun":"getBsSSID", "dataTag":"1" }
##### setBsSSID - 主题:/client/\${baseSN}/send
- 功能描述:设置基站登录名称
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | string | 是 | 设置的基站SSID,最长12字符 |
- 示例代码
Json { "fun":"setBsSSID", "dataTag":"1", "data":{ "value":"1901班" } }
#### 事件 ##### fEvtBsSSID - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站名称
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 事件名称 |
dataTag | string | - | 否 | 数据包标识,可传空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | string | 是 | 基站名称 |
- 示例代码
Json { "fun":"fEvtBsSSID", "dataTag":"1", "data":{ "value":"1901班" } }
### 键盘统一设置 #### 方法 ##### getBsKpLanguage - 主题:/client/\${baseSN}/send
- 功能描述:获取键盘语言
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsKpLanguage", "dataTag":"1" }
##### setBsKpLanguage - 主题:/client/\${baseSN}/send
- 功能描述:设置键盘语言
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+value | string | 是 | 设置键盘显示的语言 1-简体中文 2-英文 |
- 示例代码
Json { "fun":"setBsKpLanguage", "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" } }
### 网络参数设置 #### 方法 ##### getBsTcpipParams - 主题:/client/\${baseSN}/send
- 功能描述:获取基站TCP/IP参数
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsTcpipParams", "dataTag":"1" }
##### setBsTcpipParams - 主题:/client/\${baseSN}/send
- 功能描述:设置基站TCP/IP参数
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+ip | string | 否 | IP地址 | |
+mask | string | 否 | 子网掩码 | |
+gateway | string | 否 | 网关地址 | |
+ipAllocation | int | 否 | 基站IP获取方式 0 - 手动指定 1 - DHCP获取 |
- 示例代码
Json { "fun":"setBsTcpipParams", "dataTag":"1", "data":{ "ip":"192.168.0.10", "mask":"255.255.255.0", "gateway":"192.168.0.1", "ipAllocation":1 } }
##### getBsMqttParams - 主题:/client/\${baseSN}/send
- 功能描述:获取基站MQTT参数
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsMqttParams", "dataTag":"1" }
##### setBsMqttParams - 主题:/client/\${baseSN}/send
- 功能描述:设置基站MQTT参数
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+server | string | 是 | 服务器IP地址 | |
+port | int | 是 | 端口,默认1883 | |
+userName | string | 否 | 连接服务器的用户名,可不设置 | |
+password | string | 否 | 连接服务器的密码,可不设置 | |
+interval | int | >=10 | 否 | 基站连接服务器失败后重连的间隔时长,单位秒 |
- 示例代码
Json { "fun":"setBsMqttParams", "dataTag":"1", "data":{ "server":"192.168.10.10", "port":1883, "userName":"", "password":"", "interval":30 } }
#### 事件 ##### fEvtBsTcpipParams - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站TCP/IP参数
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+mac | string | 是 | MAC地址 | |
+ip | string | 是 | IP地址 | |
+mask | string | 是 | 子网掩码 | |
+gateway | string | 是 | 网关地址 | |
+ipAllocation | int | 否 | 基站IP获取方式 0 - 手动指定 1 - DHCP获取 |
- 示例代码
Json { "fun":"fEvtBsTcpipParams", "dataTag":"1", "data":{ "mac":"FF:FF:FF:FF:FF:FF", "ip":"192.168.0.10", "mask":"255.255.255.0", "gateway":"192.168.0.1", "ipAllocation":1 } }
##### fEvtBsMqttParams - 主题: /basestation/\${baseSN}/receive
- 功能描述:返回基站MQTT参数
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+server | string | 是 | 服务器地址,IP | |
+port | int | 是 | 端口,默认1883 | |
+userName | string | 否 | 连接服务器的用户名,可不设置 | |
+password | string | 否 | 连接服务器的密码,可不设置 | |
+interval | int | >=10 | 否 | 基站连接服务器失败后重连的间隔时长,单位秒 |
- 示例代码
Json { "fun":"fEvtBsMqttParams", "dataTag":"1", "data":{ "server":"192.168.10.10", "port":1883, "userName":"", "password":"", "interval":30 } }
### 基站维护 #### 方法 ##### getBsLogInfo - 主题:/client/\${baseSN}/send
- 功能描述:获取基站日志,用于出现故障需要排查问题时获取基站内部日志记录
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
- 示例代码
Json { "fun":"getBsLogInfo", "dataTag":"1" }
事件
sEvtStateCode
返回指令的接收状态
键盘管理
交互设置
方法
rtSetKpUserPrompt
- 主题:/client/\${baseSN}/send
- 功能描述:实时设置提示反馈信息
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 否 | 传送参数的对象数组 |
++keySns | array | 是 | 指定的键盘SN数组,空数组表示全部在线键盘 注意:不允许空数组和指定SN数组混合使用 包含空数组默认为全部在线键盘,其他指定键盘无效 |
|
++info | string | 否 | 设置的反馈信息 不同键盘可设置不同反馈信息 |
//分别提示
{
"fun": "rtSetKpUserPrompt",
"dataTag":"1",
"data": [
{
"keySns": ["1479824643","1479824645"],
"info": "答对了"
},
{
"keySns": ["1479824644"],
"info": "答错了"
}
]
}
//统一提示
{
"fun": "rtSetKpUserPrompt",
"dataTag":"1",
"data": [
{
"keySns": [],
"info": "答题结束"
}
]
}
事件
sEvtStateCode
发送指令后返回接收状态
fEvtSetKpUserPrompt
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回实时设置提示语是否成功
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 是 | 传送参数的对象数组 |
++keySn | string | 是 | 设置提示语信息的键盘SN | |
++state | string | 是 | 设置的提示语是否成功 0 - 成功 1 - 失败 |
{
"fun": "fEvtSetKpUserPrompt",
"dataTag":"1",
"data": [
{
"keySn": "1479824643",
"state": "0"
},
{
"keySn": "1479824645",
"state": "0"
},
{
"keySn": "1479824644",
"state": "1"
}
]
}
在线状态
方法
startGetKpOnline
- 主题:/client/\${baseSN}/send
- 功能描述:开始获取键盘在线信息,键盘在线返回键盘信息 sEvtBsKpOnlineMsg
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
{
"fun": "startGetKpOnline",
"dataTag":"1"
}
stopGetKpOnline
- 主题:/client/\${baseSN}/send
- 功能描述:停止获取键盘在线信息
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
{
"fun": "stopGetKpOnline",
"dataTag":"1"
}
事件
sEvtStateCode
发送指令后返回此事件
sEvtBsKpOnlineMsg
键盘在线返回此事件
维护功能
方法
remoteKpSleep
- 主题:/client/\${baseSN}/send
- 功能描述:遥控键盘休眠
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象数组 |
+keySns | array | 否 | 需要执行指令的键盘SN数组,空数组表示所有键盘 |
- 示例代码
Json { "fun":"remoteKpSleep", "dataTag":"1", "data":{ "keySns":["1479824644"] } }
#### 事件 ##### sEvtStateCode 返回指令的接收状态
绑定
无线绑定
方法
rtSetKpBindingInfo
- 主题:/client/\${baseSN}/send
- 功能描述:实时设置绑定信息到键盘
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 是 | 传送参数的对象数组,不可为空 |
++keySn | string | 是 | 需要设置绑定信息的键盘SN | |
++info | string | 是 | 设置的绑定信息,一般为学生姓名 最长48个字符,显示在键盘左上角 |
{
"fun": "rtSetKpBindingInfo",
"dataTag":"1",
"data": [
{
"keySn": "1479824643",
"info": "张三"
},
{
"keySn": "1479824644",
"info": "李四"
}
]
}
clearKpBindingInfo
- 主题:/client/\${baseSN}/send
- 功能描述:清除键盘绑定信息
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象数组 |
+keySns | array | 否 | 需要清除绑定信息键盘SN数组, 空数组表示清空所有键盘 |
{
"fun": "clearKpBindingInfo",
"dataTag":"1",
"data": {
"keySns":["1479824643","1479824644","1479824645"]
}
}
事件
sEvtStateCode
发送指令后返回接收状态
fEvtKpBindingInfo
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘实时设置绑定信息的状态是否成功
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 否 | 传送参数的对象数组 |
++keySn | string | 是 | 需要设置绑定信息的键盘SN | |
++state | string | 是 | 设置的绑定信息是否成功 0 - 成功 1 - 失败 |
{
"fun": "fEvtKpBindingInfo",
"dataTag":"1",
"data": [
{
"keySn": "1479824643",
"state": "0"
},
{
"keySn": "1479824644",
"state": "1"
}
]
}
fEvtClearKpBindingInfo
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回清空绑定信息的指令状态是否成功
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 否 | 传送参数的对象 |
+state | string | 是 | 设置的绑定信息是否成功 0 - 成功 1 - 失败 |
{
"fun": "fEvtClearKpBindingInfo",
"dataTag":"1",
"data": {
"state": "0"
}
}
签到
随时签到
方法
rtStartKpSignIn
- 主题:/client/\${baseSN}/send
- 功能描述:启动随时签到绑定
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传递参数的对象 |
+mode | int | - | 是 | 签到模式 2-PIN码签到,输入pin码后由应用程序决定是否授权 |
{
"fun": "rtStartKpSignIn",
"dataTag":"1",
"data":{
"mode":2
}
}
rtStopKpSignIn
- 主题:/client/\${baseSN}/send
- 功能描述:停止签到绑定
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
{
"fun": "rtStopKpSignIn",
"dataTag":"1"
}
rtSetKpLoginAllowed
- 主题:/client/\${baseSN}/send
- 功能描述:实时PIN绑定授权,可取消授权
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传递参数的对象 |
+keySn | string | - | 是 | 键盘SN |
+state | int | - | 是 | 1-授权成功 2-授权失败 3-解除已授权 |
{
"fun": "rtSetKpLoginAllowed",
"dataTag":"1",
"data":{
"keySn":"1479824643",
"state":1
}
}
事件
sEvtStateCode
发送指令后返回接收状态
fEvtKpSignIn
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘提交签到信息
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 是 | 传送参数的对象数组 |
++keySn | string | 是 | 键盘SN | |
++keyValue | string | 是 | 键盘提交的按键值 | |
++keyTime | double | 是 | 答题时间,从启动开始计算,单位秒 |
{
"fun": "fEvtKpSignIn",
"dataTag":"1",
"data": [{
"keySn": "1234567890",
"keyValue":"1004",
"keyTime":30.2
},
{
"keySn": "1234567891",
"keyValue":"1003",
"keyTime":32.5
}
]
}
fEvtKpLoginAllowed
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘授权状态
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+keySn | string | 是 | 键盘SN | |
+state | string | 是 | 0-执行成功 1-执行失败 |
{
"fun": "fEvtKpLoginAllowed",
"dataTag":"1",
"data": {
"keySn":"1479824643",
"state":"0"
}
}
按键反馈
判断题
方法
startQATrueFalse
- 主题:/client/\${baseSN}/send
- 功能描述:启动判断题答题
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+keySns | array | 是 | 指定的键盘SN数组,空数组表示全部在线键盘 | |
+mode | int | 是 | 1 - True/False 对/错 2 - Yes/No 是/否 3 - √/× |
|
+allowModify | int | 是 | 0 - 不允许修改 1 - 允许修改 |
|
+tip | string | 否 | 提示的标题,长度不超过16字符 |
{
"fun": "startQATrueFalse",
"dataTag":"1",
"data":{
"keySns":[],
"mode":1,
"allowModify":1,
"tip":"请判断对错"
}
}
stopQATrueFalse
- 主题:/client/\${baseSN}/send
- 功能描述:停止判断题答题
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
{
"fun": "stopQATrueFalse",
"dataTag":"1"
}
事件
sEvtStateCode
发送指令后返回接收状态
fEvtQATrueFalse
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘提交答题信息
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 是 | 传送参数的对象数组 |
++keySn | string | 是 | 键盘SN | |
++keyValue | string | 是 | 键盘提交的按键值 1-对 2-错 |
|
++keyTime | double | 是 | 答题时间,从启动开始计算,单位秒 |
{
"fun": "fEvtQATrueFalse",
"dataTag":"1",
"data": [{
"keySn": "1234567890",
"keyValue":"1",
"keyTime":30.2
}
]
}
选择题
方法
startQAChoice
- 主题:/client/\${baseSN}/send
- 功能描述:启动选择题答题
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+keySns | array | 是 | 指定的键盘SN数组,空数组表示全部在线键盘 | |
+mode | int | 是 | 显示模式 1:显示字母(默认值) 2:显示数字 |
|
+lessMode | int | 是 | 迫选模式 0:可缺选(默认值) 1:不可缺选2:允许重复输入3:允许重复输入且不可缺选 |
|
+options | int | 是 | 选项数量,1≤M≤10(默认值4) | |
+optionalN | int | 是 | 可选项个数,1≤N≤M(默认值1) | |
+allowModify | int | 是 | 修改模式 0 - 不允许修改 1 - 允许修改 |
|
+tip | string | 否 | 提示的标题,长度不超过16字符 |
{
"fun": "startQAChoice",
"dataTag":"1",
"data":{
"keySns":[],
"mode": 1,
"lessMode": 0,
"options": 4,
"optionalN": 1,
"allowModify":1,
"tip":"请选择"
}
}
stopQAChoice
- 主题:/client/\${baseSN}/send
- 功能描述:停止选择题答题
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
{
"fun": "stopQAChoice",
"dataTag":"1"
}
事件
sEvtStateCode
发送指令后返回接收状态
fEvtQAChoice
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘提交答题信息
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 是 | 传送参数的对象数组 |
++keySn | string | 是 | 键盘SN | |
++keyValue | string | 是 | 键盘提交的按键值 | |
++keyTime | double | 是 | 答题时间,从启动开始计算,单位秒 |
{
"fun": "fEvtQAChoice",
"dataTag":"1",
"data": [{
"keySn": "1234567890",
"keyValue":"A",
"keyTime":3.2
}]
}
数字题
方法
startQANum
- 主题:/client/\${baseSN}/send
- 功能描述:启动数字题答题
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+keySns | array | 是 | 指定的键盘SN数组,空数组表示全部在线键盘 | |
+mode | int | 是 | 模式 0:无规则 (S6最多16位,T2最多14位) 1:带小数位上下限(T2不支持) |
|
+digits | int | 是 | 小数位数,范围0-2,mode=1时有效 | |
+numMin | int | 是 | 可输入下限,mode=1有效,范围0-100 | |
+numMax | int | 是 | 可输入上限,mode=1有效,范围0-100 | |
+allowModify | int | 是 | 修改模式 0 - 不允许修改 1 - 允许修改 |
|
+tip | string | 否 | 提示的标题,长度不超过16字符 |
{
"fun": "startQANum",
"dataTag":"1",
"data":{
"keySns":[],
"mode": 1,
"digits": 1,
"numMin": 0,
"numMax": 100,
"allowModify":1,
"tip":"请输入数字"
}
}
stopQANum
- 主题:/client/\${baseSN}/send
- 功能描述:停止数字题答题
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
{
"fun": "stopQANum",
"dataTag":"1"
}
事件
sEvtStateCode
发送指令后返回接收状态
fEvtQANum
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘提交答题信息
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 是 | 传送参数的对象数组 |
++keySn | string | 是 | 键盘SN | |
++keyValue | string | 是 | 键盘提交的按键值 | |
++keyTime | double | 是 | 答题时间,从启动开始计算,单位秒 |
{
"fun": "fEvtQANum",
"dataTag":"1",
"data": {
"keySn": "1234567890",
"keyValue":"10",
"keyTime":3.2
}
}
抢答题
方法
startQAQuicker
- 主题:/client/\${baseSN}/send
- 功能描述:启动抢答题答题
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+keySns | array | 是 | 指定的键盘SN数组,空数组表示全部在线键盘 | |
+mode | int | 是 | 模式 0:普通抢答 |
|
+allowModify | int | 是 | 修改模式 0 - 不允许修改 1 - 允许修改 |
|
+tip | string | 否 | 提示的标题,长度不超过16字符 |
{
"fun": "startQAQuicker",
"dataTag":"1",
"data":{
"keySns":[],
"mode": 0,
"allowModify":1,
"tip":"请按键抢答"
}
}
stopQAQuicker
- 主题:/client/\${baseSN}/send
- 功能描述:停止抢答答题
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
{
"fun": "stopQAQuicker",
"dataTag":"1"
}
事件
sEvtStateCode
发送指令后返回接收状态
fEvtQAQuicker
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘提交答题信息
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 是 | 传送参数的对象数组 |
++keySn | string | 是 | 键盘SN | |
++keyValue | string | 是 | 键盘提交的按键值 | |
++keyTime | double | 是 | 答题时间,从启动开始计算,单位秒 |
{
"fun": "fEvtQAQuicker",
"dataTag":"1",
"data": [{
"keySn": "1234567890",
"keyValue":"1",
"keyTime":3.2
}]
}
在线测验
标准测验
方法
startKpExam
- 主题:/client/\${baseSN}/send
- 功能描述:启动标准测验
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+examNo | int | 是 | 0-9999 =0,新的测验 >0时,与上次启动卷号一致继续测验,不一致进入新的测验 |
|
+mode | int | 是 | 显示模式 0-不显示开头 1-显示“Q”开头 2-显示“题”开头 |
|
+questions | array | 是 | 题目详情 | |
++symbol | string | 是 | 题号前缀,可为空 | |
++quesType | int | 是 | 题目类型 1:单选 2:多选(排序) 3:数字 4:判断 |
|
++option | int | 是 | 选项数目 quesType = 1 有效。 quesType = 2 有效。 此项缺省时 默认4; 范围:1-10。 |
|
++startNo | int | 是 | 起始题号 | |
++count | int | 是 | 题目数量 |
//自定义题号
{
"fun": "startKpExam",
"dataTag":"1",
"data":{
"mode": 0,
"examNo": 1,
"questions": [{
//题号1-1-1 到1-1-10 共10题单选
"symbol": "1-1-",
"quesType": 1,
"startNo": 1,
"count":10
}, {
//题号2-2和2-3共两题 多选题,5个选项
"symbol": "2-",
"quesType": 2,
"option": 5,
"startNo": 2,
"count":2
}, {
//题号3-1和3-2共两道数字题
"symbol": "3-",
"quesType": 3,
"startNo": 1,
"count":2
}, {
//题号4和5 ,判断题
"symbol": "",
"quesType": 4,
"startNo": 4,
"count":2
}]
}
}
//显示Q开头
{
"fun": "startKpExam",
"dataTag":"1",
"data":{
"mode": 1,
"examNo": 1,
"questions": [{
//Q1-Q20,单选题
"symbol": "",
"quesType": 1,
"startNo": 1,
"count":20
}]
}
}
//显示题开头
{
"fun": "startKpExam",
"dataTag":"1",
"data":{
"mode": 2,
"examNo": 1,
"questions": [{
//题1-题20,单选题
"symbol": "",
"quesType": 1,
"startNo": 1,
"count":20
}]
}
}
stopKpExam
- 主题:/client/\${baseSN}/send
- 功能描述:停止标准测验
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
{
"fun": "stopKpExam",
"dataTag":"1"
}
rtKpAllowEdited
- 主题:/client/\${baseSN}/send
- 功能描述:键盘键盘后,允许键盘修改答案
- 参数说明
参数名 | 类型 | 限制 | 是否必填 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象 |
+keySns | array | 是 | 指定的键盘SN数组,空数组表示全部在线键盘 |
{
"fun": "rtKpAllowEdited",
"dataTag":"1",
"data":{
"keySns":["1234567890","1234567891"]
}
}
事件
sEvtStateCode
发送指令后返回接收状态
fEvtKpExam
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘提交答题信息
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | array | - | 是 | 传送参数的对象数组 |
++keySn | string | 是 | 键盘SN | |
++keyValue | string | 是 | 键盘提交的按键值,1:A;2:B表示第1题提交A,第二题提交B | |
++keyTime | double | 是 | 答题时间,从启动开始计算,单位秒 |
{
"fun": "fEvtKpExam",
"dataTag":"1",
"data": [{
"keySn": "1234567890",
"keyValue":"1:A;2:B",
"keyTime":3.2
},
{
"keySn": "1234567891",
"keyValue":"1:B;2:B",
"keyTime":3.5
}
]
}
fEvtFinalSubmit
- 主题:/basestation/\${baseSN}/receive
- 功能描述:返回键盘手动交卷标识
- 参数说明
参数名 | 类型 | 限制 | 非空 | 说明 |
---|---|---|---|---|
fun | string | - | 是 | 指令名称 |
dataTag | string | - | 否 | 数据包标识,可为空字符串 |
data | object | - | 是 | 传送参数的对象数组 |
++keySn | string | 是 | 键盘SN | |
++keyValue | string | 是 | 0 - 未提交(修改键盘运行提交时上报) 1 - 已交卷 |
|
++keyTime | double | 是 | 提交时间,从启动开始计算,单位秒 |
{
"fun": "fEvtFinalSubmit",
"dataTag":"1",
"data": [{
"keySn": "1234567890",
"keyValue":"1",
"keyTime":3.2
}]
}