通讯协议-SDK应用部分.md 149 KB

[TOC]

接口协议说明文档

接口说明

Ver5.0.1

长沙中天电子设计开发有限公司

二〇二三年五月

文件控制:

文件名:SunVoteWSTrayapp接口说明

起草人:陈定敏

最新版本作者: 陈定敏

文档版本 日期 作者 版本说明
5.0.1 5/23/2023 陈定敏 1. 初始版

系统概述

SunVote 无线反馈系统是由手持的键盘、通讯基站、SunVoteWSTrayapp(托盘程序)、控制电脑组成的。控制电脑通过USB接口与基站连接。控制指令由控制电脑通过基站发送给键盘。

SunVoteWSTrayapp可以让用户开发的应用程序与SunVote无线反馈系统通讯。SunVoteWSTrayapp托盘程序(下文用SunVoteWSTrayapp代替)提供websocket通讯方式,使用JSON通信格式,来实现互动系统的管理及投票指令的发送和接收功能。调用结构图如下:

如果用户想开发互联网应用,可以参考如下设计:

目前SunVoteWSTrayapp只支持Windows系统。用户只需运行SunVoteWSTrayapp程序即可。

SunVoteWSTrayapp程序中config.ini配置文件中可设置WebSocket的端口,见以下位置:

上述配置#号开头行,为注释行,对下面一个配置进行说明。每个配置参考上面说明。

设计目的

1、协议通过Websocket封装后将具有更好的扩展空间和跨应用使用能力,为平台应用开发提供数据通讯基础。

2、应用程序(后续基于SunVoteWSTrayapp开发的程序称为应用程序),基于业务发送指令到SunVoteWSTrayapp,SunVoteWSTrayapp收到指令后,完成对基站或键盘的操作后回复应用程序。

通讯接口设计概要

应用程序和SunVoteWSTrayapp之间采用Json数据通信,通信的基本格式如下:

下发:应用程序 - > SunVoteWSTrayapp

{

  fun:\"\" // 功能定义

  baseId: 1// 基站id,数字类型

  params:{} //参数对象/数组

  packetTag:\"\" //数据包标签字符串

}

fun 为功能对应的名称 如:\"readBaseStationID\" 读取基站的id, \"startChoices\" //开始选择题, \"stopChoices\" //停止选择题

baseId:基站ID,用来区分基站标志,0代表所有基站,1代表1号基站。

params:参数,功能相对于的参数,可以是数组或字段。

packerTag: 这个是扩展字段,内容需要应用程序管理,功能相应的反馈指令packerTag位置会反馈相同字符串,方便应用程序跟踪记录。

反馈:SunVoteWSTrayapp-> 应用程序

{

fun:\"\" //功能定义

baseId:1 //基站id,数字类型

infos: {}//信息对象/数组

packetTag:\"\"// 数据包标签字符串。

}

fun: 功能对应的名称,如:\"BaseStationID\"读取基站id, \" answerChoices \" //选择题键盘反馈值.

baseId: 基站ID,用来区分基站标志;0特殊代表所有基站,1代表1号基站。

infos: SunVoteWSTrayapp反馈给APP层的数据。具体详见具体功能定义。

packetTag: 这个是扩展字段,内容需要应用程序管理,反馈接收到的字符串。

字段值说明:

反馈infos中的状态字段state,OK表示成功,FAIL表示失败。

反馈infos中的硬件参数字段的值,FAIL表示失败,其他值为成功。

X~Y:范围内的值特指整数。

通信方式

数据交互采取发送应答的方式。应用程序发送数据到SunVoteWSTrayapp,SunVoteWSTrayapp收到后执行完成后回复。

应用程序没有数据发送给SunVoteWSTrayapp时,需要发送心跳,SunVoteWSTrayapp收到心跳后会回复心跳,用于判断与应用程序的连接状态。(配置文件中,如果启用了心跳检查,应用程序如果未按要求发送心跳,SunVoteWSTrayapp会断开当前连接,重新尝试连接)

编程流程说明

用户使用SunVoteWSTrayapp编程的基本流程如下:

配置参数:(可配置、详情见配置文件config.ini)

1、sdk->role websocket 的运行模式【client:客户端模式,server:服务端模式】 。

2、sdk-> ip 如果websocket处于客户端模式 此ip为目标服务器ip;如果websocket处于服务端模式 此ip无效。

3、sdk-> port如果websocket处于客户端模式 此port为目标服务器port;如果websocket处于服务端模式 此port为本服务端port。 编程开发:

1、使用websocket通讯,IP为IP地址 2、启动SunVoteApp.exe(SunVoteWSTrayapp)进程 3、业务软件连接服务器后就可直接通信,通信的数据格式为JSON(UTF-8编码)。具体参数请看JSON指令说明部分。 4、业务软件发送退出指令,SunVoteApp.exe(SunVoteWSTrayapp)收到指令后退出。

JSON指令说明

应用程序和SunVoteWSTrayapp之间采用Json数据通信,通信的基本格式如下:

下发:应用程序 - >SunVoteWSTrayapp

{

fun:\"\" // 功能定义

baseId: 1// 基站id,数字类型

params:{} //参数对象/数组

packetTag:\"\" //数据包标签字符串

}

fun:为功能定义,下发命令,要下发的命令函数

baseId:基站ID,数字类型,如果不指定具体基站ID,可以传0或者不传该Key值。如果要指定多个基站ID,则需要多次下发该命令,切换不同的基站ID进行发送。

params:参数,可以为对象或者数组,用于伴随命令下发的数据附属包,详见具体功能定义。

packerTag: 数据标签字符串,用于区别当前指令与其他指令。应用程序发送给SunVoteWSTrayapp的,用户可以自定义数据(如果用户无自定义数据,可以为包序号,这样可以区分回复的数据回复的是哪个数据包)。SunVoteWSTrayapp回复应用程序时,直接回填应用程序收到的标签数据。

反馈:SunVoteWSTrayapp -> 应用程序

{

fun:\"\" //功能定义

baseId:1 //基站id,数字类型

infos: {}//信息对象/数组

packetTag:\"\"// 数据包标签字符串,用于区别当前指令与其他指令。SunVoteWSTrayapp发送给应用程序的用自增数字标记。SunVoteWSTrayapp回复应用程序的,直接回填SunVoteWSTrayapp收到的标签。

}

fun:同下发描述.

baseId:同下发描述.

infos: SunVoteWSTrayapp反馈给应用程序层的数据。具体详见具体功能定义。

packetTag: 数据标签字符串,反馈功能函数的状态为应用程序附带的数据包,如果SunVoteWSTrayapp主动发送数据,是一组自增数据。

字段值说明:

反馈infos中的状态字段state,OK表示成功,FAIL表示失败。

反馈infos中的硬件参数字段的值,FAIL表示失败,其他值为成功。

X~Y:范围内的值特指整数。

心跳

应用程序发送心跳,SunVoteWSTrayapp回应,用于判断连接状态。

发送:

fun: \"heartBeat\" //心跳

baseId: //无该值

params:{}//无该值

packetTag:\"1\"//收到的packetTag,可用于分析通信状态

指令样例:

