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通用格式如下: +
{
+ "fun":"xxx",
+ "dataTag":"xxx",
+ "data":{
+ //内容
+ }
+ }
+
参数 | +说明 | +约束 | +
---|---|---|
fun | +指令或事件名称 | ++ |
dataTag | +数据标签,用于对应收发数据 | +长度不超过4,可为0-9a-zA-Z的组合 | +
data | +数据内容 | +对象或者数组,可为空 | +
注意:基站接收指令数据单次不超过2K长度,在指定键盘发送指令时,如果指令长度超出限制,建议将指令进行拆分,分次发送,如果是所有键盘执行的指令,可将keySns设为空数组不使用指定键盘的模式
+功能速查一览表
+基站管理
+键盘管理
+功能归类 | +功能 | +API指令 | +指令事件 | +
---|---|---|---|
交互设置 - 用户实时提示信息 | +实时设置提示反馈信息 | +rtSetKpUserPrompt | +sEvtStateCode fEvtSetKpUserPrompt |
+
在线状态获取 | +开启扫描在线键盘 | +startGetKpOnline | +sEvtStateCode fEvtKpOnlineMsg |
+
+ | 停止扫描在线键盘 | +stopGetKpOnline | +sEvtStateCode | +
维护功能 - 遥控功能 | +遥控键盘休眠 | +remoteKpSleep | +sEvtStateCode | +
绑定
+功能归类 | +功能 | +API指令 | +指令事件 | +
---|---|---|---|
无线绑定 | +设置绑定信息到键盘 | +rtSetKpBindingInfo | +sEvtStateCode fEvtKpBindingInfo |
+
+ | 清除键盘绑定信息 | +clearKpBindingInfo | +sEvtStateCode fEvtClearKpBindingInfo |
+
签到
+功能归类 | +功能 | +API指令 | +指令事件 | +
---|---|---|---|
同步签到 | +启动同步签到 | +startKpSignIn | +sEvtStateCode fEvtKpSignIn |
+
+ | 停止同步签到 | +stopKpSignIn | +sEvtStateCode | +
随时签到 | +启动随时签到 | +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 | ++ | 否 | +基站固件版本 | +
-
+
- 示例代码 +
//连接成功
+{
+ "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 | ++ | 是 | +有冲突的信道 | +
-
+
- 示例代码 +
{
+ "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-失败 |
+
-
+
- 示例代码 +
{
+ "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 | ++ | 是 | +键盘型号 | +
-
+
- 示例代码 +
{
+ "fun":"sEvtBsKpOnlineMsg",
+ "dataTag":"1",
+ "data":{
+ "keySn":"1234567890",
+ "version":"1.0.0",
+ "model":67
+ }
+}
+
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 | +
-
+
- 示例代码 +
{
+ "fun":"sEvtStateCode",
+ "dataTag":"1",
+ "data":{
+ "funName":"startKpRollCall",
+ "code":"20005"
+ }
+}
+
基站管理
+基站连接
+方法
+getBsOnlineState
+-
+
- 主题:/client/multiBase/send +
- 功能描述:主动获取所有在线基站信息,在线基站回复 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +固定指令名称 | +
dataTag | +string | +- | +否 | +数据包标识 | +
-
+
- 示例代码 +
{
+ "fun":"getBsOnlineState",
+ "dataTag":"1"
+}
+
getBsConnectState
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:主动获取基站连接状态 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +固定指令名称 | +
dataTag | +string | +- | +否 | +数据包标识 | +
-
+
- 示例代码 +
{
+ "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 | +
-
+
- 示例代码 +
//连接成功
+{
+ "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 | ++ | 否 | +当前时间的时间戳 | +
-
+
- 示例代码 +
{
+ "fun":"timeSync",
+ "dataTag":"1",
+ "data":{
+ "timeStamp":1718247133290
+ }
+}
+
事件
+sEvtStateCode
+返回指令的接收状态
+识别设置
+方法
+getBsModel
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取基站型号 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"getBsModel",
+ "dataTag":"1"
+}
+
getBsFWVersion
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取基站固件版本 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"getBsFWVersion",
+ "dataTag":"1"
+}
+
事件
+fEvtBsSN
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:返回基站的出厂编码 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +事件名称 | +
dataTag | +string | +- | +否 | +数据包标识 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | +- | +是 | +基站的出厂编码 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsSN",
+ "dataTag":"1",
+ "data":{
+ "value":"2024041201"
+ }
+}
+
fEvtBsModel
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:返回基站的型号 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +事件名称 | +
dataTag | +string | +- | +否 | +数据包标识 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | +- | +是 | +基站的型号名称 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsModel",
+ "dataTag":"1",
+ "data":{
+ "value":"B200"
+ }
+}
+
fEvtBsFWVersion
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:返回基站的固件版本 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +事件名称 | +
dataTag | +string | +- | +否 | +数据包标识 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | ++ | 是 | +基站的固件版本号 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsFWVersion",
+ "dataTag":"1",
+ "data":{
+ "value":"1.0.3"
+ }
+}
+
组网设置
+方法
+getBsPairCode
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取基站配对码 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"getBsPairCode",
+ "dataTag":"1"
+}
+
getBsNfcLogin
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取刷卡配对状态 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"getBsNfcLogin",
+ "dataTag":"1"
+}
+
setBsNfcLogin
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:设置基站刷卡配对状态 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | +- | +是 | +设置的基站刷卡配对状态 0-关闭刷卡配对 1-开启刷卡配对 |
+
-
+
- 示例代码 +
{
+ "fun":"setBsNfcLogin",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+
getBsChannel
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取基站信道 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"getBsChannel",
+ "dataTag":"1"
+}
+
setBsChannel
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:设置基站信道 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | +- | +是 | +设置的基站信道,可设范围:1-80 | +
-
+
- 示例代码 +
{
+ "fun":"setBsChannel",
+ "dataTag":"1",
+ "data":{
+ "value":"23"
+ }
+}
+
事件
+fEvtBsPairCode
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:返回基站配对码 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +事件名称 | +
dataTag | +string | +- | +否 | +数据包标识,可传空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | ++ | 是 | +基站的配对码 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsPairCode",
+ "dataTag":"1",
+ "data":{
+ "value":"123456"
+ }
+}
+
fEvtBsChannel
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:返回基站信道 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +事件名称 | +
dataTag | +string | +- | +否 | +数据包标识,可传空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | ++ | 是 | +基站信道 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsChannel",
+ "dataTag":"1",
+ "data":{
+ "value":"5"
+ }
+}
+
fEvtBsNfcLogin
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:返回基站是否允许NFC刷卡 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +事件名称 | +
dataTag | +string | +- | +否 | +数据包标识,可传空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | ++ | 是 | +0-关闭 1-开启 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsNfcLogin",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+
登录设置
+方法
+getBsSSID
+获取基站登录名称
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取基站登录名称 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +固定指令名称 | +
dataTag | +string | +- | +否 | +数据包标识 | +
-
+
- 示例代码 +
{
+ "fun":"getBsSSID",
+ "dataTag":"1"
+}
+
setBsSSID
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:设置基站登录名称 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | ++ | 是 | +设置的基站SSID,最长12字符 | +
-
+
- 示例代码 +
{
+ "fun":"setBsSSID",
+ "dataTag":"1",
+ "data":{
+ "value":"1901班"
+ }
+}
+
事件
+fEvtBsSSID
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:返回基站名称 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +事件名称 | +
dataTag | +string | +- | +否 | +数据包标识,可传空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | ++ | 是 | +基站名称 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsSSID",
+ "dataTag":"1",
+ "data":{
+ "value":"1901班"
+ }
+}
+
键盘统一设置
+方法
+getBsKpLanguage
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取键盘语言 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"getBsKpLanguage",
+ "dataTag":"1"
+}
+
setBsKpLanguage
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:设置键盘语言 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | ++ | 是 | +设置键盘显示的语言 1-简体中文 2-英文 |
+
-
+
- 示例代码 +
{
+ "fun":"setBsKpLanguage",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+
事件
+fEvtBsKpLanguage
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:返回键盘语言 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+value | +string | ++ | 是 | +设置键盘显示的语言 1-简体中文 2-英文 |
+
-
+
- 示例代码 +
{
+ "fun":"fEvtBsKpLanguage",
+ "dataTag":"1",
+ "data":{
+ "value":"1"
+ }
+}
+
配对模式
+方法
+startBsFastPair
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:启动快速配对,键盘配对成功返回键盘信息 sEvtBsKpOnlineMsg +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"startBsFastPair",
+ "dataTag":"1"
+}
+
stopBsFastPair
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:停止快速配对 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"stopBsFastPair",
+ "dataTag":"1"
+}
+
事件
+sEvtStateCode
+发送指令后返回此事件
+sEvtBsKpOnlineMsg
+键盘配对成功后在线返回此事件
+白名单模式
+方法
+getBsWhitelist
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取基站白名单列表 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"getBsWhitelist",
+ "dataTag":"1"
+}
+
setBsWhitelist
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:设置基站白名单列表,将基站白名单替换为写入的键盘SN列表 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+keySns | +array | +- | +是 | +待写入的键盘SN数组,最多不超过200 键盘SN为10位数字 |
+
-
+
- 示例代码 +
{
+ "fun":"setBsWhitelist",
+ "dataTag":"1",
+ "data":{
+ "keySns":["2024021001","2024021002","2024021003","2024021004"]
+ }
+}
+
clearBsWhitelist
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:清空基站白名单列表 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"clearBsWhitelist",
+ "dataTag":"1"
+}
+
addBsWhitelist
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:添加键盘至基站白名单列表 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+keySns | +array | +- | +是 | +待添加的键盘SN列表 键盘SN为10位数字 |
+
-
+
- 示例代码 +
{
+ "fun":"addBsWhitelist",
+ "dataTag":"1",
+ "data":{
+ "keySns":["2024021001"]
+ }
+}
+
delBsWhitelist
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:从基站白名单列表中删除键盘 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+keySns | +array | +- | +是 | +待删除的键盘SN列表 键盘SN为10位数字 |
+
-
+
- 示例代码 +
{
+ "fun":"delBsWhitelist",
+ "dataTag":"1",
+ "data":{
+ "keySns":["2024021001"]
+ }
+}
+
事件
+sEvtStateCode
+发送指令后返回此事件
+fEvtBsWhitelist
+-
+
- 主题:/basestation/${baseSN}/receive +
- 功能描述:返回基站白名单列表 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象 | +
+keySns | +array | ++ | 是 | +基站当前的白名单列表 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsWhitelist",
+ "dataTag":"1",
+ "data":{
+ "keySns":["2024021001","2024021002","2024021003","2024021004"]
+ }
+}
+
fEvtSetBsWhitelist
+-
+
- 主题:/basestation/${baseSN}/receive +
- 功能描述:返回设置白名单状态 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +array | +- | +是 | +传送参数的对象数组 | +
++keySns | +array | ++ | 是 | +键盘SN数组 | +
++state | +int | ++ | 是 | +键盘SN的写入状态 0-写入成功 1-写入失败 |
+
-
+
- 示例代码 +
{
+ "fun":"fEvtSetBsWhitelist",
+ "dataTag":"1",
+ "data":[{
+ "keySns":["2024021001","2024021002"],
+ "state":0
+ },{
+ "keySns":["1211"],
+ "state":1
+ }]
+}
+
fEvtAddBsWhitelist
+-
+
- 主题:/basestation/${baseSN}/receive +
- 功能描述:返回增加键盘状态 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +array | +- | +是 | +传送参数的对象数组 | +
++keySns | +array | ++ | 是 | +键盘SN数组 | +
++state | +int | ++ | 是 | +键盘的增加状态 0-增加成功 1-增加失败 |
+
-
+
- 示例代码 +
{
+ "fun":"fEvtAddBsWhitelist",
+ "dataTag":"1",
+ "data":[{
+ "keySns":["2024021001","2024021002"],
+ "state":0
+ },{
+ "keySns":["1211"],
+ "state":1
+ }]
+}
+
fEvtDelBsWhitelist
+-
+
- 主题:/basestation/${baseSN}/receive +
- 功能描述:返回删除键盘状态 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +array | +- | +是 | +传送参数的对象数组 | +
++keySns | +array | ++ | 是 | +键盘SN数组 | +
++state | +int | ++ | 是 | +键盘的删除状态 0-删除成功 1-删除失败 |
+
-
+
- 示例代码 +
{
+ "fun":"fEvtDelBsWhitelist",
+ "dataTag":"1",
+ "data":[{
+ "keySns":["2024021002"],
+ "state":0
+ },{
+ "keySns":["2024021001"],
+ "state":1
+ }]
+}
+
网络参数设置
+方法
+getBsTcpipParams
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:获取基站TCP/IP参数 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "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获取 |
+
-
+
- 示例代码 +
{
+ "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 | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "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 | +否 | +基站连接服务器失败后重连的间隔时长,单位秒 | +
-
+
- 示例代码 +
{
+ "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获取 |
+
-
+
- 示例代码 +
{
+ "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 | +否 | +基站连接服务器失败后重连的间隔时长,单位秒 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtBsMqttParams",
+ "dataTag":"1",
+ "data":{
+ "server":"192.168.10.10",
+ "port":1883,
+ "userName":"",
+ "password":"",
+ "interval":30
+ }
+}
+
键盘管理
+交互设置
+方法
+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 +
- 功能描述:开始获取键盘在线信息,键盘在线返回键盘信息 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun": "startGetKpOnline",
+ "dataTag":"1"
+}
+
stopGetKpOnline
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:停止获取键盘在线信息 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun": "stopGetKpOnline",
+ "dataTag":"1"
+}
+
事件
+sEvtStateCode
+发送指令后返回此事件
+fEvtKpOnlineMsg
+-
+
- 主题: /basestation/${baseSN}/receive +
- 功能描述:主动获取在线键盘时,在线键盘状态报告 +
- 参数说明 +
参数名 | +类型 | +限制 | +非空 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +事件名称 | +
dataTag | +string | +- | +否 | +数据包标识 | +
data | +object | +- | +是 | +传送参数的对象 | +
+keySn | +string | ++ | 是 | +键盘SN | +
+version | +string | ++ | 是 | +键盘固件版本 | +
+model | +int | ++ | 是 | +键盘型号 | +
+voltage | +double | ++ | 是 | +键盘电量 | +
-
+
- 示例代码 +
{
+ "fun":"fEvtKpOnlineMsg",
+ "dataTag":"1",
+ "data":{
+ "keySn":"1234567890",
+ "version":"1.0.0",
+ "model":67,
+ "voltage":2.8
+ }
+}
+
维护功能
+方法
+remoteKpSleep
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:遥控键盘休眠 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传送参数的对象数组 | +
+keySns | +array | ++ | 否 | +需要执行指令的键盘SN数组,空数组表示所有键盘 | +
-
+
- 示例代码 +
{
+ "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"
+ }
+}
+
签到
+同步签到
+方法
+startKpSignIn
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:启动同步签到 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
data | +object | +- | +是 | +传递参数的对象 | +
+mode | +int | +- | +是 | +签到模式 1-按键签到,可指定按键 2-PIN码签到,可指定PIN码长度 |
+
+allowModify | +int | +- | +是 | +修改模式 0-不可修改 1-可以修改(默认值) |
+
+pinLen | +int | +- | +是 | +可输入pin码的最大长度 1≤N≤14 | +
+keyValue | +int | +- | +是 | +指定按键键值 0: 未指定(OK键签到) 1-9: 按键1-9 10: 按键0 11: 上键 12: 下键 13: OK键 14: ESC键 15: Menu键 |
+
+tipTitle | +string | +- | +否 | +提示标题,长度最多不超过16个字节 | +
-
+
- 示例代码 +
//按键签到
+{
+ "fun":"startKpSignIn",
+ "dataTag":"1",
+ "data":{
+ "mode":1,
+ "allowModify":1,
+ "keyValue":5,
+ "tip":"请按5键签到"
+ }
+}
+
+//pin签到
+{
+ "fun":"startKpSignIn",
+ "dataTag":"1",
+ "data":{
+ "mode":2,
+ "allowModify":1,
+ "pinLen":6,
+ "tip":"请输入PIN码签到"
+ }
+}
+
stopKpSignIn
+-
+
- 主题:/client/${baseSN}/send +
- 功能描述:停止同步签到 +
- 参数说明 +
参数名 | +类型 | +限制 | +是否必填 | +说明 | +
---|---|---|---|---|
fun | +string | +- | +是 | +指令名称 | +
dataTag | +string | +- | +否 | +数据包标识,可为空字符串 | +
-
+
- 示例代码 +
{
+ "fun":"stopKpSignIn",
+ "dataTag":"1"
+}
+
事件
+sEvtStateCode
+发送指令后返回接收状态
+fEvtKpSignIn
+返回键盘提交的签到数据
+随时签到
+方法
+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 | ++ | 是 | +题目数量 | +
-
+
- 示例代码 +
常用样例:一级题型 + 显示“Q”开头, 单一题型,全单选题共10题
+{
+ "fun":"startKpExam",
+ "dataTag":"1",
+ "data":{
+ "mode": 1,
+ "examNo": 1,
+ "questions": [{
+ "quesType": 1, //单选题
+ "startNo": 1, //题号从1开始
+ "count":10 //连续10题
+ }]
+ }
+}
+
指令样例:一级题型 + 不显示开头,总题数6题
+{
+ "fun":"startKpExam",
+ "dataTag":"1",
+ "data":{
+ "mode": 0,
+ "examNo": 1,
+ //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题
+ "questions": [{
+ "quesType": 1, //单选题
+ "startNo": 1, //题号从1开始
+ "count":2 //连续2题
+ },{
+ "quesType": 2, //多选题
+ "startNo": 3, //题号从3开始
+ "count":2, //连续2题
+ "option":5
+ },{
+ "quesType": 1, //数字题
+ "startNo": 5, //题号从5开始
+ "count":1 //连续1题
+ },{
+ "quesType": 4, //判断题
+ "startNo": 6, //题号从6开始
+ "count":1 //连续1题
+ }]
+ }
+}
+
指令样例:二级题型 + 不显示开头,总题数6题
+{
+ "fun":"startKpExam",
+ "dataTag":"1",
+ "data":{
+ "mode": 0,
+ "examNo": 1,
+ //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题
+ "questions": [{
+ "symbol": "1-",
+ "quesType": 1, //单选题
+ "startNo": 1, //题号从1-1开始
+ "count":2 //连续2题
+ },{
+ "symbol": "2-",
+ "quesType": 2, //多选题
+ "startNo": 1, //题号从2-1开始
+ "count":2, //连续2题
+ "option":5
+ },{
+ "symbol": "3-",
+ "quesType": 3, //数字题
+ "startNo": 1, //题号从3-1开始
+ "count":1 //连续1题
+ },{
+ "symbol": "4-",
+ "quesType": 4, //判断题
+ "startNo": 1, //题号从4-1开始
+ "count":1 //连续1题
+ }]
+ }
+}
+
指令样例:三级题型 + 不显示开头,总题数6题
+{
+ "fun":"startKpExam",
+ "dataTag":"1",
+ "data":{
+ "mode": 0,
+ "examNo": 1,
+ //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题
+ "questions": [{
+ "symbol": "1-1-",
+ "quesType": 1, //单选题
+ "startNo": 1, //题号从1-1-1开始
+ "count":2 //连续2题
+ },{
+ "symbol": "1-2-",
+ "quesType": 2, //多选题
+ "startNo": 1, //题号从1-2-1开始
+ "count":2, //连续2题
+ "option":5
+ },{
+ "symbol": "2-1-",
+ "quesType": 3, //数字题
+ "startNo": 1, //题号从2-1-1开始
+ "count":1 //连续1题
+ },{
+ "symbol": "3-1-",
+ "quesType": 4, //判断题
+ "startNo": 1, //题号从3-1-1开始
+ "count":1 //连续1题
+ }]
+ }
+}
+
指令样例:一级题型 + 显示“Q”开头, 共6题
+{
+ "fun":"startKpExam",
+ "dataTag":"1",
+ "data":{
+ "mode": 1,
+ "examNo": 1,
+ "questions": [{
+ "quesType": 1, //单选题
+ "startNo": 1, //题号从1开始
+ "count":2 //连续2题
+ },{
+ "quesType": 2, //多选题
+ "startNo": 3, //题号从3开始
+ "count":2, //连续2题
+ "option":5
+ },{
+ "quesType": 1, //数字题
+ "startNo": 5, //题号从5开始
+ "count":1 //连续1题
+ },{
+ "quesType": 4, //判断题
+ "startNo": 6, //题号从6开始
+ "count":1 //连续1题
+ }]
+ }
+}
+
指令样例:一级题型 + 显示“题”开头, 共6题
+{
+ "fun": "startKpExam",
+ "dataTag":"1",
+ "data":{
+ "mode": 2,
+ "examNo": 1,
+ "questions": [{
+ "quesType": 1, //单选题
+ "startNo": 1, //题号从1开始
+ "count":2 //连续2题
+ },{
+ "quesType": 2, //多选题
+ "startNo": 3, //题号从3开始
+ "count":2, //连续2题
+ "option":5
+ },{
+ "quesType": 1, //数字题
+ "startNo": 5, //题号从5开始
+ "count":1 //连续1题
+ },{
+ "quesType": 4, //判断题
+ "startNo": 6, //题号从6开始
+ "count":1 //连续1题
+ }]
+ }
+}
+
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 | +array | +- | +是 | +传送参数的对象数组 | +
++keySn | +string | ++ | 是 | +键盘SN | +
++keyValue | +string | ++ | 是 | +0 - 未提交(提交完成后,允许键盘修改答案时上报) 1 - 已交卷 |
+
++keyTime | +double | ++ | 是 | +提交时间,从启动开始计算,单位秒 | +
-
+
- 示例代码 +
{
+ "fun": "fEvtFinalSubmit",
+ "dataTag":"1",
+ "data": [{
+ "keySn": "1234567890",
+ "keyValue":"1",
+ "keyTime":3.2
+ }]
+}
+
+