{\     \"fun\":\"heartBeat\",\     \"packetTag\":\"1\"\ }

接收:

fun: \"heartBeat\" //心跳

baseId: //无该值

infos:{}//无该值

packetTag:\"1\"//数据包标签

指令样例:

{\     \"fun\":\"heartBeat\",\     \"packetTag\":\"1\"\ }

基站的连接、断开和复位

应用程序与SunVoteWSTrayapp网络连接成功后(收到心跳),可发送连接基站指令。收到基站连接成功后就可以与SunVote无线反馈系统(基站、键盘)通讯。

连接基站

SunVoteWSTrayapp上报信息。

接收:

fun: \"connectBase\" //连接基站

baseId:1 //基站ID

infos: {\"state\":\"OK\"} //OK连接成功

packetTag:\"1\" //收到的packetTag

指令样例:

{\     \"fun\":\"connectBase\",\     \"baseId\":1,\     \"infos\":{\         \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

断开基站

SunVoteWSTrayapp上报信息。

接收:

fun: \"disconnectBase\" //断开基站

baseId:1 //基站ID

infos: {} //无该值

packetTag:\"1 \"

指令样例:

{\     \"fun\":\"disconnectBase\",

 \"baseId\":1,\    \"packetTag\":\"1\"\ }

复位基站

发送:

fun: \"resetBase\" //复位基站

baseId:1,

params:{} //无该值

指令样例:

{\     \"fun\":\"resetBase\",

\"baseId\":1,

 \"packetTag\":\"1\"\ }

注意:B200支持此命令

7.3答题

答题流程:

在开始作答,各类答题都可指定显示标题和开始作答键盘,也可以为空。

顶层对象增加的字段如下:

Json字段 字段含义 赋值及含义
keySnList 指定键盘列表 keySn数组,为空表示所有键盘都参与。

在停止作答时,各类答题都可指定停止作答键盘,也可以为空。

顶层对象增加的字段如下:

Json字段 字段含义 赋值及含义
keySnList 指定键盘列表 keySn数组,为空表示所有键盘都参与。

如果指定了键盘,则会逐个返回指定键盘的接收状态。收到的infos数组对象如下:

Json字段 字段含义 赋值及含义
keySn 键盘Sn
state 状态 OK表示成功

开始作答

指令样例:

{\     \"title\":\"输入账号,OK键提交\",\     \"keySnList\":[\         {\             \"keySn\":\"1837454011\"\         },\         {\             \"keySn\":\"1837454012\"\         }\     ]\ }

键盘的接收状态返回

fun: \"startXXKeypad\" //开始XX作答键盘(XX是开始作答对应具体名称)

baseId: 1//接收到指令的基站ID

infos:{}//数组对象

指令样例:

{\     \"fun\":\"startBindKeypad\",\     \"baseId\":1,\     \"infos\":[\         {\             \"keySn\":\"1837454011\",\             \"state\":\"OK\"\         }\    ],\     \"packetTag\":\"1\"\ }

回复键盘的接收状态返回

发送:

fun: \"startXXKeypad\" //开始xx作答键盘

baseId:\"1\"//收到的基站ID

params:{} //为空

指令样例:

{\     \"fun\":\"startBindKeypad\",\     \"baseId\":1,\     \"packetTag\":\"1\"\ }

停止作答

指令样例:

{...\     \"keySnList\":[\         {\             \"keySn\":\"1837454011\"\         },\         {\             \"keySn\":\"1837454012\"\         }\     ]\ }

键盘的接收状态返回

fun: \"stopXXKeypad\" //停止XX作答键盘(XX是停止作答对应具体名称)

baseId: 1//接收到指令的基站ID

infos:{}//数组对象

指令样例:

{\     \"fun\":\"stopBindKeypad\",\     \"baseId\":1,\     \"infos\":[\         {\             \"keySn\":\"1837454011\",\             \"state\":\"OK\"\         }\    ],\     \"packetTag\":\"1\"\ }

回复键盘的接收状态返回

发送:

fun: \"stopXXKeypad\" //停止xx作答键盘

baseId: \"1\"//收到的基站ID

params:{} //为空

指令样例:

{
    "fun":"stopBindKeypad",
    "baseId":1,
    "packetTag":"1"
}

签到设备

开始签到

发送:

fun: \"startBind\" //开始签到

params:{}

Json字段 字段含义 赋值及含义
bindMode 签到模式 1. 指定键签到 2. PIN码签到(默认值)
lessMode 预留 0- (默认值)
modifyMode 修改模式 0-不可修改 1-可以修改(默认值)
limitNumber 指定位数 0-不指定位数(默认值) 1-指定位数
options 固定值 固定值10
optionalN 可选数字 1≤N≤10 (指定位数才需要设置, 10为0)
keyValue 指定按键键值 0. 未指定[OK键签到] 1 . 1 2 . 2 3. 3 4. 4 5. 5 6. 6 7. 7 8. 8 9. 9 10. 0 11. 上键 12. 下键 13. OK 14. ESC 15. Menu

+----------------+--------------+-------------------------------------+ | tipTitle | 提示标题 | 16个字节 | +----------------+--------------+-------------------------------------+

指令样例:


{
    "fun":"startBind",
   "baseId":0,
    "params":{
        "bindMode":"1",
        "lessMode":"0",
        "modifyMode":"1",
        "limitNumber":"1",
        "options":"10",
        "optionalN":"10",
        "keyValue":"0"
    },
    "packetTag":"1"
}

接收签到信息

接收:

fun: \"answerBind\" //签到返回

baseId: \"1\"//接收到指令的基站ID

infos:{}

Json字段 字段含义 赋值及含义
time 答题时间 单位秒
keySn 键盘Sn
keyValue 键值 键盘提交的值

指令样例:

{
    "fun":"answerBind",
    "baseId":1,
    "infos":{
        "time":"2.42",
        "keySn":"1479824643",
        "keyValue":"1234"
    },
    "packetTag":"1"
}

停止签到

发送:

fun: \"stopBind\" //停止签到

params:{} //默认空

指令样例:

{
    "fun":"stopBind",
   "baseId":0,
     "packetTag":"1"
}

接收:

fun: \"stopBind\" //停止签到

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{
    "fun":"stopBind",
    "baseId":1,
    "infos":{
          "state":"OK"
    },
    "packetTag":"1"
}

支持设备说明

*基站+键盘 * 支持/不支持 备注
B100-2.4G+S6 支持
B200-2.4G+S6 支持
B200-5.8G+T2 支持

选择题

开始作答

发送:

fun: \"startChoices\" //开始选择题

params:{}

Json字段 字段含义 赋值及含义
optionsMode 选项类别 1-显示字母(默认值) 2-显示数字
secrecyMode 保密模式 0-不保密(默认值)1-保密
modifyMode 修改模式 0-不可修改 1-可以修改(默认值)
modifyMode 修改模式 0-不可修改1-可以修改(默认值)
lessMode 迫选模式 0. 可缺选(默认值) 1. 不可缺选2. 允许重复输入3. 允许重复输入且不可缺选
options 选项数目 1≤M≤10(默认值4)
optionalN 可选项数 1≤N≤M(默认值1)
tipTitle 提示标题 16个字节

指令样例:

{
    "fun":"startChoices",
    "baseId":0,
    "params":{
        "optionsMode":"1",
        "secrecyMode":"0",
        "modifyMode":"1",
        "lessMode":"0",
        "options":"4",
        "optionalN":"1"
   },
  "packetTag":"1"
}

接收:

fun: \"startChoices\" //开始选择题

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{
    "fun":"startChoices",
    "baseId":1,
    "infos":{
        "state":"OK"
    },
    "packetTag":"1"
}

接收作答

接收:

fun: \"answerChoices\" //选择题作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

time 答题时间 单位秒

keySn 键盘Sn

keyValue 键值 键盘提交的值


指令样例:

{
    "fun":"answerChoices",
    "baseId":1,
    "infos":{
        "time":"2.42",
        "keySn":"1479824643",
        "keyValue":"A"
    },
    "packetTag":"1"
}

停止作答

发送:

fun: \"stopChoices\" //停止选择题

params:{} //默认空

指令样例:

{
    "fun":"stopChoices",
    "baseId":0,
    "packetTag":"1"
}

接收:

fun: \"stopChoices\" //停止选择题

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{
    "fun":"stopChoices",
    "baseId":1,
    "infos":{
          "state":"OK"
    },
    "packetTag":"1"
}

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


判断题

开始作答

发送:

fun: \"startTrueFalse\" //开始判断题

params:{}

Json字段 字段含义 赋值及含义
optionsMode 选项类别 1 True/False 对/错 2 Yes/No 是/否 3 √/×
secrecyMode 保密模式 0-不保密(默认值) 1-保密
modifyMode 修改模式 0-不可修改1-可以修改(默认值)
tipTitle 提示标题 16个字节

指令样例:


{
    "fun":"startTrueFalse",
    "baseId":0,
    "params":{
        "optionsMode":"1",
        "secrecyMode":"0",
        "modifyMode":"1"
    },
    "packetTag":"1"
}

接收:

fun: \"startTrueFalse\" //开始判断题

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:


{
    "fun":"startTrueFalse",
    "baseId":1,
    "infos":{
       "state":"OK"
    },
   "packetTag":"1"
}

接收作答

接收:

fun: \"answerTrueFalse\" //判断题作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

time 答题时间 单位秒

keySn 键盘Sn

keyValue 键值 键盘提交的值(1对、2错)


指令样例:

{\     \"fun\":\"answerTrueFalse\",\     \"baseId\":1,\     \"infos\":{\         \"time\":\"2.42\",\         \"keySn\":\"1479824643\",\         \"keyValue\":\"1\"\     },

 \"packetTag\":\"1\"\ }

停止作答

发送:

fun: \"stopTrueFalse\" //停止判断题

params:{} //默认空

指令样例:

{\     \"fun\":\"stopTrueFalse\",

  \"baseId\":0,\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopTrueFalse\" //停止判断题

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopTrueFalse\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


多题快答

开始作答

发送:

fun: \"startMulQuestions\" //开始多小题

params:{}

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | questionType | 题型 | 0-单选题(默认值) | | | | | | | | 1-判断题 | +----------------+--------------+-------------------------------------+ | secrecyMode | 保密模式 | 0-不保密(默认值) | | | | | | | | 1-保密 | +----------------+--------------+-------------------------------------+ | modifyMode | 修改模式 | 0-不可修改 | | | | | | | | 1-可以修改(默认值) | +----------------+--------------+-------------------------------------+ | lessMode | 预留 | 0 | +----------------+--------------+-------------------------------------+ | questionNumber | 题目个数 | 1~10 (默认值10) | +----------------+--------------+-------------------------------------+ | options | 选项数目 | 1~10 (单选题有效, 默认值4) | +----------------+--------------+-------------------------------------+ | tipTitle | 提示标题 | 16个字节 | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"startMulQuestions\",

  \"baseId\":0,\     \"params\":{\         \"questionType\":\"0\",\         \"secrecyMode\":\"0\",\         \"modifyMode\":\"1\",\         \"lessMode\":\"0\",\         \"questionNumber\":\"10\",\         \"options\":\"4\"\     },\     \"packetTag\":\"1\"\ }

接收:

fun: \"startMulQuestions\" //开始多小题

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"startMulQuestions\",

\"baseId\":1,\   \"infos\":{\        \"state\":\"OK\"\     },

\"packetTag\":\"1\"\ }

接收作答

接收:

fun: \"answerMulQuestions\" //多小题作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

time 答题时间 单位秒

keySn 键盘Sn

keyValue 键值 对应题型,按位对应题号


指令样例:

{\     \"fun\":\"answerMulQuestions\",\     \"baseId\":1,\     \"infos\":{\         \"time\":\"2.42\",\         \"keySn\":\"1479824643\",\         \"keyValue\":\"AACDBDADBD\"\     },

 \"packetTag\":\"1\"\ }

停止作答

发送:

fun: \"stopMulQuestions\" //停止多小题

params:{} //默认空

指令样例:

{\     \"fun\":\"stopMulQuestions\",

  \"baseId\":0,\     \"packetTag\":\"1\"\ }

接收:

fun:\"stopMulQuestions\" //停止多小题

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopMulQuestions\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持


语音题

开始作答

发送:

fun: \"startVoice\" //开始语音题

params:{}

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | recordingMode | 录音模式 | 0-按键录音(默认值) | +----------------+--------------+-------------------------------------+ | submitTimes | 提交次数 | 0 (0:不限制, 默认值0) | +----------------+--------------+-------------------------------------+ | reco | 预留 | 0 | | rdingTimeLimit | | | +----------------+--------------+-------------------------------------+ | r | 预留 | 0-固定传0 | | ecordingFormat | | | +----------------+--------------+-------------------------------------+ | rec | 音频格式 | 0. mp3 | | ordAudioFormat | | | | | | 1. 实时流 (默认值1) | +----------------+--------------+-------------------------------------+ | tipTitle | 提示标题 | 16个字节 | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"startVoice\",

  \"baseId\":0,\     \"params\":{\         \"recordingMode\":\"0\",\         \"submitTimes\":\"0\",\         \"recordingTimeLimit\":\"0\",\         \"recordingFormat\":\"0\",\         \"recordAudioFormat\":\"0\"\        },\     \"packetTag\":\"1\"\ }

接收:

fun: \"startVoice\" //开始语音题

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"startVoice\",

\"baseId\":1,\   \"infos\":{\        \"state\":\"OK\"\     },

\"packetTag\":\"1\"\ }

接收作答

按开始作答时设置的录音格式分为录音文件和实时流两种。

录音文件

接收:

fun: \"answerVoiceFile\" //录音文件返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

time 答题时间 单位秒(0为答题开始,>0表示答题结束)

keySn 键盘Sn

filePath 文件路径 录音文件路径


指令样例:

{\     \"fun\":\"answerVoiceFile\",\     \"baseId\":1,\     \"infos\":{\         \"keySn\":\"1479824643\",

        \"filePath\":\"D:\voice\20211102\voice_1479824643_1635832534000.mp3\"\     },

\"packetTag\":\"1\"\ }

实时流

接收:

fun: \"answerVoiceStream\" //语音实时流返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

keySn 键盘Sn

voiceId 回话ID 答题时间内,可重复提交语音,每段语音流加一个回话ID,用于区分作答

sampleRate 音频采样率

bits 音频采样精度

channel 声道数

dataIndex 数据包号 1开始

data 数据 将原始数据通过Base64编码后得到json中\"data\"字段。应用可通过Base64解码得到原始语音数据。

dataLen 数据长度 Base64编码后的字符串长度。应该将\"data\"通过Base64解码后得到原始的数据长度。

endFlag 结束标志 默认为0,为1表示结束


指令样例:

{\     \"fun\":\"answerVoiceStream\",\     \"baseId\":1,\     \"infos\":{\         \"keySn\":1479824643,\         \"voiceId\":1,\         \"sampleRate\":16000,\         \"bits\":16,\         \"channel\":1,\         \"endFlag\":0,

\"dataIndex\":1,\         \"dataLen\":856,\         \"data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAO7/AAARAAAA7v8AACMAAADK/wAA+gARAI8ANQDoAO7/EQDP/mwD6ADSBBkFgPm+/iH6J/ko/HD8F/8L/u7/rQGU/yMA4f5fAin/MgpDBwADvwRk+yn/fP1e/Jr+DAEAA+gAPAXpBnECgwK5BdEEmwFaA7oF4f63/DX9n/rJ+f75q/tA+5n7fP1q/Y79av1B/nb+Qf70AX0AfQNx/6b8EQBY/Ub9awD0AZUCfgahA4MCBgLV/az+L/5k/o79LwEdAYkBvv5q/X0AHf48BYMCgwKmAgYCdwH0/uL+0P6C/7j/sgApAsr/Kf+U/8T9L/ig+rL3HfVZA6AAsgYSBi8BIwMRABf/pvxB/nH/4v6m/7IAgv9f/7j/3P+gAAsB4gH0AS8BawAAANz/Kf8F/8r/RwAAACMA6ADoAKb/xAC4AgYCLwFBBO4FWQMAA7kFTQUYAnECiQRlASn/4v47/0H+uPxH/UH+L/6O/fn9F//Q/h3+rP5f/zv/8/5N/9z/uP+C/9z/RwBHACMAWQCgAH0ANQA1AEcAEQDK/8r/3P+4/5T/lP+m/5T/gv+C/5T/lP+C/5T/pv+m/w==\"\     },\     \"packetTag\":\"1\"\ }

回传分数

收到语音后,可对评测分数回传给键盘,详见自定义信息

停止作答

发送:

fun: \"stopVoice\" //停止语音题

params:{} //默认空,

指令样例:

{\     \"fun\":\"stopVoice\",

  \"baseId\":0,\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopVoice\" //停止语音题

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopVoice\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

丢包信息

语音结束时SunVoteWSTrayapp会发送该次语言的丢包率。

注意:此数据只在语音实时流时有效。

接收:

fun: \"voicePacketLossInfo\" //丢包信息

baseId:1 //1~32,连接基站

infos:{} //


Json字段 字段含义 赋值及含义

keySn 键盘Sn

voiceId 回话ID 答题时间内,可重复提交语音,每段语音流加一个回话ID,用于区分作答

recordTime 录音延迟时间

shouldSendPacketNum 应发数据包数

actualSendPacketNum 实发数据包数

lossRate 丢包率 百分比


指令样例:

{\     \"fun\":\"voicePacketLossInfo\",\     \"baseId\":1,\     \"infos\":{\         \"keySn\":\"1837454011\",\         \"voiceId\":\"1\",\         \"recordTime\":\"42\",\         \"shouldSendPacketNum\":\"56\",\         \"actualSendPacketNum\":\"56\",\         \"lossRate\":\"0\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持 单次录音最长180秒


抢答题

开始作答

发送:

fun: \"startRushAnswer\" //开始抢答题

params:{}

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | rushAnswerMode | 抢答模式 | 0-普通抢答(默认值) | +----------------+--------------+-------------------------------------+ | modifyMode | 修改模式 | 0-不可修改 | | | | | | | | 1-可以修改(默认值) | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"startRushAnswer\",

  \"baseId\":0,\     \"params\":{\         \"rushAnswerMode\":\"0\",\         \"modifyMode\":\"1\"\     },\     \"packetTag\":\"1\"\ }

接收:

fun: \"startRushAnswer\" //开始抢答题

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"startRushAnswer\",

\"baseId\":1,\   \"infos\":{\        \"state\":\"OK\"\     },

\"packetTag\":\"1\"\ }

接收作答

接收:

fun: \"answerRushAnswer\" //抢答题作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

time 答题时间 单位秒

keySn 键盘Sn

keyValue 键值


指令样例:

{\     \"fun\":\"answerRushAnswer\",\     \"baseId\":1,\     \"infos\":{\         \"time\":\"1.42\",\         \"keySn\":\"1479824643\",\         \"keyValue\":\"A\"\     },

 \"packetTag\":\"1\"\ }

停止作答

发送:

fun: \"stopRushAnswer\" //停止抢答题

params:{} //默认空

指令样例:

{\     \"fun\":\"stopRushAnswer\",

\"baseId\":0,\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopRushAnswer\" //停止抢答题

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopRushAnswer\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


数字题

开始作答

发送:

fun: \"startNumber\" //开始数字题

params:{}

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | secrecyMode | 保密模式 | 0-不保密(默认值) | | | | | | | | 1-保密 | +----------------+--------------+-------------------------------------+ | modifyMode | 修改模式 | 0-不可修改 | | | | | | | | 1-可以修改(默认值) | +----------------+--------------+-------------------------------------+ | aswOption | 按键模式 | 0-无规则 (S6最多16位,T2最多14位) | | | | | | | | 1-预留 | | | | | | | | 2-预留 | | | | | | | | 3-带小数位上下限(T2不支持) | +----------------+--------------+-------------------------------------+ | digits | 小数位数 | 0. 没有小数点 | | | | | | | | 1. 一位小数点 | | | | | | | | 2. 二位小数点 | +----------------+--------------+-------------------------------------+ | numMin | 下限 | 0-655.35 | +----------------+--------------+-------------------------------------+ | numMax | 上限 | 0-655.35 | +----------------+--------------+-------------------------------------+ | tipTitle | 提示标题 | 16个字节 | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"startNumber\",

 \"baseId\":0,\     \"params\":{\          \"secrecyMode\":\"0\",\          \"modifyMode\":\"1\",

\"aswOption\":\"0\",

\"digits\":\"0\",

\"numMin\":\"0\",

\"numMax\":\"0\"\     },\     \"packetTag\":\"1\"\ }

接收:

fun: \"startNumber\" //开始数字题

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"startNumber\",

\"baseId\":1,\   \"infos\":{\        \"state\":\"OK\"\     },

\"packetTag\":\"1\"\ }

接收作答

接收:

fun: \"answerNumber\" //数字题作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

time 答题时间 单位秒

keySn 键盘Sn

keyValue 键值 键盘提交的值


指令样例:

{\     \"fun\":\"answerNumber\",\     \"baseId\":1,\     \"infos\":{\         \"time\":\"2.42\",\         \"keySn\":\"1479824643\",\         \"keyValue\":\"12\"\     },

 \"packetTag\":\"1\"\ }

停止作答

发送:

fun: \"stopNumber\" //停止数字题

params:{} //默认空

指令样例:

{\     \"fun\":\"stopNumber\",

 \"baseId\":0,\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopNumber\" //停止数字题

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopNumber\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明

+--------------------+--------------+---------------------------------+ | 基站+键盘 | 支持/不支持 | 备注 | +--------------------+--------------+---------------------------------+ | B100-2.4G+S6 | 支持 | 按键模式(0-无规则 最多16位) | +--------------------+--------------+---------------------------------+ | B200-2.4G+S6 | 支持 | 按键模式(0-无规则 最多16位) | +--------------------+--------------+---------------------------------+ | B200-5.8G+T2 | 支持 | 按键模式(0-无规则 最多14位) | | | | | | | | 按键模 | | | | 式(3-带小数位上下限)(不支持) | +--------------------+--------------+---------------------------------+

键盘测试

开始测试

发送:

fun: \"startKeyPadTest\" //开始键盘

params:{}

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | mode | 测试模式 | 1-报告状态 | | | | | | | | 2-按键模拟 | +----------------+--------------+-------------------------------------+ | keyTime | 启动时间 | 0-60 单位秒 0马上执行 默认为0 | +----------------+--------------+-------------------------------------+ | gapTime | 间隔时间 | 0-60 单位秒 0无效 默认为0 | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"startKeyPadTest\",

  \"baseId\":0,\     \"params\":{\         \"mode\":\"1\",\         \"keyTime\":\"0\",

\"gapTime\":\"0\"\     },\     \"packetTag\":\"1\"\ }

接收作答

接收:

fun: \"answerKeyPadTest\" //按键测试返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

Time 答题时间 单位秒

keySn 键盘Sn

hModel 键盘硬件型号

keyValue 键值

Ver 键盘软件版本

Volt 键盘电池电量 T2百分比值,S6无效


指令样例:

{\     \"fun\":\"answerKeyPadTest\",\     \"baseId\":1,\     \"infos\":{\         \"time\":\"2.42\",

  \"hModel\":\"67\",

 \"keyValue\":\"0\",

  \"ver\":\"1.0.0\",\         \"keySn\":\"1479824643\",\         \"volt\":\"12\"\     },

 \"packetTag\":\"1\"\ }

停止作答

发送:

fun: \"stopKeyPadTest\" //停止键盘测试

params:{} //默认空

指令样例:

{\     \"fun\":\"stopKeyPadTest\",

\"baseId\":0,\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopKeyPadTest\" //停止键盘测试

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopKeyPadTest\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持 键盘电池电量参数无效

B200-2.4G+S6 支持 键盘电池电量参数无效

B200-5.8G+T2 支持


多题题型

开始测试

发送:

fun: "startKeyPadMultipleQuestions" //开始多题题型

params:{}

其中 displayMode 题号显示模式 有7中模式,分别对应7中显示题型的方式,用户可以根据需要自行选择

Json字段 字段含义 赋值及含义
displayMode 题号显示模式 1: 在线测验 键盘一级题型 显示“Q”开头
2: 在线测验 键盘一级题型 显示“题”开头
3: 在线测验 键盘三级题型编号显示
4: 主观题得分输入
5: 在线作业 键盘一级题型 显示“Q”开头
6: 在线作业 键盘一级题型 显示“题”开头
7: 在线作业 键盘二级题型编号显示

下面是7中模式的具体实现指令示例。

在线测验 键盘一级题型 显示“Q”开头 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 1: 在线测验 键盘一级题型 显示“Q”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。

指令样例:

{
    "fun": "startKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 1,
        "questions": [{
            "questionLevel1Symbol": "1",
            "questionType": "1"
        }, {
            "questionLevel1Symbol": "2",
            "questionType": "2",
            "option": "5"
        }, {
            "questionLevel1Symbol": "3",
            "questionType": "3"
        }, {
            "questionLevel1Symbol": "4",
            "questionType": "4"
        }]
    },
    "packetTag": "59"
}
在线测验 键盘一级题型 显示“题”开头 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 2: 在线测验 键盘一级题型 显示“题”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "startKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 2,
        "questions": [{
            "questionLevel1Symbol": "1",
            "questionType": "1"
        }, {
            "questionLevel1Symbol": "2",
            "questionType": "2",
            "option": "5"
        }, {
            "questionLevel1Symbol": "3",
            "questionType": "3"
        }, {
            "questionLevel1Symbol": "4",
            "questionType": "4"
        }]
    },
    "packetTag": "59"
}
在线测验 键盘三级题型编号显示 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 3: 在线测验 键盘三级题型编号显示
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
questionLevel2Symbol 二级题号 1-99
questionLevel3Symbol 三级题号 1-99
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "startKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 3,
        "questions": [{
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "1",
            "questionLevel3Symbol": "1",
            "questionType": "1"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "2",
            "questionLevel3Symbol": "3",
            "questionType": "2",
            "option": "5"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "2",
            "questionLevel3Symbol": "4",
            "questionType": "3"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "2",
            "questionLevel3Symbol": "5",
            "questionType": "4"
        }]
    },
    "packetTag": "59"
}
主观题得分输入 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 4:主观题得分输入
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
toplimit 数字上限 0-100
questionType 题目类型 3:数字
decimal 小数位数 0:无效小数
1:一位小数
2:二位小数 [默认是2]
此项缺省时默认是0。
{
    "fun": "startKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 4,
        "questions": [{
            "questionLevel1Symbol": "1",
            "toplimit": "100",
            "questionType": "3",
            "decimal": "0"
        }, {
            "questionLevel1Symbol": "2",
            "toplimit": "100",
            "questionType": "3",
            "decimal": "1"
        }, {
            "questionLevel1Symbol": "3",
            "toplimit": "100",
            "questionType": "3",
            "decimal": "2"
        }, {
            "questionLevel1Symbol": "4",
            "toplimit": "100",
            "questionType": "3",    
        }]
    },
    "packetTag": "59"
}
在线作业 键盘一级题型 显示“Q”开头 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 5:在线作业 键盘一级题型 显示“Q”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
course 科目 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "startKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 5,
        "questions": [{
            "questionLevel1Symbol": "1",
            "course": "1",
            "questionType": "1",
            "option": "4"
        }, {
            "questionLevel1Symbol": "2",
            "course": "2",
            "questionType": "2",
            "option": "4"
        }, {
            "questionLevel1Symbol": "3",
            "course": "3",
            "questionType": "3",
            "option": "4"
        }, {
            "questionLevel1Symbol": "4",
            "course": "4",
            "questionType": "4",
            "option": "4"
        }]
    },
    "packetTag": "59"
}
在线作业 键盘一级题型 显示“题”开头 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 6:在线作业 键盘一级题型 显示“题”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
course 科目 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "startKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 6,
        "questions": [{
            "questionLevel1Symbol": "1",
            "course": "1",
            "questionType": "1",
            "option": "4"
        }, {
            "questionLevel1Symbol": "2",
            "course": "2",
            "questionType": "2",
            "option": "4"
        }, {
            "questionLevel1Symbol": "3",
            "course": "3",
            "questionType": "3",
            "option": "4"
        }, {
            "questionLevel1Symbol": "4",
            "course": "4",
            "questionType": "4",
            "option": "4"
        }]
    },
    "packetTag": "59"
}
在线作业 键盘二级题型编号显示 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 6:在线作业 键盘一级题型 显示“题”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
questionLevel2Symbol 二级题号 1-99
course 科目 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "startKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 6,
        "questions": [{
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "1",
            "course": "1",
            "questionType": "1",
            "option": "4"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "2",
            "course": "2",
            "questionType": "2",
            "option": "4"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "3",
            "course": "3",
            "questionType": "3",
            "option": "4"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "4",
            "course": "4",
            "questionType": "4",
            "option": "4"
        }]
    },
    "packetTag": "59"
}

接收:

fun: "startKeyPadMultipleQuestions" //开始多题题型 baseId: "1"//接收到指令的基站ID infos:{"state":"OK"}//返回状态,成功为OK

指令样例:

{
    "baseId": 1,
    "fun": "startKeyPadMultipleQuestions",
    "infos": {
        "state": "OK"
    },
    "packetTag": "59"
}

接收作答

接收:

fun: "answerKeyPadMultipleQuestions" //多题题型返回

baseId: "1" //接收到指令的基站ID

infos: {}

Json字段 字段含义 赋值及含义
Time 答题时间 [time/5=实际时间] 单位秒,20分钟内有效
keySn 键盘Sn
Seq 题序号
keyValue 键值 键盘提交的值

指令样例:

{
    "fun": "answerKeyPadMultipleQuestions",
    "baseId": 1,
    "infos": {
        "time": "5.42",
        "keySn": "1479824643",
        "seq": "1",
        "keyValue": "12"
    },

    "packetTag": "1"
}

退出作答

发送:

fun: "stopKeyPadMultipleQuestions" //停止多题题型

params:{} //默认空

指令样例:

{
    "fun": "stopKeyPadMultipleQuestions",

    "baseId": 0,
    "packetTag": "1"
}

接收:

fun: "stopKeyPadMultipleQuestions" //停止键盘测试

baseId: "1"//收到的基站ID

infos:{"state":"OK"}//返回状态,成功为OK

指令样例:

{
    "fun": "stopKeyPadMultipleQuestions",
    "baseId": 1,
    "infos": {
        "state": "OK"
    },
    "packetTag": "1"
}

暂停作答

发送:

fun: "pauseKeyPadMultipleQuestions" //暂停多提题性

baseId: "1"//收到的基站ID

params:{} //默认空

指令样例:

{
    "fun": "pauseKeyPadMultipleQuestions",

    "baseId": 0,
    "packetTag": "1"
}

接收:

fun: "pauseKeyPadMultipleQuestions" //暂停键盘测试

baseId: "1"//收到的基站ID

infos:{"state":"OK"}//返回状态,成功为OK

指令样例:

{
    "fun": "pauseKeyPadMultipleQuestions",
    "baseId": 1,
    "infos": {
        "state": "OK"
    },
    "packetTag": "1"
}

继续测试

发送:

fun: \"continueKeyPadMultipleQuestions\" //继续多题题型

params:{}

其中 displayMode 题号显示模式 有7中模式,分别对应7中显示题型的方式,用户可以根据需要自行选择

Json字段 字段含义 赋值及含义
displayMode 题号显示模式 1: 在线测验 键盘一级题型 显示“Q”开头
2: 在线测验 键盘一级题型 显示“题”开头
3: 在线测验 键盘三级题型编号显示
4: 主观题得分输入
5: 在线作业 键盘一级题型 显示“Q”开头
6: 在线作业 键盘一级题型 显示“题”开头
7: 在线作业 键盘二级题型编号显示

下面是7中模式的具体实现指令示例。

在线测验 键盘一级题型 显示“Q”开头 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 1: 在线测验 键盘一级题型 显示“Q”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。

指令样例:

{
    "fun": "continueKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 1,
        "questions": [{
            "questionLevel1Symbol": "1",
            "questionType": "1"
        }, {
            "questionLevel1Symbol": "2",
            "questionType": "2",
            "option": "5"
        }, {
            "questionLevel1Symbol": "3",
            "questionType": "3"
        }, {
            "questionLevel1Symbol": "4",
            "questionType": "4"
        }]
    },
    "packetTag": "59"
}
在线测验 键盘一级题型 显示“题”开头 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 2: 在线测验 键盘一级题型 显示“题”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "continueKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 2,
        "questions": [{
            "questionLevel1Symbol": "1",
            "questionType": "1"
        }, {
            "questionLevel1Symbol": "2",
            "questionType": "2",
            "option": "5"
        }, {
            "questionLevel1Symbol": "3",
            "questionType": "3"
        }, {
            "questionLevel1Symbol": "4",
            "questionType": "4"
        }]
    },
    "packetTag": "59"
}
在线测验 键盘三级题型编号显示 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 3: 在线测验 键盘三级题型编号显示
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
questionLevel2Symbol 二级题号 1-99
questionLevel3Symbol 三级题号 1-99
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "continueKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 3,
        "questions": [{
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "1",
            "questionLevel3Symbol": "1",
            "questionType": "1"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "2",
            "questionLevel3Symbol": "3",
            "questionType": "2",
            "option": "5"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "2",
            "questionLevel3Symbol": "4",
            "questionType": "3"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "2",
            "questionLevel3Symbol": "5",
            "questionType": "4"
        }]
    },
    "packetTag": "59"
}
主观题得分输入 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 4:主观题得分输入
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
toplimit 数字上限 0-100
questionType 题目类型 3:数字
decimal 小数位数 0:无效小数
1:一位小数
2:二位小数 [默认是2]
此项缺省时默认是0。
{
    "fun": "continueKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 4,
        "questions": [{
            "questionLevel1Symbol": "1",
            "toplimit": "100",
            "questionType": "3",
            "decimal": "0"
        }, {
            "questionLevel1Symbol": "2",
            "toplimit": "100",
            "questionType": "3",
            "decimal": "1"
        }, {
            "questionLevel1Symbol": "3",
            "toplimit": "100",
            "questionType": "3",
            "decimal": "2"
        }, {
            "questionLevel1Symbol": "4",
            "toplimit": "100",
            "questionType": "3",    
        }]
    },
    "packetTag": "59"
}
在线作业 键盘一级题型 显示“Q”开头 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 5:在线作业 键盘一级题型 显示“Q”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
course 科目 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "continueKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 5,
        "questions": [{
            "questionLevel1Symbol": "1",
            "course": "1",
            "questionType": "1",
            "option": "4"
        }, {
            "questionLevel1Symbol": "2",
            "course": "2",
            "questionType": "2",
            "option": "4"
        }, {
            "questionLevel1Symbol": "3",
            "course": "3",
            "questionType": "3",
            "option": "4"
        }, {
            "questionLevel1Symbol": "4",
            "course": "4",
            "questionType": "4",
            "option": "4"
        }]
    },
    "packetTag": "59"
}
在线作业 键盘一级题型 显示“题”开头 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 6:在线作业 键盘一级题型 显示“题”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
course 科目 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "continueKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 6,
        "questions": [{
            "questionLevel1Symbol": "1",
            "course": "1",
            "questionType": "1",
            "option": "4"
        }, {
            "questionLevel1Symbol": "2",
            "course": "2",
            "questionType": "2",
            "option": "4"
        }, {
            "questionLevel1Symbol": "3",
            "course": "3",
            "questionType": "3",
            "option": "4"
        }, {
            "questionLevel1Symbol": "4",
            "course": "4",
            "questionType": "4",
            "option": "4"
        }]
    },
    "packetTag": "59"
}
在线作业 键盘二级题型编号显示 指令说明
Json字段 字段含义 赋值及含义
examNo 测验编号 1-9999
Total 题目数量 1-200
optional 选项数目 1-10 默认4
displayMode 题号显示模式 6:在线作业 键盘一级题型 显示“题”开头
questions 题目详情 数组

题目详情数组参数说明

Json字段 字段含义 赋值及含义
questionLevel1Symbol 一级题号 1-99
questionLevel2Symbol 二级题号 1-99
course 科目 1:语文
2:数学
3:英语
4:政治
5:历史
6:地理
7:生物
8:物理
9化学
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
option 选项数目 默认是0
当questionType = 2 有效。
此项缺省时 optional 项值代替。
{
    "fun": "continueKeyPadMultipleQuestions",
    "baseId": 0,
    "params": {
        "examNo": 33,
        "total": 4,
        "optional": 4,
        "displayMode": 6,
        "questions": [{
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "1",
            "course": "1",
            "questionType": "1",
            "option": "4"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "2",
            "course": "2",
            "questionType": "2",
            "option": "4"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "3",
            "course": "3",
            "questionType": "3",
            "option": "4"
        }, {
            "questionLevel1Symbol": "1",
            "questionLevel2Symbol": "4",
            "course": "4",
            "questionType": "4",
            "option": "4"
        }]
    },
    "packetTag": "59"
}

接收:

fun: "startKeyPadMultipleQuestions" //开始多题题型 baseId: "1"//接收到指令的基站ID infos:{"state":"OK"}//返回状态,成功为OK

指令样例:

{
    "baseId": 1,
    "fun": "startKeyPadMultipleQuestions",
    "infos": {
        "state": "OK"
    },
    "packetTag": "59"
}

指定键盘转移作答内容

注意:此接口一次只能对一只键盘进行操作。

发送:

fun: "copyKeyPadMultipleQuestions" //转移键盘作答内容 params:{} //

Json字段 字段含义 赋值及含义
baseId 键盘所连基站ID 1-32
keySn 目标键盘SN
id 题目编号 1-200
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
value 题目答案 字符串16字节

指令样例:

{
    "fun": "copyKeyPadMultipleQuestions",
    "baseId": 1,
    "params": {
        "keySn": "0007831203",
        "questions": [{
            "id": "1",
            "questionType": "1",
            "value": "A"
        }, {
            "id": "2",
            "questionType": "2",
            "value": "AB"
        }]
    },
    "packetTag": "19"
}

接收:

fun: "copyKeyPadMultipleQuestions" // baseId: "1"//收到的基站ID infos:{"state":"OK"}//返回状态,成功为OK

指令样例:

{
    "fun": "copyKeyPadMultipleQuestions",
    "baseId": 1,
    "infos": {
        "state": "OK"
    },
    "packetTag": "1"
}

向键盘广播正确答案

发送:

fun: "okKeyPadMultipleQuestions" //向键盘广播正确答案 baseId: "1"//收到的基站ID params:{} //默认空

Json字段 字段含义 赋值及含义
baseId 基站ID 1-32
id 题目编号 1-200
questionType 题目类型 1:单选
2:多选(排序)
3:数字
4:判断
value 题目答案 字符串16字节

指令样例:

{
    "fun": "okKeyPadMultipleQuestions",
    "baseId": 0,
    "params": [{
        "id": "1",
        "questionType": "1",
        "value": "A"
    }, {
        "id": "2",
        "questionType": "2",
        "value": "AB"
    }],
    "packetTag": "20"
}

接收:

fun: "okKeyPadMultipleQuestions" // baseId: "1"//收到的基站ID infos:{"state":"OK"}//返回状态,成功为OK

指令样例:

{
    "fun": "okKeyPadMultipleQuestions",
    "baseId": 1,
    "infos": {
        "state": "OK"
    },
    "packetTag": "1"
}

支持设备说明

基站+键盘 支持 备注
B100-2.4G+S6 支持
B200-2.4G+S6 支持

填空题

开始作答

发送:

fun: \"startTextAnswer\" //开始填空题

params:{}


Json字段 字段含义 赋值及含义

optionsMode 填空类型 1-任意输入(默认值)

modifyMode 预留 1- (默认值)

secrecyMode 预留 0- (默认值)


指令样例:

{\     \"fun\":\"startTextAnswer\",

\"baseId\":0,\     \"params\":{\         \"optionsMode\":\"1\",\         \"modifyMode\":\"1\",

\"secrecyMode\":\"0\"\     },\     \"packetTag\":\"1\"\ }

接收:

  • fun: \"startTextAnswer \" //开始填空题
<!-- -->
  • baseId: \"1\"//接收到指令的基站ID

  • infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"startTextAnswer\",

\"baseId\":1,\   \"infos\":{\        \"state\":\"OK\"\     },

\"packetTag\":\"1\"\ }

接收作答

接收:

fun: \"answerTextAnswer\" //填空题作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

keySn 键盘Sn

keyValue 键值 ABCD/1234/AA123


指令样例:

{\     \"fun\":\"answerTextAnswer\",\     \"baseId\":1,\     \"infos\":{\         \"keySn\":\"1479824643\",\         \"keyValue\":\"1\"\     },

 \"packetTag\":\"1\"\ }

发送:

fun: \"answerTextAnswer\" //填空题作答返回

baseId: \"1\"//接收的基站ID

params:{} //为空

指令样例:

{\     \"fun\":\"answerTextAnswer\",\     \"baseId\":1,\     \"packetTag\":\"1\"\ }

停止作答

发送:

fun: \"stopTextAnswer\" //停止填空题

params:{} //默认空

指令样例:

{\     \"fun\":\"stopTextAnswer\",\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopTextAnswer\" //停止填空题

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopTextAnswer\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


异步测验模式

开始作答

发送:

fun: \"startTestMode\" //开始异步测验模式

params:{}


Json字段 字段含义 赋值及含义

optionsMode 测验类型 11-自动测验模式(默认值)

testNum 测验题数量 1 - 100


指令样例:

{\     \"fun\":\"startTestMode\",

\"baseId\":0,\     \"params\":{\         \"optionsMode\":\"11\",\         \"testNum\":\"5\"\     },\     \"packetTag\":\"1\"\ }

接收:

  • fun: \"startTestMode\" //开始异步测验模式
<!-- -->
  • baseId: \"1\"//接收到指令的基站ID

  • infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"startTestMode\",

\"baseId\":1,\   \"infos\":{\        \"state\":\"OK\"\     },

\"packetTag\":\"1\"\ }

接收作答

接收:

fun: \"answerTestMode\" //异步测验模式返回

baseId: \"1\"//接收到指令的基站ID

infos: {}

指令样例:

{\     \"fun\":\"answerTestMode\",\     \"baseId\":1,\     \"infos\":{\         \"time\":\"5.42\",\         \"keySn\":\"1479824643\",

  \"seq\":\"1\",\         \"keyValue\":\"A\"\     },

 \"packetTag\":\"1\"\ }

停止作答

发送:

fun: \"stopTestMode\" //停止异步测验模式

params:{} //默认空

指令样例:

{\     \"fun\":\"stopTestMode\",\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopTestMode\" //停止异步测验模式

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopTestMode\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


自定义题型

开始测试

发送:

fun: \"startKeyPadCustomQuestions\" //开始

params:{}

+-----------------+------------+--------------------------------------+ | Json字段 | | 赋值及含义 | | | 字段含义 | | +-----------------+------------+--------------------------------------+ | titleTable | 题目表 | 数组 | | | | | | | | 字符串 | +-----------------+------------+--------------------------------------+ | optionTable | 选项表 | 数组 | | | | | | | | \"A,B,C,D\" [默认] | | | | | | | | \" 1,2,3,4 \" | | | | | | | | \" 对,错 \" | | | | | | | | \" √,× \" | | | | | | | | \" 同意,反对,弃权 \" | +-----------------+------------+--------------------------------------+ | ruleTable | 规则表 | 数组[内容请参考"规则字段解释"] | +-----------------+------------+--------------------------------------+ | permissionTable | 许可权限表 | 数组 | +-----------------+------------+--------------------------------------+ | .permission | 许可权限 | 0:无[默认] | | | | | | | | 1: 允许 | | | | | | | | 2: 禁止 | +-----------------+------------+--------------------------------------+ | .KeySnList | 键盘列表 | 1479824 | | | | 643,1479824644,1479824645,1479824646 | +-----------------+------------+--------------------------------------+ | configTable | 配置表 | 数组 | +-----------------+------------+--------------------------------------+ | .number | 题编号 | 1-200 | +-----------------+------------+--------------------------------------+ | .titleID | 题目表ID | 1-200 | +-----------------+------------+--------------------------------------+ | .optionID | 选项表ID | 1-200 | +-----------------+------------+--------------------------------------+ | .ruleID | 规则表ID | 1-200 | +-----------------+------------+--------------------------------------+ | .permissionID | 许 | 1-200 | | | 可权限表ID | | +-----------------+------------+--------------------------------------+

规则字段解释:

规则类型1:


Json字段 字段含义 赋值及含义

.ruleType 规则类型 1

.mode 模式 0 默认(单选选择)\ 1 纯数字组合 ,包含(上下键做负号与点号)\ 2 填空自由组合,键盘自己实现输入方式\ 3 多小题显示格式\ 4 批次表决、批次评议\ 5 批次评分\ 6 名单选举\ 7 累计投票、股权投票

.modifyMode 修改模式 0-不可修改 1-可修改,默认 1

.secrecyMode 保密模式 0-不保密 1-保密,默认 0

.lessMode 迫选模式 0 不迫选 1 迫选,默认 0

.repeat 重复模式 0 不限制 1 单个选项只能选一次,默认 0

.sort 自动排序 0 保留输入顺序,1 选项自动排序,默认 1

.max 最大可选人数

.min 最小可选人数

.maximum 最大可供选择项目数 1-10

.maxOptions 可选出数目 最小值是1,最大值不超出maximum

. topLimit 数字上限 浮点数格式的字符串

. lowerLimit 数字下限 浮点数式的字符串


规则类型2:


Json字段 字段含义 赋值及含义

.ruleType 规则类型 2

.mode 模式 0 默认(选择)

.modifyMode 修改模式 0-不可修改 1-可修改,默认 1

.secrecyMode 保密模式 0-不保密 1-保密,默认 0

.lessMode 迫选模式 0 不迫选 1 迫选,默认 0

. repeat 重复模式 0 不限制 1 单个选项只能选一次,默认 0

. sort 自动排序 0 保留输入顺序,1 选项自动排序,默认 1

.max 最大可选人数

.min 最小可选人数

.retain 保留数字 数组 范围000-999

.range 数字范围 数组

..rangeStart 数字范围开始

..rangeEnd 数字范围结束


指令样例:

{

\"fun\": \"startKeyPadCustomQuestions\",

\"baseId\": 0,

\"params\": {

\"titleTable\": [\"单选题\", \"数字表决\"],

\"optionTable\": [

[\"A\", \"B\", \"C\", \"D\"],

[\"同意\", \"反对\", \"弃权\"]

],

\"ruleTable\": [{

\"ruleType\": \"1\",

\"mode\": \"0\",

\"modifyMode\": \"0\",

\"secrecyMode\": \"0\",

\"lessMode\": \"0\",

\"repeat\": \"0\",

\"sort\": \"1\",

\"max\": \"4\",

\"min\": \"1\",

\"maximum\": \"4\",

\"maxOptions\": \"1\",

\"topLimit\": \"100.0\",

\"lowerLimit\": \"0.1\"

},

{

\"ruleType\": \"2\",

\"mode\": \"0\",

\"modifyMode\": \"0\",

\"secrecyMode\": \"0\",

\"lessMode\": \"0\",

\"repeat\": \"0\",

\"sort\": \"1\",

\"max\": \"4\",

\"min\": \"1\",

\"retain\": [\"777\", \"999\"],

\"range\": [{

\"rangeStart\": \"1\",

\"rangeEnd\": \"100\"

}, {

\"rangeStart\": \"101\",

\"rangeEnd\": \"200\"

}, {

\"rangeStart\": \"201\",

\"rangeEnd\": \"300\"

}]

}

],

\"permissionTable\": [{

\"permission\": \"2\",

\"keySnList\": [\"1479824643\", \"1479824644\", \"1479824645\", \"1479824646\"]

},

{

\"permission\": \"1\",

\"keySnList\": [\"1479824643\", \"1479824644\", \"1479824645\", \"1479824646\"]

}

],

\"configTable\": [{

\"number\": \"1\",

\"titleID\": \"1\",

\"optionID\": \"1\",

\"ruleID\": \"1\",

\"permissionID\": \"0\"

},

{

\"number\": \"2\",

\"titleID\": \"2\",

\"optionID\": \"2\",

\"ruleID\": \"2\",

\"permissionID\": \"0\"

}

]

},

\"packetTag\": \"59\"

}

接收:

fun: \"startKeyPadMultipleQuestions\" //开始多题题型

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{

\"baseId\": 1,

\"fun\": \"startKeyPadMultipleQuestions\",

\"infos\": {

\"state\": \"OK\"

},

\"packetTag\": \"59\"

}

接收作答

接收:

fun: \"answerKeyPadCustomQuestions\" //自定义题型返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

Time 答题时间 [time/5=实际时间] 单位秒,20分钟内有效

keySn 键盘Sn

Seq 题序号

keyValue 键值 键盘提交的值


指令样例:

{\     \"fun\":\"answerKeyPadCustomQuestions\",\     \"baseId\":1,\     \"infos\":{\         \"time\":\"5.42\",\         \"keySn\":\"1479824643\",

  \"seq\":\"1\",\         \"keyValue\":\"12\"\     },

 \"packetTag\":\"1\"\ }

退出作答

发送:

fun: \"stopKeyPadCustomQuestions\" //停止多题题型

params:{} //默认空

指令样例:

{\     \"fun\":\"stopKeyPadCustomQuestions\",

\"baseId\":0,\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopKeyPadCustomQuestions\" //停止键盘测试

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopKeyPadCustomQuestions\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 不支持

B200-2.4G+M6 支持


自由题型

开始作答

发送:

fun: \"startFreeQuestion\" //开始自由题型

params:{}

指令样例:

{\     \"fun\":\"startFreeQuestion\",

\"baseId\":0,\     \"params\":{},

\"packetTag\":\"1\"\ }

接收:

fun: \"startChoices\" //开始自由题型

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"startFreeQuestion\",\     \"baseId\":1,\     \"infos\":{\         \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

接收作答

接收:

接收作答数据有键盘提交决定分为:选择题、判断题和数字题三个类型

选择题:

fun: \"answerChoices\" //自由题型作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | time | 答题时间 | 单位秒 | +----------------+--------------+-------------------------------------+ | keySn | 键盘Sn | | +----------------+--------------+-------------------------------------+ | keyValue | 键值 | A | | | | | | | | ABC | | | | | | | | AABB | | | | | | | | CBA | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"answerChoices\",\     \"baseId\":1,\     \"infos\":{\         \"keySn\":\"1479824643\",\         \"keyValue\":\"ABC\"\     },\     \"packetTag\":\"0\"\ }

判断题:

fun: \"answerTrueFalse\" //自由题型作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

time 答题时间 单位秒

keySn 键盘Sn

keyValue 键值 1~2


指令样例:

{\     \"fun\":\" answerTrueFalse\",\     \"baseId\":1,\     \"infos\":{\         \"keySn\":\"1479824643\",\         \"keyValue\":\"1\"\     },\     \"packetTag\":\"0\"\ }

数字题:

fun: \"answerNumber\" //自由题型作答返回

baseId: \"1\"//接收到指令的基站ID

infos: {}


Json字段 字段含义 赋值及含义

time 答题时间 单位秒

keySn 键盘Sn

keyValue 键值 键盘提交的值


指令样例:

{\     \"fun\":\"answerNumber\",\     \"baseId\":1,\     \"infos\":{\         \"keySn\":\"1479824643\",\         \"keyValue\":\"99.99\"\     },\     \"packetTag\":\"0\"\ }

停止作答

发送:

fun: \"stopFreeQuestion\" //停止自由题型

params:{} //默认空

指令样例:

{\     \"fun\":\"stopFreeQuestion\",

\"baseId\":0,\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopFreeQuestion\" //停止自由题型

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\" stopFreeQuestion \",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


NFC刷卡

刷卡流程:

刷卡后可以将键盘和基站自动完成配对。当需要刷卡绑定时应用软件先给基站发送一个键盘的姓名,键盘靠近基站感应区就会直接绑定当前数据并返回状态给应用。绑定成功后应用再发送下一个键盘的绑定信息,依次循环来绑定多个。

写刷卡数据

发送:

fun: \"writeNFCInfo\" //写NFC绑定数据

baseId: 1//1~32 (键盘所连基站ID)

params:{}//


Json字段 字段含义 赋值及含义

userName 姓名 最多24个汉字(48个字符), 键盘左上角显示

matchCode 配对码 四字节 十六进制显示


指令样例:

{\     \"fun\":\"writeNFCInfo\",

 \"baseId\":1,\     \"params\":{\         \"userName\":\"张三\",

\"matchCode\":\"22120007\"

},\     \"packetTag\":\"1\"\ }

刷卡绑定反馈

接收:

fun: \"NFCInfo\" //NFC绑定数据

baseId: \"1\"//键盘所连基站ID

infos:{}

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | keySn | 键盘Sn | | +----------------+--------------+-------------------------------------+ | state | 状态 | 1 预留 | | | | | | | | 2 基站报告正常刷卡的键盘SN | | | | | | | | 3 预留 | | | | | | | | 4 刷卡写指定配对码消息 | +----------------+--------------+-------------------------------------+ | number | 数量 | 预留 | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"NFCInfo\",\     \"baseId\":1,\     \"infos\": {\             \"keySn\":\"1479824643\",\             \"state\":\"4\",

            \"number\":\"0\"\         } ,\     \"packetTag\":\"1\"\ }

NFC数据清除指令

发送:

fun: \"writeNFCEmpty\" //写NFC绑定数据

baseId: 1//1~32 (键盘所连基站ID)

params:{}//

指令样例:

{\     \"fun\":\"writeNFCEmpty\",

  \"baseId\":1,\     \"params\":{},\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 支持 带NFC键盘有效

B200-5.8G+T2 不支持


硬件参数

硬件的读写操作返回数据都是相同的,具体值参见写指令的value

基站

基站编号

发送:

fun: \"readBaseStationID\" //读基站编号

baseId: 0//0~32 (指令不发送baseID,默认为0表示读取所有在线基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationID\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationID\"

baseId: \"2\"//基站ID

infos:{\"value\":\"OK\"}//返回基站在线

指令样例1:

{

\"baseId\": 1,

\"fun\": \"connectBase\",

\"infos\": {

\"value\": \"OK\"

},

\"packetTag\": \"1\"

}

指令样例2:

{

\"baseId\": 2,

\"fun\": \"connectBase\",

\"infos\": {

\"value\": \"OK\"

},

\"packetTag\": \"1\"

}

指令样例:

{\     \"fun\":\"readBaseStationID\",\     \"baseId\":2,\     \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationID\"

baseId: \"2\"//基站ID

infos:{\"value\":\"2\"}//返回基站ID

指令样例:

{\     \"fun\":\"baseStationID\",\     \"baseId\":2,\      \"infos\":{

\"pathAdd\":\"12345\",\         \"value\":\"2\"\     },

 \"packetTag\":\"1\"}\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


基站频点

发送:

fun: \"readBaseStationChannel\" //读基站频点

baseId: 0//0~32 (默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationChannel\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

发送:

fun: \"writeBaseStationChannel\" //写基站频点

baseId: 1//1~32 (必须指定基站)

params:{\"value\":\"1\"}//1~12 (频点)

指令样例:

{\     \"fun\":\"writeBaseStationChannel\",\     \"baseId\":1,\     \"params\":{\         \"value\":\"3\"\     },

 \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationChannel\"

baseId: 1//基站ID

infos:{\"value\":\"3\"}//返回基站频点值

指令样例:

{\     \"fun\":\"baseStationChannel\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"3\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


键盘登录菜单显示

发送:

fun: \"readKeyboardLoginMenu\" //读键盘登录菜单显示

baseId: 0//0~32 (默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readKeyboardLoginMenu\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

发送:

fun: \"writeKeyboardLoginMenu\" //写键盘登录菜单显示

baseId: 1 //1~32 (必须指定基站)

params:{\"value\":\"1\"}//0~1 (0不允许登录;1允许登录)

指令样例:

{\     \"fun\":\"writeKeyboardLoginMenu\",\     \"baseId\":1,\     \"params\":{\         \"value\":\"1\"\     },

 \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationKeyboardLoginMenu\"

baseId: 1//基站ID

infos:{\"value\":\"1\"}//返回键盘登录菜单显示值

指令样例:

{\     \"fun\":\"baseStationKeyboardLoginMenu\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"1\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


基站型号(只读)

发送:

fun: \"readBaseStationModel\" //读基站基站型号

baseId: 0//0~32 (默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationModel\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationModel\"

baseId: 1//基站ID

infos:{\"value\":\"218\"}//返回基站基站型号

指令样例:

{\     \"fun\":\"baseStationModel\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"218\"\     },

 \"packetTag\":\"1\"\ }

基站型号代码查询表


基站型号代码 基站型号

217 B100-2.4G

218 B200-2.4G

219 B200-5.8G


支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


基站软件版本(只读)

发送:

fun: \"readBaseStationSVersion\" //读基站软件版本

baseId: 0 //0~32 (默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationSVersion\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationSVersion\"

baseId: 1//基站ID

infos:{\"value\":\"V2.0.2\"}//返回基站软件版本

指令样例:

{\     \"fun\":\"baseStationSVersion\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"V2.0.2\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


基站序列号(只读)

发送:

fun: \"readBaseStationSN\" //读基站序列号

baseId: 0 //0~32 (默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationSN\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationSN\"

baseId: 1//基站ID

infos:{\"value\":\"FFFFFFFFFF\"}//返回基站序列号

指令样例:

{\     \"fun\":\"baseStationSN\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"FFFFFFFFFF\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


基站名称

发送:

fun: \"readBaseStationTitle\" //读基站名称

baseId: 0 //0~32 (默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationTitle\",\     \"baseId\":0,

 \"packetTag\":\"1\"\ }

发送:

fun: \"writeBaseStationTitle\" //写基站名称

baseId: 1//1~32(必须指定基站)

params:{\"value\":\" A2021\"}//基站名称,最长12字节

指令样例:

{\     \"fun\":\"writeBaseStationTitle\",\     \"baseId\":1,\     \"params\":{\         \"value\":\"A2021\"\     },

 \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationTitle\"

baseId: 1//基站ID

infos:{\"value\":\"A2021\"}//返回基站名称

指令样例:

{\     \"fun\":\"baseStationTitle\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"A2021\"\     },

 \"packetTag\":\"1\"}\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


基站配对码

发送:

fun: \"readBaseStationMatchCode\" //读基站配对码

baseId: 0 //0~32 (默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationMatchCode\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationMatchCode\"

baseId: 1//基站ID

infos:{\"value\":\"21072333\"}//返回基站配对码

指令样例:

{\     \"fun\":\"baseStationMatchCode,\     \"baseId\":1,\      \"infos\":{\         \"value\":\"21072333\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


基站频点冲突

检测到基站频点冲突将会返回给应用程序提示,应用程序可根据情况更改频点。

接收:

fun: \"baseStationChannelInterference\" // 基站频点冲突

baseId: //

infos:{ \"value\":\"5\"}//频点5冲突

packetTag:\"0\"//数据包标签

指令样例:

{\     \"fun\":\"baseStationChannelInterference\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"5\"\     },

 \"packetTag\":\"0\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


基站容量

发送:

fun: \"readBaseStationCapacity\" //读基站容量

baseId: 0 //0~32 (默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationCapacity\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationCapacity\"

baseId: \"1\"//基站ID

infos:{\"keypadNumber\":\"60\",\"lock\":\"1\"}//返回基站键盘容量值

指令样例:

{\     \"fun\":\"baseStationID\",\     \"baseId\":2,\      \"infos\":{\         \"keypadNumber\":\"60\",

        \"lock\":\"1\"\     },

 \"packetTag\":\"1\"}\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持


快速配对

开始快速配对

发送:

fun: \"startQuickMatch\" //开始快速配对

baseId:1 // 1~32 (必选参数,范围(1~32))

params:{}

指令样例:

{\     \"fun\":\"startQuickMatch\",

\"baseId\":1,\ \"packetTag\":\"1\"

}

接收:

fun: \"startQuickMatch\" //开始快速配对

baseId: \"1\"//接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"startQuickMatch\",\     \"baseId\":1,\     \"infos\":{\         \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

停止快速配对

发送:

fun: \"stopQuickMatch\" //停止快速配对

params:{} //默认空

指令样例:

{\     \"fun\":\"stopQuickMatch\",

  \"baseId\":1,\     \"packetTag\":\"1\"\ }

接收:

fun: \"stopQuickMatch\" //停止快速配对

baseId: \"1\"//收到的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"stopQuickMatch\",\     \"baseId\":1,\     \"infos\":{\           \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明

基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持 键盘需要设置为配对模式

B200-2.4G+S6 支持 键盘需要设置为配对模式

B200-5.8G+T2 不支持


键盘登录密码

发送:

fun: \"readKeyboardLoginPW\" //读键盘登录密码

baseId: 0// 0~32 (指令不发送baseID,默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readKeyboardLoginPW\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

发送:

fun: \"writeKeyboardLoginPW\" //写键盘登录密码

baseId: 1 //1~32 (必须指定基站)

params:{\"value\":\"0\"}//0~9999 (0不用核对)

指令样例:

{\     \"fun\":\"writeKeyboardLoginPW\",\     \"baseId\":1,\     \"params\":{\         \"value\":\"0\"\     },

 \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationKeyboardLoginPW\"

baseId: 1//基站ID

infos:{\"value\":\"1\"}//返回键盘登录密码值

指令样例:

{\     \"fun\":\"baseStationKeyboardLoginPW\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"0\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


基站名称隐藏

发送:

fun: \"readBaseStationNameHidden\" //读基站名称隐藏

baseId: 0// 0~32 (指令不发送baseID,默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationNameHidden\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

发送:

fun: \"writeBaseStationNameHidden\" //写基站名称隐藏

baseId: 1 //1~32 (必须指定基站)

params:{\"value\":\"0\"}//0~1 (0隐藏,1不隐藏)

指令样例:

{\     \"fun\":\"writeBaseStationNameHidden\",\     \"baseId\":1,\     \"params\":{\         \"value\":\"0\"\     },

 \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationNameHidden\"

baseId: 1//基站ID

infos:{\"value\":\"1\"}//返回基站名称隐藏值 (0隐藏,1不隐藏)

指令样例:

{\     \"fun\":\"baseStationNameHidden\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"0\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


基站TCP/IP参数

发送:

fun: \"readBaseStationTcpIp\" //读基站TCP/IP参数

baseId: 0// 0~32 (指令不发送baseID,默认为0表示读取所有基站)

params:{}//可不填

指令样例:

{\     \"fun\":\"readBaseStationTcpIp\",\     \"baseId\":0,\     \"packetTag\":\"1\"\ }

发送:

fun: \"writeBaseStationTcpIp\" //写基站TcpIp

baseId: 1 //1~32 (必须指定基站)

params:

指令样例:

{\     \"fun\":\"writeBaseStationTcpIp\",\     \"baseId\":1,\     \"params\":{

\"mac\":\"FF.FF.FF.FF.FF\",\         \"ip\":\"192.168.10.10\",

\"mask\":\"255.255.255.0\",

 \"gateway\":\"192.168.10.1\"\     },

 \"packetTag\":\"1\"\ }

返回

接收:

fun: \"baseStationTcpIp\"

baseId: 1//基站ID

infos:{\"value\":\"1\"}//返回基站TcpIp

指令样例:

{\     \"fun\":\"baseStationTcpIp\",\     \"baseId\":1,\      \"infos\":{\          \"ip\":\"192.168.10.10\",

 \"mac\":\"FF.FF.FF.FF.FF\",

\"mask\":\"255.255.255.0\",

  \"gateway\":\"192.168.10.1\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 不支持

EA4000T-2.4G+S5 支持 带LAN接口版本


基站键盘白名单管理

发送:

  • fun: \"readWhiteList\" //读白名单列表

  • baseId: 0//

指令样例:

{\     \"fun\":\"readWhiteList\",\     \"baseId\":0,

\"params\":{},\     \"packetTag\":\"1\"\ }

发送:

  • fun: \"writeWhiteList\" //写白名单列表
<!-- -->
  • baseId: 1 //1~32 (必须指定基站)
<!-- -->
  • keySnList:[]//键盘SN数组最多200键盘SN

指令样例:

{

\"fun\": \"writeWhiteList\",

\"baseId\": 2,

\"keySnList\": [

{\"keySn\":\"2111120140\"},

{\"keySn\":\"0005243136\"},

{\"keySn\":\"2111120102\"} ],

\"packetTag\": \"10\"

}

返回

接收:

  • fun: \"whiteList\"

  • baseId: 1//基站ID

  • infos:{\"value\":\"1\"}//返回读白名单列表区域

指令样例:

{\     \"fun\":\"whiteList\",\     \"baseId\":1,\      \"infos\":[

{\"keySn\":\"2111120140\"},

{\"keySn\":\"0005243136\"},

{\"keySn\":\"2111120102\"} ],

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 不支持

EA4000T-2.4G+S5 不支持

EA3100-2.4G+S62 支持


键盘

键盘写参数可以不指定键盘SN,则对所有在线键盘进行写操作,但没有键盘状态返回。如需指定键盘信息下发,则需要指定键盘SN,所有键盘状态返回。

注:如果一条指定键盘指令中有一个keySN为空,则该指令会按不指定键盘执行。

键盘外设(只写)

fun: \"writeKeypadDevice\" //写键盘外设,由led灯、蜂鸣器、马达组合

params:{} // 数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置


Json字段 字段含义 赋值及含义

keySn 键盘SN 空字符串,为所有在线键盘

ledTimes Led灯闪烁次数 0~255 (0是马上灭,255是长亮)

ledOnTime Led灯每次开时间 0~255 (单位0.1s)

ledOffTime Led灯每次关时间 0~255 (单位0.1s,为0就是连续亮)

ledColorR Led灯灯颜色,红值 0~255(现只支持0灭和1亮,,>1也认为是1)

ledColorG Led灯灯颜色,绿值 0~255(现只支持0灭和1亮,,>1也认为是1)

ledColorB Led灯灯颜色,蓝值 0~255(现只支持0灭和1亮,,>1也认为是1)

beepTimes 蜂鸣器响次数 0~255 (0是马上响,255是长响)

beepOnTime 蜂鸣器每次开时间 0~255 (单位0.1s)

beepOffTime 蜂鸣器每次关时间 0~255 (单位0.1s,为0就是连续响)

motorTimes 马达震动次数 0~255

motorOnTime 马达每次开时间 0~255 (单位0.1s)

motorOffTime 马达每次关时间 0~255 (单位0.1s,为0就是连续振动)


指令样例:

所有键盘

{\     \"fun\":\"writeKeypadDevice\",

 \"baseId\":1,\     \"params\":\         {\             \"ledTimes\":\"3\",\             \"ledOnTime\":\"1\",\             \"ledOffTime\":\"1\",\             \"ledColorR\":\"128\",

            \"ledColorG\":\"128\",

            \"ledColorB\":\"128\",

\"beepTimes\":\"3\",\             \"beepOnTime\":\"1\",\             \"beepOffTime\":\"1\",

\"motorTimes\":\"3\",\             \"motorOnTime\":\"2\",\             \"motorOffTime\":\"1\"\         },

 \"packetTag\":\"1\"\ }

返回

fun: \"writeKeypadDevice\"

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"writeKeypadDevice\",\     \"baseId\":0,\     \"infos\":{

\"keySn\":\"0000000000\"\         \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

指定键盘

{\     \"fun\":\"writeKeypadDevice\",

\"keySnList\":[{\"keySn\":\"0007899478\"}],\     \"params\":\         {\             \"ledTimes\":\"3\",\             \"ledOnTime\":\"1\",\             \"ledOffTime\":\"1\",\             \"ledColorR\":\"128\",\             \"ledColorG\":\"128\",\             \"ledColorB\":\"128\",\             \"beepTimes\":\"3\",\             \"beepOnTime\":\"1\",\             \"beepOffTime\":\"1\",\             \"motorTimes\":\"3\",\             \"motorOnTime\":\"2\",\             \"motorOffTime\":\"1\"\         },\     \"packetTag\":\"1\"\ }

返回

fun: \"writeKeypadDevice\"

infos:{}//数组对象,同发送的

指令样例:

{

\"baseId\": 3,

\"fun\": \"writeKeypadDevice\",

\"infos\": {

\"keySn\": \"0007899478\",

\"state\": \"OK\"

},

\"packetTag\": \"1\"

}

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持 蜂鸣器部分参数无效


键盘反馈参数

发送:

fun: \"readKeypadFeedbackMode\" //读键盘反馈模式参数

baseId: 0//0~32 (指令不发送baseID,默认为0表示读取所有基站)

params:{}//读取时不需要

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | Mode | 反馈模式 | 0- 不启用(默认0不启用) | | | | | | | | 1- 通用键码,不显示 | +----------------+--------------+-------------------------------------+ | Value | 反馈 | 1~10 | | | 最大有效按键 | | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"readKeypadFeedbackMode\",\     \"baseId\":0,

 \"packetTag\":\"1\"\ }

发送:

fun: \"writeKeypadFeedbackMode\" //写键盘反馈模式参数

baseId: 1//1~32 (必须指定基站)

params:{\"mode\":\"1\", \"value\":\"4\"}//

指令样例:

{

\"fun\":\"writeKeypadFeedbackMode\",

\"baseId\":0,

\"params\":{

\"mode\":\"1\",

\"value\":\"4\"

},

\"packetTag\":\"1\"

}

返回

接收:

fun: \"keypadFeedbackMode\"

baseId: 1//基站ID

infos:{ \"mode\":\"1\", \"value\":\"4\"}//返回键盘反馈模式参数值

指令样例:

{\     \"fun\":\"keypadFeedbackMode\",\     \"baseId\":1,\      \"infos\":{

\"mode\":\"1\",\         \"value\":\"4\"\     },

 \"packetTag\":\"1\"}\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


键盘即时反馈[主动上报]

接收:

fun: "immediateFeedback"

baseId: 1//基站ID

infos:{ "keySn":"1", "value":"A"}//返回键盘反馈模式参数值

指令样例:

{ "fun": "immediateFeedback", "baseId": 1, "infos": {

    "keySn": "1479824643",
    "value": "A"    
},
 
"packetTag": "0"

}

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


键盘心跳反馈[上报]

接收:

fun: \" keyboardHeartbeat\"

baseId: 1//基站ID

infos:{ \"keySn\":\"1479824643\",\"keyValue\":\"0\",\"ver\":\"1.0.0\",\"volt\":\"50\"}//返回键盘反馈模式参数值


Json字段 字段含义 赋值及含义

hModel 键盘型号 75: T2-5.8G\ 76: S6-2.4G

keySn 键盘Sn

keyVer 键盘版本

Volt 键盘电量 T2百分比值,S6无效


指令样例:

{\     \"fun\":\"keyboardHeartbeat\",\     \"baseId\":1,\      \"infos\":{

\"hModel\":\"67\",

\"keySn\":\"1479824643\",\         \"keyValue\":\"0\",

\"ver\":\"1.0.0\",

\"volt\":\"50\"\     },

 \"packetTag\":\"0\"}\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持 出厂配置有心跳时反馈,出厂配置无心跳时不反馈

B200-2.4G+S6 支持 出厂配置有心跳时反馈,出厂配置无心跳时不反馈

B200-5.8G+T2 不支持


键盘上线通知[上报]

S6键盘上线后上报键盘SN信息。

接收:

fun: \"keyboardOnlineOne\"

baseId: 1//基站ID

infos:{ \"keySn\":\"1479824643\"}//返回键盘反馈模式参数值


Json字段 字段含义 赋值及含义

keySn 键盘Sn


指令样例:

{\     \"fun\":\"keyboardOnlineOne\",\     \"baseId\":1,\      \"infos\":{

\"keySn\":\"1479824643\"      

    },

 \"packetTag\":\"0\"}\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


遥控键盘关机

发送:

fun: \"remoteKeyShutdown\" //遥控键盘关机

params:{}//

指令样例:

{\     \"fun\":\"remoteKeyShutdown\",

 \"baseId\":1,

\"params\":[\         {\             \"keySn\":\"1837454011\"            

}

],\       \"packetTag\":\"1\"\ }

返回

接收:

fun: \"remoteKeyShutdown\"

baseId: 1//基站ID

infos:{\"keySn\":\"1837454011\",\"state\":\"OK\"}//遥控键盘关机

指令样例:

{\     \"fun\":\"remoteKeyShutdown\",\     \"baseId\":1,\      \"infos\":{\         \"keySn\":\"1837454011\",\           \"state\":\"OK\"\     },

 \"packetTag\":\"1\"\ }

发送:

fun: \"remoteKeyShutdown\" //遥控所有键盘关机

params:{}//

指令样例:

{\     \"fun\":\"remoteKeyShutdown\",

 \"baseId\":1,

\"params\":[],\       \"packetTag\":\"1\"\ }

返回

接收:

fun: \"remoteKeyShutdown\"

baseId: 1//基站ID

infos:{\"keySn\":\"0000000000\",\"state\":\"OK\"}//遥控所有键盘关机

指令样例:

{\     \"fun\":\"remoteKeyShutdown\",\     \"baseId\":1,\      \"infos\":{\         \"keySn\":\"0000000000\",\           \"state\":\"OK\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


键盘暂停休眠

发送:

fun: \"writeKeyboardPauseSleep\" //键盘暂停休眠

params:{\"value\"} //


Json字段 字段含义 赋值及含义

baseId 基站ID 0-32 0:所有基站,默认值

value 预留 0 :10秒有效(默认值)


指令样例:

{\     \"fun\":\"writeKeyboardPauseSleep\",

 \"baseId\":0,

\"params\":\         {\             \"value\":\"0\"            

},\       \"packetTag\":\"1\"\ }

返回

接收:

fun: \"writeKeyboardPauseSleep\"

baseId: 1//基站ID

infos:{\"value\":\"0\"}//10秒

指令样例:

{\     \"fun\":\"writeKeyboardPauseSleep\",\     \"baseId\":1,\      \"infos\":{\         \"value\":\"0\"\     },

 \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


键盘短消息

fun: \"writeKeyMessage\" //写键盘短消息

params:{} // 数组对象,对象中的默认值为空字符串,


Json字段 字段含义 赋值及含义

keySn 键盘SN 空字符串,为所有在线键盘

txt 短消息内容 字符串最长80字节


指令样例:

所有键盘

{\     \"fun\":\"writeKeyMessage\",

 \"baseId\":0,\     \"params\":\         {\             \"txt\":\"最新消息\"           

},

 \"packetTag\":\"1\"\ }

返回

fun: \"writeKeyMessage\"

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"writeKeyMessage\",\     \"baseId\":0,\     \"infos\":{

\"keySn\":\"0000000000\"\         \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

指定键盘

{\     \"fun\":\"writeKeyMessage\",

\"keySnList\":[{\"keySn\":\"0007899478\"}],\     \"params\":\         {\            \"txt\":\"最新消息\"

     },\     \"packetTag\":\"1\"\ }

返回

fun: \"writeKeyMessage\"

infos:{}//数组对象,同发送的

指令样例:

{

\"baseId\": 3,

\"fun\": \"writeKeyMessage\",

\"infos\": {

\"keySn\": \"0007899478\",

\"state\": \"OK\"

},

\"packetTag\": \"1\"

}

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


指定键盘修改FSN[内部]

fun: \"writeKeyFSN\" //写键盘修改FSN

params:{} // 数组对象,对象中的默认值为空字符串,


Json字段 字段含义 赋值及含义

keySnOld 旧键盘SN

keySnNew 新键盘 SN


指令样例:

指定键盘

{\     \"fun\":\"writeKeyFSN\",

    \"params\":\         {\            \"keySnList\":[

{

\"keySnOld\":\"0007899478\",

\"keySnNew\":\"0007899479\"

},

{

\"keySnOld\":\"0007899488\",

\"keySnNew\":\"0007899489\"

} ]\      },\     \"packetTag\":\"1\"\ }

返回

fun: \"writeKeyFSN\"

infos:{}//数组对象,同发送的

指令样例:

{

\"baseId\": 3,

\"fun\": \"writeKeyFSN\",

\"infos\": {

\"keySn\": \"0007899478\",

\"state\": \"OK\"

},

\"packetTag\": \"1\"

}

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 不支持


键盘显示设置

注:返回指令中的\"baseId\":0, 可忽略不处理

空闲标题

修改参数后设备重启生效。

发送:

fun: \"writeKeypadFreeTitle\" //写键盘空闲标题显示

params:{}


Json字段 字段含义 赋值及含义

title 标题 最多8个汉字(16个字符)


指令样例:

{\     \"fun\":\"writeKeypadFreeTitle\",

  \"baseId\":1,\     \"params\":\         {

            \"title\":\"请认真听讲\"

  }\  }

接收:

fun: \"writeKeypadFreeTitle\" //写键盘空闲标题显示

baseId: 1//接收到指令的基站ID

infos:{}//


Json字段 字段含义 赋值及含义

keySn 键盘SN

state 返回信息 OK(成功)


指令样例:

{\     \"fun\":\"writeKeypadFreeTitle\",

\"baseId\":0,\     \"infos\":{\         \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持


自定义信息

当启动PIN码签到绑定模式,则可对键盘进行绑定操作

发送:

fun: \"writeKeypadCustomInfo\" //写键盘的自定义信息

params:{}//数组对象,字段不填则保留上次值。

+----------------+--------------+-------------------------------------+ | Json字段 | 字段含义 | 赋值及含义 | +----------------+--------------+-------------------------------------+ | keySn | 键盘Sn | 空则为所有在线键盘,其他数组值无效 | +----------------+--------------+-------------------------------------+ | scoreMode | 分数模式 | 1-清除 | | | | | | | | 2-字符显示(默认值) | | | | | | | | 3-五角星显示 | | | | | | | | 4-爱心显示[S6有效] | +----------------+--------------+-------------------------------------+ | scoreValue | 分数值 | scoreMode==1,此处无效 | | | | | | | | scoreMode==2,8个字符长度 | | | | | | | | scoreMode==3, | | | | 0~6,2个分数表示1个五角星,最多3个 | | | | | | | | scoreMode==4 | | | | ,0~6,2个分数表示1个爱心,最多3个 | | | | [S6有效] | +----------------+--------------+-------------------------------------+ | tipText | 提示文本 | 最多8个汉字(16个字符), | | | | 键盘第二行显示 | +----------------+--------------+-------------------------------------+

指令样例:

{\     \"fun\":\"writeKeypadCustomInfo\",

  \"baseId\":1,\     \"params\":[\         {\             \"keySn\":\"1479824643\",

            \"scoreMode\":\"2\",\             \"scoreValue\":\"99\",\             \"tipText\":\"已绑定\"\         }\     ],\     \"packetTag\":\"1\"\ }

接收:

指定键盘

fun: \"writeKeypadCustomInfo\" //写键盘的用户信息

baseId:0 //接收到指令的基站ID

infos:{}//数组对象


Json字段 字段含义 赋值及含义

keySn 键盘Sn

state 状态 OK表示成功


指令样例:

{\     \"fun\":\"writeKeypadCustomInfo\",

\"baseId\":0,\     \"infos\":[\         {\             \"keySn\":\"1479824643\",\             \"state\":\"OK\"\         }\     ],\     \"packetTag\":\"1\"\ }

所有键盘

fun: \"writeKeypadCustomInfo\" //写键盘的用户信息

baseId:0 //接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"writeKeypadCustomInfo\",\     \"baseId\":0,\     \"infos\":{\         \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


用户姓名

当启动PIN码签到绑定模式,则可对键盘进行绑定操作

发送:

fun: \"writeKeypadUserName\" //写键盘的用户姓名

params:{}//数组对象,字段不填则保留上次值。


Json字段 字段含义 赋值及含义

keySn 键盘Sn 空则为所有在线键盘,其他数组值无效

userName 姓名 最多24个汉字(48个字符), 键盘左上角显示


指令样例:

{\     \"fun\":\"writeKeypadUserName\",

  \"baseId\":1,\     \"params\":[\         {\             \"keySn\":\"1479824643\",\             \"userName\":\"张三\"

        }\     ],\     \"packetTag\":\"1\"\ }

接收:

指定键盘

fun: \"writeKeypadUserName\" //写键盘的用户姓名

baseId:0 //接收到指令的基站ID

infos:{}//数组对象


Json字段 字段含义 赋值及含义

keySn 键盘Sn

state 状态 OK表示成功


指令样例:

{\     \"fun\":\"writeKeypadUserName\",

\"baseId\":0,\     \"infos\":\         {\             \"keySn\":\"1479824643\",\             \"state\":\"OK\"\         } ,\     \"packetTag\":\"1\"\ }

所有键盘

fun: \"writeKeypadUserName\" //写键盘的用户信息

baseId:0 //接收到指令的基站ID

infos:{\"state\":\"OK\"}//返回状态,成功为OK

指令样例:

{\     \"fun\":\"writeKeypadUserName\",\     \"baseId\":0,\     \"infos\":{\         \"state\":\"OK\"\     },\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


指定用户姓名[C100B+S6旧款]

当启动PIN码签到绑定模式,则可对键盘进行绑定操作

发送:

fun: \"writeOneKeypadUserName\" //写键盘的用户姓名

params:{}//数组对象,字段不填则保留上次值。


Json字段 字段含义 赋值及含义

keySn 键盘Sn 空则为所有在线键盘,其他数组值无效

value 姓名 最多5个汉字(10个字符), 键盘左上角显示


指令样例:

{\     \"fun\":\"writeOneKeypadUserName\",

  \"baseId\":0,\     \"params\":[\         {\             \"keySn\":\"1479824643\",\             \"value\":\"张三\"

        }\     ],\     \"packetTag\":\"1\"\ }

接收:

指定键盘

fun: \"oneKeypadUserName\" //写键盘的用户姓名

baseId:1 //接收到指令的基站ID

infos:{}//数组对象


Json字段 字段含义 赋值及含义

keySn 键盘Sn

value 姓名 最多5个汉字(10个字符)


指令样例:

{\     \"fun\":\"oneKeypadUserName\",

\"baseId\":1,\     \"infos\":\         {\             \"keySn\":\"1479824643\",\             \"value\":\"张三\"\         } ,\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 不支持

C100B-2.4G+S6 支持 S6旧款支持,不支持生僻字。


键盘在线信息

自动返回在线信息

基站连接成功后,自动返回所有在线的键盘信息。当键盘在线状态改变时,也会统一返回。

接收:

fun: \"keypadOnLine\" //键盘在线状态

infos:{} //数组对象


Json字段 字段含义 赋值及含义

keySn 键盘Sn

keyVer 键盘版本


指令样例:

{\     \"fun\":\"keypadOnLine\",

  \"baseId\":0,\     \"infos\":[\         {\             \"baseId\":1,\             \"keySn\":\"1837454011\",\             \"keyVer\":\"1.0.6\"

   },\         {\             \"baseId\":1,\             \"keySn\":\"1837454012\",\             \"keyVer\":\"1.0.6\"

    }\     ],\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持


主动获取在线信息

应用程序在需要时,也可主动获取所有在线键盘信息。

发送:

fun: \"getKeypadOnLine\" //获取键盘在线状态

params:{

\"times\":1 //基站扫描键盘时长,单位秒 范围1-10秒

} //

指令样例:

{\     \"fun\":\"getKeypadOnLine\",

\"baseId\":0,

\"params\":{\         \"times\":2

},\     \"packetTag\":\"1\"\ }

接收:

fun: \"keypadOnLine\" //键盘在线状态

infos:{} //数组对象


Json字段 字段含义 赋值及含义

baseId 基站id keySn键盘所在基站id

keySn 键盘Sn

keyVer 键盘版本

Volt 键盘电量 T2百分比值,S6无效


指令样例:

{\     \"fun\":\"keypadOnLine\",

\"baseId\":0,\     \"infos\":[\          {\             \"baseId\":1,\             \"keySn\":\"1837454011\",\             \"ver\":\"1.0.6\",

\"hModel\":\"67\",

\"Volt\":\"100\"\         },\         {\             \"baseId\":1,\             \"keySn\":\"1837454012\",\             \"ver\":\"1.0.6\",

\"hModel\":\"67\",

\"Volt\":\"30\"\         }\     ],\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持 键盘电量:无效

B200-2.4G+S6 支持 键盘电量:无效

B200-5.8G+T2 支持 键盘电量:百分比值


踢出单只键盘

发送:

fun: \"removeOneKeypadOnLine\" //踢出单只键盘

params:{} //键盘sn

指令样例:

{\     \"fun\":\"removeOneKeypadOnLine\",

\"baseId\":0,\     \"params\":{\         \"keySn\":\"1837454012\"\     },\     \"packetTag\":\"1\"\ }

接收:

{\     \"fun\":\"removeOneKeypadOnLine\",\     \"baseId\":1,\     \"packetTag\":\"1\",\     \"infos\":{

 \" keySn \":\"1837454012\",

  \"state\":\"OK\"\     }\ }

清掉成功后会自动返回键盘在线状态,详见4.8.1。

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持


清掉所有键盘

发送:

fun: \"clearKeypadOnLine\" //清掉所有键盘

params:{} //无

指令样例:

{\     \"fun\":\"clearKeypadOnLine\",

\"packetTag\":\"1\"\ }

接收:

{\     \"fun\":\"clearKeypadOnLine\",\     \"baseId\":1,\     \"packetTag\":\"1\",\     \"infos\":{\         \"state\":\"OK\"\     }\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持


锁定键盘

发送:

fun: \"lockKeypad\" //锁定键盘

params:{} //数组对象,指定键盘需填

指令样例:

锁定指定键盘

{\     \"fun\":\"lockKeypad\",\     \"params\":[\         {\             \"keySn\":\"1837454011\"\         },\         {\             \"keySn\":\"1837454012\"\         }\     ],\     \"packetTag\":\"1\"\ }

接收:

{\     \"fun\":\"lockKeypad\",\     \"baseId\":1,\     \"infos\":[\         {\             \"keySn\":\"1837454011\",\             \"state\":\"OK\"\         },\         {\             \"keySn\":\"1837454012\",\             \"state\":\"OK\"\         }\     ],\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持


解锁键盘

发送:

fun: \"unlockKeypad\" //解锁键盘

params:{} //数组对象,指定键盘需填

指令样例:

解锁指定键盘

{\     \"fun\":\"unlockKeypad\",\     \"params\":[\         {\             \"keySn\":\"1837454011\"\         },\         {\             \"keySn\":\"1837454012\"\         }\     ],\     \"packetTag\":\"1\"\ }

接收:

{\     \"fun\":\"unlockKeypad\",\     \"baseId\":1,\     \"infos\":[\         {\             \"keySn\":\"1837454011\",\             \"state\":\"OK\"\         },\         {\             \"keySn\":\"1837454012\",\             \"state\":\"OK\"\         }\     ],\     \"packetTag\":\"1\"\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 不支持

B200-2.4G+S6 不支持

B200-5.8G+T2 支持


系统参数

退出SunVoteWSTrayapp

应用程序发送指令给SunVoteWSTrayapp,SunVoteWSTrayapp回应后将结束SunVoteSDK.exe进程。

发送:

fun: \"exit\" //退出SunVoteWSTrayapp

params:{}//无该值

packetTag:\"1\"//收到的packetTag,可用于分析通信状态

指令样例:

{\     \"fun\":\"exit\",\     \"packetTag\":\"1\"\ }

接收:

fun: \"exit\" //退出SunVoteWSTrayapp

infos:{}//无该值

指令样例:

{\     \"fun\":\"exit\",

    \"packetTag\":\"1\"\ }

注意:配置文件中启用,命令才有效。

托盘图标隐藏或显示

发送:

fun: \"SDKIcon\" //设置托盘图标隐藏或显示

params:{\"value\":\"1\"}//1隐藏;0显示

指令样例:

{\     \"fun\":\"SDKIcon\",

\"baseId\":0,

\"params\":{\         \"value\":\"1\"\     },

 \"packetTag\":\"1\"

}

接收:

fun: \"SDKIcon\"

infos:{\"value\":\"OK\"}

指令样例:

{\     \"fun\":\"SDKIcon\",\      \"infos\":{

        \"value\":\"OK\"\     },

 \"packetTag\":\"1\"}\ }

支持设备说明


基站+键盘 支持/不支持 备注

B100-2.4G+S6 支持

B200-2.4G+S6 支持

B200-5.8G+T2 支持


异常处理

SunVoteWSTrayapp收到数据异常

SunVoteWSTrayapp收到异常数据,会不做处理,并返回以下错误信息描述。

接收:

fun: \"error\" //功能错误

baseId: //无该值

infos:{ \"funId\":\"F0001\",\"code\":\"10002\"}//

指令样例:

{\     \"fun\":\"error\",\     \"infos\":{\         \"funId\":\"F0001\",

\"code\":\"10002\"\     },\     \"packetTag\":\"1\"\ }

发送:

fun: \"error\" //功能错误

baseId: //无该值

infos: //无该值

指令样例:

{\     \"fun\":\"error\",

\"packetTag\":\"1\"\ }


code 含义

10001 不能正确解析的JSON数据

10002 解析JSON错误

20001 基站未连接

20002 功能不支持

20003 基站ID为负数,应用可以不传ID,默认为0

20004 参数错误

30001 找不到对应的SN

40001 升级功能只能支持一个基站在线

50001 此功能必须指定基站ID

60001 此功能必须指定键盘SN



funId 含义

F0001 基站未连接

F0002 读基站信道

F0003 写基站信道

F0004 读基站baseId

F0005 写基站baseId

F0006 读基站名称

F0007 写基站名称

F0008 读键盘关机时间等级

F0009 写键盘关机时间等级

F0010 读基站配对码

F0011 写基站配对码

F0012 读基站序列号

F0013 写基站序列号

F0014 读基站硬件和软件版本

F0015 写基站硬件版本

F0016 读基站类型

F0017 写基站类型

F0018 读基站键盘容量和Lock

F0019 写基站键盘容量和Lock

F0020 读手动获取返回在线信息

F0021 写手动获取返回在线信息

F0022 读基站设备RF功率

F0023 写基站设备RF功率

F0024 读基站设备配对模式或基站名称(自定义)

F0025 写基站设备配对模式

F0026 读基站快速配对低功率模式

F0027 写基站快速配对低功率模式

F0028 读键盘登录菜单显示允许[S6适用]

F0029 写键盘登录菜单显示允许[S6适用]

F0030 读键盘登录密码[S6适用]

F0031 写键盘登录密码[S6适用]

F0032 读基站名称隐藏开关

F0033 写基站名称隐藏开关

F0034 读基站和键盘之间的心跳开关

F0035 写基站和键盘之间的心跳开关

F0036 读基站语言

F0037 写基站语言

F0038 读基站CRC

F0039 写基站CRC

F0040 写广播投票标题

F0041 核对投票开启密码

F0042 读基站获取投票开启密码

F0043 写基站获取投票开启密码

F0044 读基站用户自定义字符串

F0045 写基站用户自定义字符串

F0046 读基站UID

F0047 写基站UID

F0048 读键盘反馈模式参数

F0049 写键盘反馈模式参数

F0050 读基站当前是开启升级状态

F0051 写基站当前是开启升级状态

F0052 手动停止键盘升级状态

F0053 写键盘当前是开启升级状态

F0054 写踢出单只键盘

F0055 写清掉所有键盘

F0056 写锁定键盘

F0057 写解锁键盘

F0058 写T2键盘第二行文本【空闲模式】

F0059 读考勤基站时钟设置

F0060 写考勤基站时钟设置

F0061 读考勤键盘每秒发送考勤信号次数

F0062 写考勤键盘每秒发送考勤信号次数

F0063 读考勤键盘发送考勤信号功率

F0064 写考勤键盘发送考勤信号功率

F0065 写修改键盘配对码

F0066 写键盘功能提示预设字符串反馈

F0067 写空闲模式

F0068 单选多选带计时模式

F0069 判断题带计时模式

F0070 抢答题带计时模式

F0071 数字题带计时模式

F0072 绑定带计时模式

F0073 基站快速配对

F0074 读基站特征数据

F0075 遥控关机

F0076 读键盘在线SN

F0077 写基站复位

F0078 写键盘外设指令

F0079 写键盘配对码

F0080 写锁定键盘,解锁键盘

F0081 填空题模式

F0082 读NFC信息 姓名

F0083 写NFC信息 姓名

F0084 写NFC配对码

F0085 NFC清除指令

F0086 多题题型开始

F0087 多题题型暂停

F0088 多题题型继续上一次

F0089 多题题型正确答案下发

F0090 多题题型已答题结果转移

F0091 写白名单

F0092 读白名单

F0093 写基站黑名单

F0094 读基站黑名单

F0095 C100B+S6[旧款]写键盘姓名

F0096 C100B+S6[旧款]读键盘姓名

F0097 键盘暂停休眠操作

F0098 异步测试模式

F0099 Tcp参数读

F0100 Tcp参数写

F0101 自定义题型参数

F0102 写S6短信

F0103 写S6键盘FSN

F0104 自由题模式