Commit eb3ca141caceea3f0a9d380a211c72c268177d2c

Authored by 孙向锦
1 parent 48251e92

添加SDK 通讯部分的说明文档

img/image1.png 0 → 100644

17.9 KB

img/image2.png 0 → 100644

24.6 KB

img/image3.png 0 → 100644

20.8 KB

img/image4.png 0 → 100644

6.52 KB

img/image5.png 0 → 100644

7.48 KB

通讯协议-SDK应用部分.md 0 → 100644
Changes suppressed. Click to show
  1 +# SunVoteWSTrayapp
  2 +
  3 +接口说明
  4 +
  5 +Ver5.0.1
  6 +
  7 +长沙中天电子设计开发有限公司
  8 +
  9 +二〇二三年五月
  10 +
  11 +文件控制:
  12 +
  13 +文件名:SunVoteWSTrayapp接口说明
  14 +
  15 +起草人:陈定敏
  16 +
  17 +最新版本作者: 陈定敏
  18 +
  19 +
  20 +| 文档版本 | 日期 | 作者 | 版本说明 |
  21 +|---|---|---|---|
  22 +|5.0.1| 5/23/2023|陈定敏|1. 初始版|
  23 +
  24 +## 目录
  25 +
  26 +- [目录] (#目录)
  27 +
  28 +- [2 系统概述 (#系统概述)]
  29 +
  30 +[3 设计目的 [7](#设计目的)](\l)
  31 +
  32 +[4 通讯接口设计概要 [8](#通讯接口设计概要)](\l)
  33 +
  34 +[5 通信方式 [8](#通信方式)](\l)
  35 +
  36 +[6 编程流程说明 [9](#编程流程说明)](\l)
  37 +
  38 +[7 JSON指令说明 [9](#json指令说明)](\l)
  39 +
  40 +[7.1 心跳 [10](#心跳)](\l)
  41 +
  42 +[7.2 基站的连接与断开 [11](#_Toc30268)](\l)
  43 +
  44 +[7.2.1 连接基站(自动) [11](#_Toc8042)](\l)
  45 +
  46 +[7.2.2 复位基站 [11](#_Toc25505)](\l)
  47 +
  48 +[7.3答题 [12](#_Toc23844)](\l)
  49 +
  50 +[7.3.1 签到设备 [14](#_Toc19924)](\l)
  51 +
  52 +> [7.3.1.1 开始签到 [14](#开始签到)](\l)
  53 +>
  54 +> [7.3.1.2 接收签到信息 [16](#接收签到信息)](\l)
  55 +>
  56 +> [7.3.1.3 停止签到 [16](#停止签到)](\l)
  57 +>
  58 +> [7.3.1.4 支持设备说明 [17](#支持设备说明)](\l)
  59 +
  60 +[7.3.2 选择题 [17](#选择题)](\l)
  61 +
  62 +> [7.3.2.1 开始作答 [17](#开始作答)](\l)
  63 +>
  64 +> [7.3.2.2 接收作答 [18](#接收作答)](\l)
  65 +>
  66 +> [7.3.2.3 停止作答 [19](#停止作答)](\l)
  67 +>
  68 +> [7.3.2.4 支持设备说明 [19](#支持设备说明-1)](\l)
  69 +
  70 +[7.3.3 判断题 [20](#判断题)](\l)
  71 +
  72 +> [7.3.3.1 开始作答 [20](#开始作答-1)](\l)
  73 +>
  74 +> [7.3.3.2 接收作答 [21](#接收作答-1)](\l)
  75 +>
  76 +> [7.3.3.3 停止作答 [21](#停止作答-1)](\l)
  77 +>
  78 +> [7.3.3.4 支持设备说明 [22](#支持设备说明-2)](\l)
  79 +
  80 +[7.3.4 多题快答 [22](#多题快答)](\l)
  81 +
  82 +> [7.3.4.1 开始作答 [22](#开始作答-2)](\l)
  83 +>
  84 +> [7.3.4.2 接收作答 [23](#接收作答-2)](\l)
  85 +>
  86 +> [7.3.4.3 停止作答 [24](#停止作答-2)](\l)
  87 +>
  88 +> [7.3.4.4 支持设备说明 [24](#支持设备说明-3)](\l)
  89 +
  90 +[7.3.5 语音题 [25](#语音题)](\l)
  91 +
  92 +> [7.3.5.1 开始作答 [25](#开始作答-3)](\l)
  93 +>
  94 +> [7.3.5.2 接收作答 [26](#接收作答-3)](\l)
  95 +>
  96 +> [7.3.5.3 回传分数 [27](#回传分数)](\l)
  97 +>
  98 +> [7.3.5.4 停止作答 [27](#停止作答-3)](\l)
  99 +>
  100 +> [7.3.5.5 丢包信息 [28](#丢包信息)](\l)
  101 +>
  102 +> [7.3.5.6 支持设备说明 [29](#支持设备说明-4)](\l)
  103 +
  104 +[7.3.6 抢答题 [29](#抢答题)](\l)
  105 +
  106 +> [7.3.6.1 开始作答 [29](#开始作答-4)](\l)
  107 +>
  108 +> [7.3.6.2 接收作答 [30](#接收作答-4)](\l)
  109 +>
  110 +> [7.3.6.3 停止作答 [31](#停止作答-4)](\l)
  111 +>
  112 +> [7.3.6.4 支持设备说明 [31](#支持设备说明-5)](\l)
  113 +
  114 +[7.3.7 数字题 [31](#数字题)](\l)
  115 +
  116 +> [7.3.7.1 开始作答 [31](#开始作答-5)](\l)
  117 +>
  118 +> [7.3.7.2 接收作答 [33](#接收作答-5)](\l)
  119 +>
  120 +> [7.3.7.3 停止作答 [33](#停止作答-5)](\l)
  121 +>
  122 +> [7.3.7.4 支持设备说明 [34](#支持设备说明-6)](\l)
  123 +
  124 +[7.3.8 键盘测试 [34](#键盘测试)](\l)
  125 +
  126 +> [7.3.8.1 开始测试 [34](#开始测试)](\l)
  127 +>
  128 +> [7.3.8.2 接收作答 [35](#接收作答-6)](\l)
  129 +>
  130 +> [7.3.8.3 停止作答 [35](#停止作答-6)](\l)
  131 +>
  132 +> [7.3.8.4 支持设备说明 [36](#支持设备说明-7)](\l)
  133 +
  134 +[7.3.9 多题题型 [36](#多题题型)](\l)
  135 +
  136 +> [7.3.9.1 开始测试 [36](#开始测试-1)](\l)
  137 +>
  138 +> [7.3.9.2 接收作答 [38](#接收作答-7)](\l)
  139 +>
  140 +> [7.3.9.3 退出作答 [39](#退出作答)](\l)
  141 +>
  142 +> [7.3.9.4 暂停作答 [39](#暂停作答)](\l)
  143 +>
  144 +> [7.3.9.5 继续测试 [40](#继续测试)](\l)
  145 +>
  146 +> [7.3.9.6 指定键盘转移作答内容 [42](#指定键盘转移作答内容)](\l)
  147 +>
  148 +> [7.3.9.7 向键盘广播正确答案 [43](#向键盘广播正确答案)](\l)
  149 +>
  150 +> [7.3.9.8 支持设备说明 [44](#支持设备说明-8)](\l)
  151 +
  152 +[7.3.10 填空题 [44](#填空题)](\l)
  153 +
  154 +> [7.3.10.1 开始作答 [44](#开始作答-6)](\l)
  155 +>
  156 +> [7.3.10.2 接收作答 [45](#接收作答-8)](\l)
  157 +>
  158 +> [7.3.10.3 停止作答 [46](#停止作答-7)](\l)
  159 +>
  160 +> [7.3.10.4 支持设备说明 [46](#支持设备说明-9)](\l)
  161 +
  162 +[7.4 NFC刷卡 [46](#nfc刷卡)](\l)
  163 +
  164 +[7.4.1 写刷卡数据 [47](#写刷卡数据)](\l)
  165 +
  166 +[7.4.2 刷卡绑定反馈 [47](#刷卡绑定反馈)](\l)
  167 +
  168 +[7.4.3 NFC数据清除指令 [48](#nfc数据清除指令)](\l)
  169 +
  170 +[7.4.4 支持设备说明 [48](#支持设备说明-13)](\l)
  171 +
  172 +[7.5 硬件参数 [48](#硬件参数)](\l)
  173 +
  174 +[7.5.1 基站 [49](#基站)](\l)
  175 +
  176 +> [7.5.1.1 基站编号 [49](#基站编号)](\l)
  177 +>
  178 +> [7.5.1.2 基站频点 [50](#基站频点)](\l)
  179 +>
  180 +> [7.5.1.3 键盘登录菜单显示 [52](#键盘登录菜单显示)](\l)
  181 +>
  182 +> [7.5.1.4 基站型号(只读) [53](#基站型号只读)](\l)
  183 +>
  184 +> [7.5.1.5 基站软件版本(只读) [54](#基站软件版本只读)](\l)
  185 +>
  186 +> [7.5.1.6 基站序列号(只读) [55](#基站序列号只读)](\l)
  187 +>
  188 +> [7.5.1.7 基站名称 [56](#基站名称)](\l)
  189 +>
  190 +> [7.5.1.8 基站配对码 [57](#基站配对码)](\l)
  191 +>
  192 +> [7.5.1.9 基站频点冲突 [58](#基站频点冲突)](\l)
  193 +>
  194 +> [7.5.1.10 基站容量 [59](#基站容量)](\l)
  195 +>
  196 +> [7.5.1.11 快速配对 [60](#快速配对)](\l)
  197 +>
  198 +> [7.5.1.12 键盘登录密码 [61](#键盘登录密码)](\l)
  199 +>
  200 +> [7.5.1.13 基站名称隐藏 [63](#基站名称隐藏)](\l)
  201 +
  202 +[7.5.2 键盘 [64](#键盘)](\l)
  203 +
  204 +> [7.5.2.1 键盘外设(只写) [64](#键盘外设只写)](\l)
  205 +>
  206 +> [7.5.2.2 键盘反馈参数 [67](#键盘反馈参数)](\l)
  207 +>
  208 +> [7.5.2.1 键盘即时反馈\[主动上报\] [68](#键盘即时反馈主动上报)](\l)
  209 +>
  210 +> [7.5.2.2 键盘心跳反馈\[上报\] [69](#键盘心跳反馈上报)](\l)
  211 +>
  212 +> [7.5.2.3 遥控键盘关机 [70](#遥控键盘关机)](\l)
  213 +
  214 +[7.6 键盘显示设置 [71](#键盘显示设置)](\l)
  215 +
  216 +[7.6.1 空闲标题 [71](#空闲标题)](\l)
  217 +
  218 +[7.6.2 自定义信息 [72](#自定义信息)](\l)
  219 +
  220 +[7.6.3 用户姓名 [74](#用户姓名)](\l)
  221 +
  222 +[7.7 键盘在线信息 [75](#键盘在线信息)](\l)
  223 +
  224 +[7.7.1 自动返回在线信息 [75](#自动返回在线信息)](\l)
  225 +
  226 +[7.7.2 主动获取在线信息 [76](#主动获取在线信息)](\l)
  227 +
  228 +[7.7.3 踢出单只键盘 [78](#踢出单只键盘)](\l)
  229 +
  230 +[7.7.4 清掉所有键盘 [78](#清掉所有键盘)](\l)
  231 +
  232 +[7.7.5 锁定键盘 [79](#锁定键盘)](\l)
  233 +
  234 +[7.7.6 解锁键盘 [80](#解锁键盘)](\l)
  235 +
  236 +[7.8 系统参数 [81](#系统参数)](\l)
  237 +
  238 +[7.8.1 退出SunVoteWSTrayapp [81](#退出sunvotewstrayapp)](\l)
  239 +
  240 +[7.8.2 托盘图标隐藏或显示 [82](#托盘图标隐藏或显示)](\l)
  241 +
  242 +[7.8.3 支持设备说明 [83](#支持设备说明-15)](\l)
  243 +
  244 +[7.9 异常处理 [83](#异常处理)](\l)
  245 +
  246 +[7.9.1 SunVoteWSTrayapp收到数据异常
  247 +[83](#sunvotewstrayapp收到数据异常)](\l)
  248 +
  249 +# 系统概述
  250 +
  251 +SunVote
  252 +无线反馈系统是由手持的键盘、通讯基站、SunVoteWSTrayapp(托盘程序)、控制电脑组成的。控制电脑通过USB接口与基站连接。控制指令由控制电脑通过基站发送给键盘。
  253 +
  254 +SunVoteWSTrayapp可以让用户开发的应用程序与SunVote无线反馈系统通讯。SunVoteWSTrayapp托盘程序(下文用SunVoteWSTrayapp代替)提供websocket通讯方式,使用JSON通信格式,来实现互动系统的管理及投票指令的发送和接收功能。调用结构图如下:![](img/image1.png)
  255 +
  256 +如果用户想开发互联网应用,可以参考如下设计:
  257 +
  258 +![](img/image2.png)
  259 +
  260 +目前SunVoteWSTrayapp只支持Windows系统。用户只需运行SunVoteWSTrayapp程序即可。
  261 +
  262 +SunVoteWSTrayapp程序中config.ini配置文件中可设置WebSocket的端口,见以下位置:
  263 +
  264 +![](img/image3.png)
  265 +
  266 +上述配置#号开头行,为注释行,对下面一个配置进行说明。每个配置参考上面说明。
  267 +
  268 +# 设计目的
  269 +
  270 +1、协议通过Websocket封装后将具有更好的扩展空间和跨应用使用能力,为平台应用开发提供数据通讯基础。
  271 +
  272 +2、应用程序(后续基于SunVoteWSTrayapp开发的程序称为应用程序),基于业务发送指令到SunVoteWSTrayapp,SunVoteWSTrayapp收到指令后,完成对基站或键盘的操作后回复应用程序。
  273 +
  274 +![](img/image4.png)
  275 +
  276 +# 通讯接口设计概要
  277 +
  278 +应用程序和SunVoteWSTrayapp之间采用Json数据通信,通信的基本格式如下:
  279 +
  280 +下发:应用程序 - \> SunVoteWSTrayapp
  281 +
  282 +{
  283 +
  284 +  fun:\"\" // 功能定义
  285 +
  286 +  baseId: 1// 基站id,数字类型
  287 +
  288 +  params:{} //参数对象/数组
  289 +
  290 +  packetTag:\"\" //数据包标签字符串
  291 +
  292 +}
  293 +
  294 +fun 为功能对应的名称 如:\"readBaseStationID\" 读取基站的id,
  295 +\"startChoices\" //开始选择题, \"stopChoices\" //停止选择题
  296 +
  297 +baseId:基站ID,用来区分基站标志,0代表所有基站,1代表1号基站。
  298 +
  299 +params:参数,功能相对于的参数,可以是数组或字段。
  300 +
  301 +packerTag:
  302 +这个是扩展字段,内容需要应用程序管理,功能相应的反馈指令packerTag位置会反馈相同字符串,方便应用程序跟踪记录。
  303 +
  304 +反馈:SunVoteWSTrayapp-\> 应用程序
  305 +
  306 +{
  307 +
  308 +fun:\"\" //功能定义
  309 +
  310 +baseId:1 //基站id,数字类型
  311 +
  312 +infos: {}//信息对象/数组
  313 +
  314 +packetTag:\"\"// 数据包标签字符串。
  315 +
  316 +}
  317 +
  318 +fun: 功能对应的名称,如:\"BaseStationID\"读取基站id, \" answerChoices
  319 +\" //选择题键盘反馈值.
  320 +
  321 +baseId: 基站ID,用来区分基站标志;0特殊代表所有基站,1代表1号基站。
  322 +
  323 +infos: SunVoteWSTrayapp反馈给APP层的数据。具体详见具体功能定义。
  324 +
  325 +packetTag:
  326 +这个是扩展字段,内容需要应用程序管理,反馈接收到的字符串。
  327 +
  328 +字段值说明:
  329 +
  330 +反馈infos中的状态字段state,OK表示成功,FAIL表示失败。
  331 +
  332 +反馈infos中的硬件参数字段的值,FAIL表示失败,其他值为成功。
  333 +
  334 +X\~Y:范围内的值特指整数。
  335 +
  336 +# 通信方式
  337 +
  338 +数据交互采取发送\<\--\>应答的方式。应用程序发送数据到SunVoteWSTrayapp,SunVoteWSTrayapp收到后执行完成后回复。
  339 +
  340 +应用程序没有数据发送给SunVoteWSTrayapp时,需要发送心跳,SunVoteWSTrayapp收到心跳后会回复心跳,用于判断与应用程序的连接状态。(配置文件中,如果启用了心跳检查,应用程序如果未按要求发送心跳,SunVoteWSTrayapp会断开当前连接,重新尝试连接)
  341 +
  342 +# 编程流程说明
  343 +
  344 +用户使用SunVoteWSTrayapp编程的基本流程如下:
  345 +
  346 +配置参数:(可配置、详情见配置文件config.ini)
  347 +
  348 +1、sdk-\>role websocket
  349 +的运行模式【client:客户端模式,server:服务端模式】 。
  350 +
  351 +2、sdk-\> ip 如果websocket处于客户端模式
  352 +此ip为目标服务器ip;如果websocket处于服务端模式 此ip无效。
  353 +
  354 +3、sdk-\> port如果websocket处于客户端模式
  355 +此port为目标服务器port;如果websocket处于服务端模式
  356 +此port为本服务端port。
  357 +编程开发:
  358 +
  359 +1、使用websocket通讯,IP为IP地址
  360 +2、启动SunVoteApp.exe(SunVoteWSTrayapp)进程
  361 +3、业务软件连接服务器后就可直接通信,通信的数据格式为JSON(UTF-8编码)。具体参数请看JSON指令说明部分。
  362 +4、业务软件发送退出指令,SunVoteApp.exe(SunVoteWSTrayapp)收到指令后退出。
  363 +
  364 +# JSON指令说明
  365 +
  366 +应用程序和SunVoteWSTrayapp之间采用Json数据通信,通信的基本格式如下:
  367 +
  368 +下发:应用程序 - \>SunVoteWSTrayapp
  369 +
  370 +{
  371 +
  372 +fun:\"\" // 功能定义
  373 +
  374 +baseId: 1// 基站id,数字类型
  375 +
  376 +params:{} //参数对象/数组
  377 +
  378 +packetTag:\"\" //数据包标签字符串
  379 +
  380 +}
  381 +
  382 +fun:为功能定义,下发命令,要下发的命令函数
  383 +
  384 +baseId:基站ID,数字类型,如果不指定具体基站ID,可以传0或者不传该Key值。如果要指定多个基站ID,则需要多次下发该命令,切换不同的基站ID进行发送。
  385 +
  386 +params:参数,可以为对象或者数组,用于伴随命令下发的数据附属包,详见具体功能定义。
  387 +
  388 +packerTag:
  389 +数据标签字符串,用于区别当前指令与其他指令。应用程序发送给SunVoteWSTrayapp的,用户可以自定义数据(如果用户无自定义数据,可以为包序号,这样可以区分回复的数据回复的是哪个数据包)。SunVoteWSTrayapp回复应用程序时,直接回填应用程序收到的标签数据。
  390 +
  391 +反馈:SunVoteWSTrayapp -\> 应用程序
  392 +
  393 +{
  394 +
  395 +fun:\"\" //功能定义
  396 +
  397 +baseId:1 //基站id,数字类型
  398 +
  399 +infos: {}//信息对象/数组
  400 +
  401 +packetTag:\"\"//
  402 +数据包标签字符串,用于区别当前指令与其他指令。SunVoteWSTrayapp发送给应用程序的用自增数字标记。SunVoteWSTrayapp回复应用程序的,直接回填SunVoteWSTrayapp收到的标签。
  403 +
  404 +}
  405 +
  406 +fun:同下发描述.
  407 +
  408 +baseId:同下发描述.
  409 +
  410 +infos:
  411 +SunVoteWSTrayapp反馈给应用程序层的数据。具体详见具体功能定义。
  412 +
  413 +packetTag:
  414 +数据标签字符串,反馈功能函数的状态为应用程序附带的数据包,如果SunVoteWSTrayapp主动发送数据,是一组自增数据。
  415 +
  416 +字段值说明:
  417 +
  418 +反馈infos中的状态字段state,OK表示成功,FAIL表示失败。
  419 +
  420 +反馈infos中的硬件参数字段的值,FAIL表示失败,其他值为成功。
  421 +
  422 +X\~Y:范围内的值特指整数。
  423 +
  424 +## 心跳
  425 +
  426 +应用程序发送心跳,SunVoteWSTrayapp回应,用于判断连接状态。
  427 +
  428 +发送:
  429 +
  430 +fun: \"heartBeat\" //心跳
  431 +
  432 +baseId: //无该值
  433 +
  434 +params:{}//无该值
  435 +
  436 +packetTag:\"1\"//收到的packetTag,可用于分析通信状态
  437 +
  438 +指令样例:
  439 +
  440 +{\
  441 +    \"fun\":\"heartBeat\",\
  442 +    \"packetTag\":\"1\"\
  443 +}
  444 +
  445 +接收:
  446 +
  447 +fun: \"heartBeat\" //心跳
  448 +
  449 +baseId: //无该值
  450 +
  451 +infos:{}//无该值
  452 +
  453 +packetTag:\"1\"//数据包标签
  454 +
  455 +指令样例:
  456 +
  457 +{\
  458 +    \"fun\":\"heartBeat\",\
  459 +    \"packetTag\":\"1\"\
  460 +}
  461 +
  462 +## 基站的连接、断开和复位
  463 +
  464 +应用程序与SunVoteWSTrayapp网络连接成功后(收到心跳),可发送连接基站指令。收到基站连接成功后就可以与SunVote无线反馈系统(基站、键盘)通讯。
  465 +
  466 +### 连接基站
  467 +
  468 +SunVoteWSTrayapp上报信息。
  469 +
  470 +接收:
  471 +
  472 +fun: \"connectBase\" //连接基站
  473 +
  474 +baseId:1 //基站ID
  475 +
  476 +infos: {\"state\":\"OK\"} //OK连接成功
  477 +
  478 +packetTag:\"1\" //收到的packetTag
  479 +
  480 +指令样例:
  481 +
  482 +{\
  483 +    \"fun\":\"connectBase\",\
  484 +    \"baseId\":1,\
  485 +    \"infos\":{\
  486 +        \"state\":\"OK\"\
  487 +    },\
  488 +    \"packetTag\":\"1\"\
  489 +}
  490 +
  491 +### 断开基站
  492 +
  493 +SunVoteWSTrayapp上报信息。
  494 +
  495 +接收:
  496 +
  497 +fun: \"disconnectBase\" //断开基站
  498 +
  499 +baseId:1 //基站ID
  500 +
  501 +infos: {} //无该值
  502 +
  503 +packetTag:\"1 \"
  504 +
  505 +指令样例:
  506 +
  507 +{\
  508 +    \"fun\":\"disconnectBase\",
  509 +
  510 + \"baseId\":1,\
  511 +   \"packetTag\":\"1\"\
  512 +}
  513 +
  514 +### 复位基站
  515 +
  516 +发送:
  517 +
  518 +fun: \"resetBase\" //复位基站
  519 +
  520 +baseId:1,
  521 +
  522 +params:{} //无该值
  523 +
  524 +指令样例:
  525 +
  526 +{\
  527 +    \"fun\":\"resetBase\",
  528 +
  529 +\"baseId\":1,
  530 +
  531 + \"packetTag\":\"1\"\
  532 +}
  533 +
  534 +注意:B200支持此命令
  535 +
  536 +## 7.3答题
  537 +
  538 +答题流程:
  539 +
  540 +![](img/image5.png)
  541 +
  542 +
  543 +在开始作答,各类答题都可指定显示标题和开始作答键盘,也可以为空。
  544 +
  545 +顶层对象增加的字段如下:
  546 +
  547 +
  548 +|**Json字段**|**字段含义**|**赋值及含义**|
  549 +| --- | --- | --- |
  550 +|keySnList|指定键盘列表|keySn数组,为空表示所有键盘都参与。|
  551 +|| | |
  552 +
  553 +
  554 +在停止作答时,各类答题都可指定停止作答键盘,也可以为空。
  555 +
  556 +顶层对象增加的字段如下:
  557 +
  558 +|**Json字段**|**字段含义**|**赋值及含义**|
  559 +| --- | --- | --- |
  560 +|keySnList|指定键盘列表|keySn数组,为空表示所有键盘都参与。|
  561 +||||
  562 +
  563 +
  564 +如果指定了键盘,则会逐个返回指定键盘的接收状态。收到的infos数组对象如下:
  565 +
  566 +|**Json字段**|**字段含义**|**赋值及含义**|
  567 +| --- | --- | --- |
  568 +|keySn|键盘Sn||
  569 +|state|状态|OK表示成功|
  570 +||||
  571 +
  572 +
  573 +开始作答
  574 +
  575 +指令样例:
  576 +
  577 +{\
  578 +    \"title\":\"输入账号,OK键提交\",\
  579 +    \"keySnList\":\[\
  580 +        {\
  581 +            \"keySn\":\"1837454011\"\
  582 +        },\
  583 +        {\
  584 +            \"keySn\":\"1837454012\"\
  585 +        }\
  586 +    \]\
  587 +}
  588 +
  589 +键盘的接收状态返回
  590 +
  591 +fun: \"startXXKeypad\" //开始XX作答键盘(XX是开始作答对应具体名称)
  592 +
  593 +baseId: 1//接收到指令的基站ID
  594 +
  595 +infos:{}//数组对象
  596 +
  597 +指令样例:
  598 +
  599 +{\
  600 +    \"fun\":\"startBindKeypad\",\
  601 +    \"baseId\":1,\
  602 +    \"infos\":\[\
  603 +        {\
  604 +            \"keySn\":\"1837454011\",\
  605 +            \"state\":\"OK\"\
  606 +        }\
  607 +   \],\
  608 +    \"packetTag\":\"1\"\
  609 +}
  610 +
  611 +回复键盘的接收状态返回
  612 +
  613 +发送:
  614 +
  615 +fun: \"startXXKeypad\" //开始xx作答键盘
  616 +
  617 +baseId:\"1\"//收到的基站ID
  618 +
  619 +params:{} //为空
  620 +
  621 +指令样例:
  622 +
  623 +{\
  624 +    \"fun\":\"startBindKeypad\",\
  625 +    \"baseId\":1,\
  626 +    \"packetTag\":\"1\"\
  627 +}
  628 +
  629 +停止作答
  630 +
  631 +指令样例:
  632 +
  633 +{...\
  634 +    \"keySnList\":\[\
  635 +        {\
  636 +            \"keySn\":\"1837454011\"\
  637 +        },\
  638 +        {\
  639 +            \"keySn\":\"1837454012\"\
  640 +        }\
  641 +    \]\
  642 +}
  643 +
  644 +键盘的接收状态返回
  645 +
  646 +fun: \"stopXXKeypad\" //停止XX作答键盘(XX是停止作答对应具体名称)
  647 +
  648 +baseId: 1//接收到指令的基站ID
  649 +
  650 +infos:{}//数组对象
  651 +
  652 +指令样例:
  653 +
  654 +{\
  655 +    \"fun\":\"stopBindKeypad\",\
  656 +    \"baseId\":1,\
  657 +    \"infos\":\[\
  658 +        {\
  659 +            \"keySn\":\"1837454011\",\
  660 +            \"state\":\"OK\"\
  661 +        }\
  662 +   \],\
  663 +    \"packetTag\":\"1\"\
  664 +}
  665 +
  666 +回复键盘的接收状态返回
  667 +
  668 +发送:
  669 +
  670 +fun: \"stopXXKeypad\" //停止xx作答键盘
  671 +
  672 +baseId: \"1\"//收到的基站ID
  673 +
  674 +params:{} //为空
  675 +
  676 +指令样例:
  677 +~~~
  678 +{
  679 +    "fun":"stopBindKeypad",
  680 +    "baseId":1,
  681 +    "packetTag":"1"
  682 +}
  683 +~~~
  684 +
  685 +
  686 +### 签到设备
  687 +
  688 +#### 开始签到
  689 +
  690 +发送:
  691 +
  692 +fun: \"startBind\" //开始签到
  693 +
  694 +params:{}
  695 +
  696 +
  697 +|**Json字段**| **字段含义** | **赋值及含义**|
  698 +| --- | --- | --- |
  699 +|bindMode| 签到模式| 1. 指定键签到 </br> 2. PIN码签到(默认值) |
  700 +| lessMode | 预留| 0- (默认值)|
  701 +| modifyMode | 修改模式 | 0-不可修改 1-可以修改(默认值)|
  702 +| limitNumber | 指定位数 | 0-不指定位数(默认值) </br> 1-指定位数 |
  703 +| options | 固定值 | 固定值10|
  704 +| optionalN | 可选数字 | 1≤N≤10 (指定位数才需要设置, 10为0) |
  705 +| keyValue | 指定按键键值 | 0. 未指定\[OK键签到\] </br>1 . 1 </br>2 . 2 </br> 3. 3 </br> 4. 4 </br> 5. 5 </br> 6. 6 </br> 7. 7 </br> 8. 8 </br> 9. 9 </br> 10. 0 </br> 11. 上键 </br> 12. 下键 </br> 13. OK </br> 14. ESC </br> 15. Menu |
  706 ++----------------+--------------+-------------------------------------+
  707 +| tipTitle | 提示标题 | 16个字节 |
  708 ++----------------+--------------+-------------------------------------+
  709 +
  710 +指令样例:
  711 +
  712 +~~~
  713 +
  714 +{
  715 +    "fun":"startBind",
  716 +   "baseId":0,
  717 +    "params":{
  718 +        "bindMode":"1",
  719 +        "lessMode":"0",
  720 +        "modifyMode":"1",
  721 +        "limitNumber":"1",
  722 +        "options":"10",
  723 +        "optionalN":"10",
  724 + "keyValue":"0"
  725 +    },
  726 +    "packetTag":"1"
  727 +}
  728 +
  729 +~~~
  730 +
  731 +#### 接收签到信息
  732 +
  733 +接收:
  734 +
  735 +fun: \"answerBind\" //签到返回
  736 +
  737 +baseId: \"1\"//接收到指令的基站ID
  738 +
  739 +infos:{}
  740 +
  741 +| Json字段|字段含义|赋值及含义|
  742 +|---|---|---|
  743 +|time|答题时间|单位秒|
  744 +|keySn|键盘Sn||
  745 +|keyValue|键值|键盘提交的值|
  746 +
  747 +指令样例:
  748 +
  749 +~~~
  750 +{
  751 +    "fun":"answerBind",
  752 +    "baseId":1,
  753 +    "infos":{
  754 +        "time":"2.42",
  755 +        "keySn":"1479824643",
  756 +        "keyValue":"1234"
  757 +    },
  758 +  "packetTag":"1"
  759 +}
  760 +~~~
  761 +
  762 +#### 停止签到
  763 +
  764 +发送:
  765 +
  766 +fun: \"stopBind\" //停止签到
  767 +
  768 +params:{} //默认空
  769 +
  770 +指令样例:
  771 +
  772 +~~~
  773 +{
  774 +    "fun":"stopBind",
  775 +   "baseId":0,
  776 +     "packetTag":"1"
  777 +}
  778 +~~~
  779 +
  780 +接收:
  781 +
  782 +fun: \"stopBind\" //停止签到
  783 +
  784 +baseId: \"1\"//收到的基站ID
  785 +
  786 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  787 +
  788 +指令样例:
  789 +
  790 +~~~
  791 +{
  792 +    "fun":"stopBind",
  793 +    "baseId":1,
  794 +    "infos":{
  795 +          "state":"OK"
  796 +    },
  797 +    "packetTag":"1"
  798 +}
  799 +~~~
  800 +
  801 +#### 支持设备说明
  802 +
  803 +|**基站+键盘 **|**支持/不支持**|**备注**|
  804 +| --- | --- | --- |
  805 +|B100-2.4G+S6|支持||
  806 +|B200-2.4G+S6|支持||
  807 +|B200-5.8G+T2|支持||
  808 +||||
  809 +
  810 +### 选择题
  811 +
  812 +#### 开始作答
  813 +
  814 +发送:
  815 +
  816 +fun: \"startChoices\" //开始选择题
  817 +
  818 +params:{}
  819 +
  820 +|Json字段|字段含义|赋值及含义|
  821 +|---|---|---|
  822 +|optionsMode|选项类别|1-显示字母(默认值) </br>2-显示数字 |
  823 +|secrecyMode|保密模式|0-不保密(默认值)</br>1-保密 |
  824 +|modifyMode|修改模式|0-不可修改 </br>1-可以修改(默认值) |
  825 +| modifyMode | 修改模式 | 0-不可修改</br>1-可以修改(默认值)|
  826 +| lessMode | 迫选模式 | 0. 可缺选(默认值) </br>1. 不可缺选</br>2. 允许重复输入</br>3. 允许重复输入且不可缺选 |
  827 +| options | 选项数目 | 1≤M≤10(默认值4) |
  828 +| optionalN | 可选项数 | 1≤N≤M(默认值1) |
  829 +| tipTitle | 提示标题 | 16个字节 |
  830 +||||
  831 +
  832 +指令样例:
  833 +
  834 +~~~
  835 +{
  836 +    "fun":"startChoices",
  837 + "baseId":0,
  838 +    "params":{
  839 +        "optionsMode":"1",
  840 +        "secrecyMode":"0",
  841 +        "modifyMode":"1",
  842 +        "lessMode":"0",
  843 +        "options":"4",
  844 +        "optionalN":"1"
  845 + },
  846 + "packetTag":"1"
  847 +}
  848 +
  849 +~~~
  850 +
  851 +接收:
  852 +
  853 +fun: \"startChoices\" //开始选择题
  854 +
  855 +baseId: \"1\"//接收到指令的基站ID
  856 +
  857 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  858 +
  859 +指令样例:
  860 +
  861 +~~~
  862 +{
  863 +    "fun":"startChoices",
  864 +    "baseId":1,
  865 +    "infos":{
  866 +        "state":"OK"
  867 +    },
  868 +    "packetTag":"1"
  869 +}
  870 +~~~
  871 +
  872 +
  873 +#### 接收作答
  874 +
  875 +接收:
  876 +
  877 +fun: \"answerChoices\" //选择题作答返回
  878 +
  879 +baseId: \"1\"//接收到指令的基站ID
  880 +
  881 +infos: {}
  882 +
  883 + ----------------- --------------- --------------------------------------
  884 + Json字段 字段含义 赋值及含义
  885 +
  886 + time 答题时间 单位秒
  887 +
  888 + keySn 键盘Sn
  889 +
  890 + keyValue 键值 键盘提交的值
  891 + ----------------- --------------- --------------------------------------
  892 +
  893 +指令样例:
  894 +~~~
  895 +{
  896 +    "fun":"answerChoices",
  897 +    "baseId":1,
  898 +    "infos":{
  899 +        "time":"2.42",
  900 +        "keySn":"1479824643",
  901 +        "keyValue":"A"
  902 +    },
  903 +    "packetTag":"1"
  904 +}
  905 +~~~
  906 +
  907 +#### 停止作答
  908 +
  909 +发送:
  910 +
  911 +fun: \"stopChoices\" //停止选择题
  912 +
  913 +params:{} //默认空
  914 +
  915 +指令样例:
  916 +
  917 +
  918 +~~~
  919 +{
  920 +    "fun":"stopChoices",
  921 + "baseId":0,
  922 +    "packetTag":"1"
  923 +}
  924 +~~~
  925 +
  926 +接收:
  927 +
  928 +fun: \"stopChoices\" //停止选择题
  929 +
  930 +baseId: \"1\"//收到的基站ID
  931 +
  932 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  933 +
  934 +指令样例:
  935 +
  936 +~~~
  937 +{
  938 +    "fun":"stopChoices",
  939 +    "baseId":1,
  940 +    "infos":{
  941 +          "state":"OK"
  942 +    },
  943 +    "packetTag":"1"
  944 +}
  945 +~~~
  946 +
  947 +
  948 +#### 支持设备说明
  949 +
  950 + ----------------------- ----------------------- -----------------------
  951 + 基站+键盘 支持/不支持 备注
  952 +
  953 + B100-2.4G+S6 支持
  954 +
  955 + B200-2.4G+S6 支持
  956 +
  957 + B200-5.8G+T2 支持
  958 + ----------------------- ----------------------- -----------------------
  959 +
  960 +### 判断题
  961 +
  962 +#### 开始作答
  963 +
  964 +发送:
  965 +
  966 +fun: \"startTrueFalse\" //开始判断题
  967 +
  968 +params:{}
  969 +
  970 +|**Json字段**|**字段含义**|**赋值及含义**|
  971 +|---|---|---|
  972 +| optionsMode | 选项类别 | 1 True/False 对/错 </br>2 Yes/No 是/否</br> 3 √/×|
  973 +| secrecyMode | 保密模式 | 0-不保密(默认值) </br> 1-保密|
  974 +| modifyMode | 修改模式 | 0-不可修改</br>1-可以修改(默认值)|
  975 +| tipTitle | 提示标题 | 16个字节|
  976 +||||
  977 +
  978 +指令样例:
  979 +
  980 +~~~
  981 +
  982 +{
  983 +    "fun":"startTrueFalse",
  984 + "baseId":0,
  985 +    "params":{
  986 +        "optionsMode":"1",
  987 +        "secrecyMode":"0",
  988 +        "modifyMode":"1"
  989 +    },
  990 +    "packetTag":"1"
  991 +}
  992 +
  993 +~~~
  994 +
  995 +接收:
  996 +
  997 +fun: \"startTrueFalse\" //开始判断题
  998 +
  999 +baseId: \"1\"//接收到指令的基站ID
  1000 +
  1001 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1002 +
  1003 +指令样例:
  1004 +
  1005 +~~~
  1006 +
  1007 +{
  1008 +    "fun":"startTrueFalse",
  1009 + "baseId":1,
  1010 +  "infos":{
  1011 +       "state":"OK"
  1012 +    },
  1013 + "packetTag":"1"
  1014 +}
  1015 +
  1016 +~~~
  1017 +
  1018 +#### 接收作答
  1019 +
  1020 +接收:
  1021 +
  1022 +fun: \"answerTrueFalse\" //判断题作答返回
  1023 +
  1024 +baseId: \"1\"//接收到指令的基站ID
  1025 +
  1026 +infos: {}
  1027 +
  1028 + ----------------- --------------- --------------------------------------
  1029 + Json字段 字段含义 赋值及含义
  1030 +
  1031 + time 答题时间 单位秒
  1032 +
  1033 + keySn 键盘Sn
  1034 +
  1035 + keyValue 键值 键盘提交的值(1对、2错)
  1036 + ----------------- --------------- --------------------------------------
  1037 +
  1038 +指令样例:
  1039 +
  1040 +{\
  1041 +    \"fun\":\"answerTrueFalse\",\
  1042 +    \"baseId\":1,\
  1043 +    \"infos\":{\
  1044 +        \"time\":\"2.42\",\
  1045 +        \"keySn\":\"1479824643\",\
  1046 +        \"keyValue\":\"1\"\
  1047 +    },
  1048 +
  1049 + \"packetTag\":\"1\"\
  1050 +}
  1051 +
  1052 +#### 停止作答
  1053 +
  1054 +发送:
  1055 +
  1056 +fun: \"stopTrueFalse\" //停止判断题
  1057 +
  1058 +params:{} //默认空
  1059 +
  1060 +指令样例:
  1061 +
  1062 +{\
  1063 +    \"fun\":\"stopTrueFalse\",
  1064 +
  1065 +  \"baseId\":0,\
  1066 +    \"packetTag\":\"1\"\
  1067 +}
  1068 +
  1069 +接收:
  1070 +
  1071 +fun: \"stopTrueFalse\" //停止判断题
  1072 +
  1073 +baseId: \"1\"//收到的基站ID
  1074 +
  1075 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1076 +
  1077 +指令样例:
  1078 +
  1079 +{\
  1080 +    \"fun\":\"stopTrueFalse\",\
  1081 +    \"baseId\":1,\
  1082 +    \"infos\":{\
  1083 +          \"state\":\"OK\"\
  1084 +    },\
  1085 +    \"packetTag\":\"1\"\
  1086 +}
  1087 +
  1088 +#### 支持设备说明
  1089 +
  1090 + ----------------------- ----------------------- -----------------------
  1091 + 基站+键盘 支持/不支持 备注
  1092 +
  1093 + B100-2.4G+S6 支持
  1094 +
  1095 + B200-2.4G+S6 支持
  1096 +
  1097 + B200-5.8G+T2 支持
  1098 + ----------------------- ----------------------- -----------------------
  1099 +
  1100 +### 多题快答
  1101 +
  1102 +#### 开始作答
  1103 +
  1104 +发送:
  1105 +
  1106 +fun: \"startMulQuestions\" //开始多小题
  1107 +
  1108 +params:{}
  1109 +
  1110 ++----------------+--------------+-------------------------------------+
  1111 +| Json字段 | 字段含义 | 赋值及含义 |
  1112 ++----------------+--------------+-------------------------------------+
  1113 +| questionType | 题型 | 0-单选题(默认值) |
  1114 +| | | |
  1115 +| | | 1-判断题 |
  1116 ++----------------+--------------+-------------------------------------+
  1117 +| secrecyMode | 保密模式 | 0-不保密(默认值) |
  1118 +| | | |
  1119 +| | | 1-保密 |
  1120 ++----------------+--------------+-------------------------------------+
  1121 +| modifyMode | 修改模式 | 0-不可修改 |
  1122 +| | | |
  1123 +| | | 1-可以修改(默认值) |
  1124 ++----------------+--------------+-------------------------------------+
  1125 +| lessMode | 预留 | 0 |
  1126 ++----------------+--------------+-------------------------------------+
  1127 +| questionNumber | 题目个数 | 1\~10 (默认值10) |
  1128 ++----------------+--------------+-------------------------------------+
  1129 +| options | 选项数目 | 1\~10 (单选题有效, 默认值4) |
  1130 ++----------------+--------------+-------------------------------------+
  1131 +| tipTitle | 提示标题 | 16个字节 |
  1132 ++----------------+--------------+-------------------------------------+
  1133 +
  1134 +指令样例:
  1135 +
  1136 +{\
  1137 +    \"fun\":\"startMulQuestions\",
  1138 +
  1139 +  \"baseId\":0,\
  1140 +    \"params\":{\
  1141 +        \"questionType\":\"0\",\
  1142 +        \"secrecyMode\":\"0\",\
  1143 +        \"modifyMode\":\"1\",\
  1144 +        \"lessMode\":\"0\",\
  1145 +        \"questionNumber\":\"10\",\
  1146 +        \"options\":\"4\"\
  1147 +    },\
  1148 +    \"packetTag\":\"1\"\
  1149 +}
  1150 +
  1151 +接收:
  1152 +
  1153 +fun: \"startMulQuestions\" //开始多小题
  1154 +
  1155 +baseId: \"1\"//接收到指令的基站ID
  1156 +
  1157 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1158 +
  1159 +指令样例:
  1160 +
  1161 +{\
  1162 +    \"fun\":\"startMulQuestions\",
  1163 +
  1164 +\"baseId\":1,\
  1165 +  \"infos\":{\
  1166 +       \"state\":\"OK\"\
  1167 +    },
  1168 +
  1169 +\"packetTag\":\"1\"\
  1170 +}
  1171 +
  1172 +#### 接收作答
  1173 +
  1174 +接收:
  1175 +
  1176 +fun: \"answerMulQuestions\" //多小题作答返回
  1177 +
  1178 +baseId: \"1\"//接收到指令的基站ID
  1179 +
  1180 +infos: {}
  1181 +
  1182 + ----------------- --------------- --------------------------------------
  1183 + Json字段 字段含义 赋值及含义
  1184 +
  1185 + time 答题时间 单位秒
  1186 +
  1187 + keySn 键盘Sn
  1188 +
  1189 + keyValue 键值 对应题型,按位对应题号
  1190 + ----------------- --------------- --------------------------------------
  1191 +
  1192 +指令样例:
  1193 +
  1194 +{\
  1195 +    \"fun\":\"answerMulQuestions\",\
  1196 +    \"baseId\":1,\
  1197 +    \"infos\":{\
  1198 +        \"time\":\"2.42\",\
  1199 +        \"keySn\":\"1479824643\",\
  1200 +        \"keyValue\":\"AACDBDADBD\"\
  1201 +    },
  1202 +
  1203 + \"packetTag\":\"1\"\
  1204 +}
  1205 +
  1206 +#### 停止作答
  1207 +
  1208 +发送:
  1209 +
  1210 +fun: \"stopMulQuestions\" //停止多小题
  1211 +
  1212 +params:{} //默认空
  1213 +
  1214 +指令样例:
  1215 +
  1216 +{\
  1217 +    \"fun\":\"stopMulQuestions\",
  1218 +
  1219 +  \"baseId\":0,\
  1220 +    \"packetTag\":\"1\"\
  1221 +}
  1222 +
  1223 +接收:
  1224 +
  1225 +fun:\"stopMulQuestions\" //停止多小题
  1226 +
  1227 +baseId: \"1\"//收到的基站ID
  1228 +
  1229 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1230 +
  1231 +指令样例:
  1232 +
  1233 +{\
  1234 +    \"fun\":\"stopMulQuestions\",\
  1235 +    \"baseId\":1,\
  1236 +    \"infos\":{\
  1237 +          \"state\":\"OK\"\
  1238 +    },\
  1239 +    \"packetTag\":\"1\"\
  1240 +}
  1241 +
  1242 +#### 支持设备说明
  1243 +
  1244 + ----------------------- ----------------------- -----------------------
  1245 + 基站+键盘 支持/不支持 备注
  1246 +
  1247 + B100-2.4G+S6 不支持
  1248 +
  1249 + B200-2.4G+S6 不支持
  1250 +
  1251 + B200-5.8G+T2 支持
  1252 + ----------------------- ----------------------- -----------------------
  1253 +
  1254 +### 语音题
  1255 +
  1256 +#### 开始作答
  1257 +
  1258 +发送:
  1259 +
  1260 +fun: \"startVoice\" //开始语音题
  1261 +
  1262 +params:{}
  1263 +
  1264 ++----------------+--------------+-------------------------------------+
  1265 +| Json字段 | 字段含义 | 赋值及含义 |
  1266 ++----------------+--------------+-------------------------------------+
  1267 +| recordingMode | 录音模式 | 0-按键录音(默认值) |
  1268 ++----------------+--------------+-------------------------------------+
  1269 +| submitTimes | 提交次数 | 0 (0:不限制, 默认值0) |
  1270 ++----------------+--------------+-------------------------------------+
  1271 +| reco | 预留 | 0 |
  1272 +| rdingTimeLimit | | |
  1273 ++----------------+--------------+-------------------------------------+
  1274 +| r | 预留 | 0-固定传0 |
  1275 +| ecordingFormat | | |
  1276 ++----------------+--------------+-------------------------------------+
  1277 +| rec | 音频格式 | 0. mp3 |
  1278 +| ordAudioFormat | | |
  1279 +| | | 1. 实时流 (默认值1) |
  1280 ++----------------+--------------+-------------------------------------+
  1281 +| tipTitle | 提示标题 | 16个字节 |
  1282 ++----------------+--------------+-------------------------------------+
  1283 +
  1284 +指令样例:
  1285 +
  1286 +{\
  1287 +    \"fun\":\"startVoice\",
  1288 +
  1289 +  \"baseId\":0,\
  1290 +    \"params\":{\
  1291 +        \"recordingMode\":\"0\",\
  1292 +        \"submitTimes\":\"0\",\
  1293 +        \"recordingTimeLimit\":\"0\",\
  1294 +        \"recordingFormat\":\"0\",\
  1295 +        \"recordAudioFormat\":\"0\"\
  1296 +       },\
  1297 +    \"packetTag\":\"1\"\
  1298 +}
  1299 +
  1300 +接收:
  1301 +
  1302 +fun: \"startVoice\" //开始语音题
  1303 +
  1304 +baseId: \"1\"//接收到指令的基站ID
  1305 +
  1306 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1307 +
  1308 +指令样例:
  1309 +
  1310 +{\
  1311 +    \"fun\":\"startVoice\",
  1312 +
  1313 +\"baseId\":1,\
  1314 +  \"infos\":{\
  1315 +       \"state\":\"OK\"\
  1316 +    },
  1317 +
  1318 +\"packetTag\":\"1\"\
  1319 +}
  1320 +
  1321 +#### 接收作答
  1322 +
  1323 +按开始作答时设置的录音格式分为录音文件和实时流两种。
  1324 +
  1325 +录音文件
  1326 +
  1327 +接收:
  1328 +
  1329 +fun: \"answerVoiceFile\" //录音文件返回
  1330 +
  1331 +baseId: \"1\"//接收到指令的基站ID
  1332 +
  1333 +infos: {}
  1334 +
  1335 + ----------------- --------------- --------------------------------------
  1336 + Json字段 字段含义 赋值及含义
  1337 +
  1338 + time 答题时间 单位秒(0为答题开始,\>0表示答题结束)
  1339 +
  1340 + keySn 键盘Sn
  1341 +
  1342 + filePath 文件路径 录音文件路径
  1343 + ----------------- --------------- --------------------------------------
  1344 +
  1345 +指令样例:
  1346 +
  1347 +{\
  1348 +    \"fun\":\"answerVoiceFile\",\
  1349 +    \"baseId\":1,\
  1350 +    \"infos\":{\
  1351 +        \"keySn\":\"1479824643\",
  1352 +
  1353 +        \"filePath\":\"D:\\voice\\20211102\\voice_1479824643_1635832534000.mp3\"\
  1354 +    },
  1355 +
  1356 +\"packetTag\":\"1\"\
  1357 +}
  1358 +
  1359 +实时流
  1360 +
  1361 +接收:
  1362 +
  1363 +fun: \"answerVoiceStream\" //语音实时流返回
  1364 +
  1365 +baseId: \"1\"//接收到指令的基站ID
  1366 +
  1367 +infos: {}
  1368 +
  1369 + ----------------- --------------- ------------------------------------------------------------------------------------------
  1370 + Json字段 字段含义 赋值及含义
  1371 +
  1372 + keySn 键盘Sn
  1373 +
  1374 + voiceId 回话ID 答题时间内,可重复提交语音,每段语音流加一个回话ID,用于区分作答
  1375 +
  1376 + sampleRate 音频采样率
  1377 +
  1378 + bits 音频采样精度
  1379 +
  1380 + channel 声道数
  1381 +
  1382 + dataIndex 数据包号 1开始
  1383 +
  1384 + data 数据 将原始数据通过Base64编码后得到json中\"data\"字段。应用可通过Base64解码得到原始语音数据。
  1385 +
  1386 + dataLen 数据长度 Base64编码后的字符串长度。应该将\"data\"通过Base64解码后得到原始的数据长度。
  1387 +
  1388 + endFlag 结束标志 默认为0,为1表示结束
  1389 + ----------------- --------------- ------------------------------------------------------------------------------------------
  1390 +
  1391 +指令样例:
  1392 +
  1393 +{\
  1394 +    \"fun\":\"answerVoiceStream\",\
  1395 +    \"baseId\":1,\
  1396 +    \"infos\":{\
  1397 +        \"keySn\":1479824643,\
  1398 +        \"voiceId\":1,\
  1399 +        \"sampleRate\":16000,\
  1400 +        \"bits\":16,\
  1401 +        \"channel\":1,\
  1402 +        \"endFlag\":0,
  1403 +
  1404 +\"dataIndex\":1,\
  1405 +        \"dataLen\":856,\
  1406 +        \"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==\"\
  1407 +    },\
  1408 +    \"packetTag\":\"1\"\
  1409 +}
  1410 +
  1411 +#### 回传分数
  1412 +
  1413 +收到语音后,可对评测分数回传给键盘,详见[自定义信息](\l)
  1414 +
  1415 +#### 停止作答
  1416 +
  1417 +发送:
  1418 +
  1419 +fun: \"stopVoice\" //停止语音题
  1420 +
  1421 +params:{} //默认空,
  1422 +
  1423 +指令样例:
  1424 +
  1425 +{\
  1426 +    \"fun\":\"stopVoice\",
  1427 +
  1428 +  \"baseId\":0,\
  1429 +    \"packetTag\":\"1\"\
  1430 +}
  1431 +
  1432 +接收:
  1433 +
  1434 +fun: \"stopVoice\" //停止语音题
  1435 +
  1436 +baseId: \"1\"//收到的基站ID
  1437 +
  1438 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1439 +
  1440 +指令样例:
  1441 +
  1442 +{\
  1443 +    \"fun\":\"stopVoice\",\
  1444 +    \"baseId\":1,\
  1445 +    \"infos\":{\
  1446 +          \"state\":\"OK\"\
  1447 +    },\
  1448 +    \"packetTag\":\"1\"\
  1449 +}
  1450 +
  1451 +#### 丢包信息
  1452 +
  1453 +语音结束时SunVoteWSTrayapp会发送该次语言的丢包率。
  1454 +
  1455 +注意:此数据只在语音实时流时有效。
  1456 +
  1457 +接收:
  1458 +
  1459 +fun: \"voicePacketLossInfo\" //丢包信息
  1460 +
  1461 +baseId:1 //1\~32,连接基站
  1462 +
  1463 +infos:{} //
  1464 +
  1465 + --------------------- --------------- ------------------------------------------------------------------
  1466 + Json字段 字段含义 赋值及含义
  1467 +
  1468 + keySn 键盘Sn
  1469 +
  1470 + voiceId 回话ID 答题时间内,可重复提交语音,每段语音流加一个回话ID,用于区分作答
  1471 +
  1472 + recordTime 录音延迟时间
  1473 +
  1474 + shouldSendPacketNum 应发数据包数
  1475 +
  1476 + actualSendPacketNum 实发数据包数
  1477 +
  1478 + lossRate 丢包率 百分比
  1479 + --------------------- --------------- ------------------------------------------------------------------
  1480 +
  1481 +指令样例:
  1482 +
  1483 +{\
  1484 +    \"fun\":\"voicePacketLossInfo\",\
  1485 +    \"baseId\":1,\
  1486 +    \"infos\":{\
  1487 +        \"keySn\":\"1837454011\",\
  1488 +        \"voiceId\":\"1\",\
  1489 +        \"recordTime\":\"42\",\
  1490 +        \"shouldSendPacketNum\":\"56\",\
  1491 +        \"actualSendPacketNum\":\"56\",\
  1492 +        \"lossRate\":\"0\"\
  1493 +    },\
  1494 +    \"packetTag\":\"1\"\
  1495 +}
  1496 +
  1497 +#### 支持设备说明
  1498 +
  1499 + ----------------------- ----------------------- -----------------------
  1500 + 基站+键盘 支持/不支持 备注
  1501 +
  1502 + B100-2.4G+S6 不支持
  1503 +
  1504 + B200-2.4G+S6 不支持
  1505 +
  1506 + B200-5.8G+T2 支持 单次录音最长180秒
  1507 + ----------------------- ----------------------- -----------------------
  1508 +
  1509 +### 抢答题
  1510 +
  1511 +#### 开始作答
  1512 +
  1513 +发送:
  1514 +
  1515 +fun: \"startRushAnswer\" //开始抢答题
  1516 +
  1517 +params:{}
  1518 +
  1519 ++----------------+--------------+-------------------------------------+
  1520 +| Json字段 | 字段含义 | 赋值及含义 |
  1521 ++----------------+--------------+-------------------------------------+
  1522 +| rushAnswerMode | 抢答模式 | 0-普通抢答(默认值) |
  1523 ++----------------+--------------+-------------------------------------+
  1524 +| modifyMode | 修改模式 | 0-不可修改 |
  1525 +| | | |
  1526 +| | | 1-可以修改(默认值) |
  1527 ++----------------+--------------+-------------------------------------+
  1528 +
  1529 +指令样例:
  1530 +
  1531 +{\
  1532 +    \"fun\":\"startRushAnswer\",
  1533 +
  1534 +  \"baseId\":0,\
  1535 +    \"params\":{\
  1536 +        \"rushAnswerMode\":\"0\",\
  1537 +        \"modifyMode\":\"1\"\
  1538 +    },\
  1539 +    \"packetTag\":\"1\"\
  1540 +}
  1541 +
  1542 +接收:
  1543 +
  1544 +fun: \"startRushAnswer\" //开始抢答题
  1545 +
  1546 +baseId: \"1\"//接收到指令的基站ID
  1547 +
  1548 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1549 +
  1550 +指令样例:
  1551 +
  1552 +{\
  1553 +    \"fun\":\"startRushAnswer\",
  1554 +
  1555 +\"baseId\":1,\
  1556 +  \"infos\":{\
  1557 +       \"state\":\"OK\"\
  1558 +    },
  1559 +
  1560 +\"packetTag\":\"1\"\
  1561 +}
  1562 +
  1563 +#### 接收作答
  1564 +
  1565 +接收:
  1566 +
  1567 +fun: \"answerRushAnswer\" //抢答题作答返回
  1568 +
  1569 +baseId: \"1\"//接收到指令的基站ID
  1570 +
  1571 +infos: {}
  1572 +
  1573 + ----------------- --------------- --------------------------------------
  1574 + Json字段 字段含义 赋值及含义
  1575 +
  1576 + time 答题时间 单位秒
  1577 +
  1578 + keySn 键盘Sn
  1579 +
  1580 + keyValue 键值
  1581 + ----------------- --------------- --------------------------------------
  1582 +
  1583 +指令样例:
  1584 +
  1585 +{\
  1586 +    \"fun\":\"answerRushAnswer\",\
  1587 +    \"baseId\":1,\
  1588 +    \"infos\":{\
  1589 +        \"time\":\"1.42\",\
  1590 +        \"keySn\":\"1479824643\",\
  1591 +        \"keyValue\":\"A\"\
  1592 +    },
  1593 +
  1594 + \"packetTag\":\"1\"\
  1595 +}
  1596 +
  1597 +#### 停止作答
  1598 +
  1599 +发送:
  1600 +
  1601 +fun: \"stopRushAnswer\" //停止抢答题
  1602 +
  1603 +params:{} //默认空
  1604 +
  1605 +指令样例:
  1606 +
  1607 +{\
  1608 +    \"fun\":\"stopRushAnswer\",
  1609 +
  1610 +\"baseId\":0,\
  1611 +    \"packetTag\":\"1\"\
  1612 +}
  1613 +
  1614 +接收:
  1615 +
  1616 +fun: \"stopRushAnswer\" //停止抢答题
  1617 +
  1618 +baseId: \"1\"//收到的基站ID
  1619 +
  1620 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1621 +
  1622 +指令样例:
  1623 +
  1624 +{\
  1625 +    \"fun\":\"stopRushAnswer\",\
  1626 +    \"baseId\":1,\
  1627 +    \"infos\":{\
  1628 +          \"state\":\"OK\"\
  1629 +    },\
  1630 +    \"packetTag\":\"1\"\
  1631 +}
  1632 +
  1633 +#### 支持设备说明
  1634 +
  1635 + ----------------------- ----------------------- -----------------------
  1636 + 基站+键盘 支持/不支持 备注
  1637 +
  1638 + B100-2.4G+S6 支持
  1639 +
  1640 + B200-2.4G+S6 支持
  1641 +
  1642 + B200-5.8G+T2 支持
  1643 + ----------------------- ----------------------- -----------------------
  1644 +
  1645 +### 数字题
  1646 +
  1647 +#### 开始作答
  1648 +
  1649 +发送:
  1650 +
  1651 +fun: \"startNumber\" //开始数字题
  1652 +
  1653 +params:{}
  1654 +
  1655 ++----------------+--------------+-------------------------------------+
  1656 +| Json字段 | 字段含义 | 赋值及含义 |
  1657 ++----------------+--------------+-------------------------------------+
  1658 +| secrecyMode | 保密模式 | 0-不保密(默认值) |
  1659 +| | | |
  1660 +| | | 1-保密 |
  1661 ++----------------+--------------+-------------------------------------+
  1662 +| modifyMode | 修改模式 | 0-不可修改 |
  1663 +| | | |
  1664 +| | | 1-可以修改(默认值) |
  1665 ++----------------+--------------+-------------------------------------+
  1666 +| aswOption | 按键模式 | 0-无规则 (S6最多16位,T2最多14位) |
  1667 +| | | |
  1668 +| | | 1-预留 |
  1669 +| | | |
  1670 +| | | 2-预留 |
  1671 +| | | |
  1672 +| | | 3-带小数位上下限(T2不支持) |
  1673 ++----------------+--------------+-------------------------------------+
  1674 +| digits | 小数位数 | 0. 没有小数点 |
  1675 +| | | |
  1676 +| | | 1. 一位小数点 |
  1677 +| | | |
  1678 +| | | 2. 二位小数点 |
  1679 ++----------------+--------------+-------------------------------------+
  1680 +| numMin | 下限 | 0-655.35 |
  1681 ++----------------+--------------+-------------------------------------+
  1682 +| numMax | 上限 | 0-655.35 |
  1683 ++----------------+--------------+-------------------------------------+
  1684 +| tipTitle | 提示标题 | 16个字节 |
  1685 ++----------------+--------------+-------------------------------------+
  1686 +
  1687 +指令样例:
  1688 +
  1689 +{\
  1690 +    \"fun\":\"startNumber\",
  1691 +
  1692 + \"baseId\":0,\
  1693 +    \"params\":{\
  1694 +         \"secrecyMode\":\"0\",\
  1695 +         \"modifyMode\":\"1\",
  1696 +
  1697 +\"aswOption\":\"0\",
  1698 +
  1699 +\"digits\":\"0\",
  1700 +
  1701 +\"numMin\":\"0\",
  1702 +
  1703 +\"numMax\":\"0\"\
  1704 +    },\
  1705 +    \"packetTag\":\"1\"\
  1706 +}
  1707 +
  1708 +接收:
  1709 +
  1710 +fun: \"startNumber\" //开始数字题
  1711 +
  1712 +baseId: \"1\"//接收到指令的基站ID
  1713 +
  1714 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1715 +
  1716 +指令样例:
  1717 +
  1718 +{\
  1719 +    \"fun\":\"startNumber\",
  1720 +
  1721 +\"baseId\":1,\
  1722 +  \"infos\":{\
  1723 +       \"state\":\"OK\"\
  1724 +    },
  1725 +
  1726 +\"packetTag\":\"1\"\
  1727 +}
  1728 +
  1729 +#### 接收作答
  1730 +
  1731 +接收:
  1732 +
  1733 +fun: \"answerNumber\" //数字题作答返回
  1734 +
  1735 +baseId: \"1\"//接收到指令的基站ID
  1736 +
  1737 +infos: {}
  1738 +
  1739 + ----------------- --------------- --------------------------------------
  1740 + Json字段 字段含义 赋值及含义
  1741 +
  1742 + time 答题时间 单位秒
  1743 +
  1744 + keySn 键盘Sn
  1745 +
  1746 + keyValue 键值 键盘提交的值
  1747 + ----------------- --------------- --------------------------------------
  1748 +
  1749 +指令样例:
  1750 +
  1751 +{\
  1752 +    \"fun\":\"answerNumber\",\
  1753 +    \"baseId\":1,\
  1754 +    \"infos\":{\
  1755 +        \"time\":\"2.42\",\
  1756 +        \"keySn\":\"1479824643\",\
  1757 +        \"keyValue\":\"12\"\
  1758 +    },
  1759 +
  1760 + \"packetTag\":\"1\"\
  1761 +}
  1762 +
  1763 +#### 停止作答
  1764 +
  1765 +发送:
  1766 +
  1767 +fun: \"stopNumber\" //停止数字题
  1768 +
  1769 +params:{} //默认空
  1770 +
  1771 +指令样例:
  1772 +
  1773 +{\
  1774 +    \"fun\":\"stopNumber\",
  1775 +
  1776 + \"baseId\":0,\
  1777 +    \"packetTag\":\"1\"\
  1778 +}
  1779 +
  1780 +接收:
  1781 +
  1782 +fun: \"stopNumber\" //停止数字题
  1783 +
  1784 +baseId: \"1\"//收到的基站ID
  1785 +
  1786 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1787 +
  1788 +指令样例:
  1789 +
  1790 +{\
  1791 +    \"fun\":\"stopNumber\",\
  1792 +    \"baseId\":1,\
  1793 +    \"infos\":{\
  1794 +          \"state\":\"OK\"\
  1795 +    },\
  1796 +    \"packetTag\":\"1\"\
  1797 +}
  1798 +
  1799 +#### 支持设备说明
  1800 +
  1801 ++--------------------+--------------+---------------------------------+
  1802 +| 基站+键盘 | 支持/不支持 | 备注 |
  1803 ++--------------------+--------------+---------------------------------+
  1804 +| B100-2.4G+S6 | 支持 | 按键模式(0-无规则 最多16位) |
  1805 ++--------------------+--------------+---------------------------------+
  1806 +| B200-2.4G+S6 | 支持 | 按键模式(0-无规则 最多16位) |
  1807 ++--------------------+--------------+---------------------------------+
  1808 +| B200-5.8G+T2 | 支持 | 按键模式(0-无规则 最多14位) |
  1809 +| | | |
  1810 +| | | 按键模 |
  1811 +| | | 式(3-带小数位上下限)(不支持) |
  1812 ++--------------------+--------------+---------------------------------+
  1813 +
  1814 +### 键盘测试
  1815 +
  1816 +#### 开始测试
  1817 +
  1818 +发送:
  1819 +
  1820 +fun: \"startKeyPadTest\" //开始键盘
  1821 +
  1822 +params:{}
  1823 +
  1824 ++----------------+--------------+-------------------------------------+
  1825 +| Json字段 | 字段含义 | 赋值及含义 |
  1826 ++----------------+--------------+-------------------------------------+
  1827 +| mode | 测试模式 | 1-报告状态 |
  1828 +| | | |
  1829 +| | | 2-按键模拟 |
  1830 ++----------------+--------------+-------------------------------------+
  1831 +| keyTime | 启动时间 | 0-60 单位秒 0马上执行 默认为0 |
  1832 ++----------------+--------------+-------------------------------------+
  1833 +| gapTime | 间隔时间 | 0-60 单位秒 0无效 默认为0 |
  1834 ++----------------+--------------+-------------------------------------+
  1835 +
  1836 +指令样例:
  1837 +
  1838 +{\
  1839 +    \"fun\":\"startKeyPadTest\",
  1840 +
  1841 +  \"baseId\":0,\
  1842 +    \"params\":{\
  1843 +        \"mode\":\"1\",\
  1844 +        \"keyTime\":\"0\",
  1845 +
  1846 +\"gapTime\":\"0\"\
  1847 +    },\
  1848 +    \"packetTag\":\"1\"\
  1849 +}
  1850 +
  1851 +#### 接收作答
  1852 +
  1853 +接收:
  1854 +
  1855 +fun: \"answerKeyPadTest\" //按键测试返回
  1856 +
  1857 +baseId: \"1\"//接收到指令的基站ID
  1858 +
  1859 +infos: {}
  1860 +
  1861 + ----------------- --------------- --------------------------------------
  1862 + Json字段 字段含义 赋值及含义
  1863 +
  1864 + Time 答题时间 单位秒
  1865 +
  1866 + keySn 键盘Sn
  1867 +
  1868 + hModel 键盘硬件型号
  1869 +
  1870 + keyValue 键值
  1871 +
  1872 + Ver 键盘软件版本
  1873 +
  1874 + Volt 键盘电池电量 T2百分比值,S6无效
  1875 + ----------------- --------------- --------------------------------------
  1876 +
  1877 +指令样例:
  1878 +
  1879 +{\
  1880 +    \"fun\":\"answerKeyPadTest\",\
  1881 +    \"baseId\":1,\
  1882 +    \"infos\":{\
  1883 +        \"time\":\"2.42\",
  1884 +
  1885 +  \"hModel\":\"67\",
  1886 +
  1887 + \"keyValue\":\"0\",
  1888 +
  1889 +  \"ver\":\"1.0.0\",\
  1890 +        \"keySn\":\"1479824643\",\
  1891 +        \"volt\":\"12\"\
  1892 +    },
  1893 +
  1894 + \"packetTag\":\"1\"\
  1895 +}
  1896 +
  1897 +#### 停止作答
  1898 +
  1899 +发送:
  1900 +
  1901 +fun: \"stopKeyPadTest\" //停止键盘测试
  1902 +
  1903 +params:{} //默认空
  1904 +
  1905 +指令样例:
  1906 +
  1907 +{\
  1908 +    \"fun\":\"stopKeyPadTest\",
  1909 +
  1910 +\"baseId\":0,\
  1911 +    \"packetTag\":\"1\"\
  1912 +}
  1913 +
  1914 +接收:
  1915 +
  1916 +fun: \"stopKeyPadTest\" //停止键盘测试
  1917 +
  1918 +baseId: \"1\"//收到的基站ID
  1919 +
  1920 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  1921 +
  1922 +指令样例:
  1923 +
  1924 +{\
  1925 +    \"fun\":\"stopKeyPadTest\",\
  1926 +    \"baseId\":1,\
  1927 +    \"infos\":{\
  1928 +          \"state\":\"OK\"\
  1929 +    },\
  1930 +    \"packetTag\":\"1\"\
  1931 +}
  1932 +
  1933 +#### 支持设备说明
  1934 +
  1935 + ----------------------- ----------------------- -----------------------
  1936 + 基站+键盘 支持/不支持 备注
  1937 +
  1938 + B100-2.4G+S6 支持 键盘电池电量参数无效
  1939 +
  1940 + B200-2.4G+S6 支持 键盘电池电量参数无效
  1941 +
  1942 + B200-5.8G+T2 支持
  1943 + ----------------------- ----------------------- -----------------------
  1944 +
  1945 +### 多题题型
  1946 +
  1947 +#### 开始测试
  1948 +
  1949 +发送:
  1950 +
  1951 +fun: \"startKeyPadMultipleQuestions\" //开始多题题型
  1952 +
  1953 +params:{}
  1954 +
  1955 ++-----------------+-----------+---------------------------------------+
  1956 +| Json字段 | 字 | 赋值及含义 |
  1957 +| | 段含义 | |
  1958 ++-----------------+-----------+---------------------------------------+
  1959 +| examNo | 测验编号 | 1-9999 |
  1960 ++-----------------+-----------+---------------------------------------+
  1961 +| Total | 题目数量 | 1-200 |
  1962 ++-----------------+-----------+---------------------------------------+
  1963 +| optional | 选项数目 | 1-10 默认4 |
  1964 ++-----------------+-----------+---------------------------------------+
  1965 +| displayMode | 题号 | 1: 预留 |
  1966 +| | 显示模式 | |
  1967 +| | | 2:预留 |
  1968 +| | | |
  1969 +| | | 3:三级编号显示 |
  1970 +| | | |
  1971 +| | | 4:预留 |
  1972 ++-----------------+-----------+---------------------------------------+
  1973 +| questions | 题目详情 | 数组 |
  1974 ++-----------------+-----------+---------------------------------------+
  1975 +| .quest | 一级题号 | 1-99 |
  1976 +| ionLevel1Symbol | | |
  1977 ++-----------------+-----------+---------------------------------------+
  1978 +| .quest | 二级题号 | 1-99 |
  1979 +| ionLevel2Symbol | | |
  1980 ++-----------------+-----------+---------------------------------------+
  1981 +| .quest | 三级题号 | 1-99 |
  1982 +| ionLevel3Symbol | | |
  1983 ++-----------------+-----------+---------------------------------------+
  1984 +| .questionType | 题目类型 | 1单选 |
  1985 +| | | |
  1986 +| | | 2多选(排序) |
  1987 +| | | |
  1988 +| | | 3数字 |
  1989 +| | | |
  1990 +| | | 4判断 |
  1991 ++-----------------+-----------+---------------------------------------+
  1992 +| .option | 选项数目 | 默认是0,当questionType = 2 有效 |
  1993 ++-----------------+-----------+---------------------------------------+
  1994 +
  1995 +指令样例:
  1996 +
  1997 +{
  1998 +
  1999 +\"fun\": \"startKeyPadMultipleQuestions\",
  2000 +
  2001 +\"baseId\": 0,
  2002 +
  2003 +\"params\": {
  2004 +
  2005 +\"examNo\": 33,
  2006 +
  2007 +\"total\": 4,
  2008 +
  2009 +\"optional\": 4,
  2010 +
  2011 +\"displayMode\": 3,
  2012 +
  2013 +\"questions\": \[{
  2014 +
  2015 +\"questionLevel1Symbol\": \"1\",
  2016 +
  2017 +\"questionLevel2Symbol\": \"1\",
  2018 +
  2019 +\"questionLevel3Symbol\": \"1\",
  2020 +
  2021 +\"questionType\": \"1\"
  2022 +
  2023 +}, {
  2024 +
  2025 +\"questionLevel1Symbol\": \"1\",
  2026 +
  2027 +\"questionLevel2Symbol\": \"2\",
  2028 +
  2029 +\"questionLevel3Symbol\": \"3\",
  2030 +
  2031 +\"questionType\": \"2\",
  2032 +
  2033 +\"option\": \"5\"
  2034 +
  2035 +}, {
  2036 +
  2037 +\"questionLevel1Symbol\": \"1\",
  2038 +
  2039 +\"questionLevel2Symbol\": \"2\",
  2040 +
  2041 +\"questionLevel3Symbol\": \"4\",
  2042 +
  2043 +\"questionType\": \"3\"
  2044 +
  2045 +}, {
  2046 +
  2047 +\"questionLevel1Symbol\": \"1\",
  2048 +
  2049 +\"questionLevel2Symbol\": \"2\",
  2050 +
  2051 +\"questionLevel3Symbol\": \"5\",
  2052 +
  2053 +\"questionType\": \"4\"
  2054 +
  2055 +}\]
  2056 +
  2057 +},
  2058 +
  2059 +\"packetTag\": \"59\"
  2060 +
  2061 +}
  2062 +
  2063 +接收:
  2064 +
  2065 +fun: \"startKeyPadMultipleQuestions\" //开始多题题型
  2066 +
  2067 +baseId: \"1\"//接收到指令的基站ID
  2068 +
  2069 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2070 +
  2071 +指令样例:
  2072 +
  2073 +{
  2074 +
  2075 +\"baseId\": 1,
  2076 +
  2077 +\"fun\": \"startKeyPadMultipleQuestions\",
  2078 +
  2079 +\"infos\": {
  2080 +
  2081 +\"state\": \"OK\"
  2082 +
  2083 +},
  2084 +
  2085 +\"packetTag\": \"59\"
  2086 +
  2087 +}
  2088 +
  2089 +#### 接收作答
  2090 +
  2091 +接收:
  2092 +
  2093 +fun: \"answerKeyPadMultipleQuestions\" //多题题型返回
  2094 +
  2095 +baseId: \"1\"//接收到指令的基站ID
  2096 +
  2097 +infos: {}
  2098 +
  2099 + ----------------- --------------- --------------------------------------
  2100 + Json字段 字段含义 赋值及含义
  2101 +
  2102 + Time 答题时间 \[time/5=实际时间\]
  2103 + 单位秒,20分钟内有效
  2104 +
  2105 + keySn 键盘Sn
  2106 +
  2107 + Seq 题序号
  2108 +
  2109 + keyValue 键值 键盘提交的值
  2110 + ----------------- --------------- --------------------------------------
  2111 +
  2112 +指令样例:
  2113 +
  2114 +{\
  2115 +    \"fun\":\"answerKeyPadMultipleQuestions\",\
  2116 +    \"baseId\":1,\
  2117 +    \"infos\":{\
  2118 +        \"time\":\"5.42\",\
  2119 +        \"keySn\":\"1479824643\",
  2120 +
  2121 +  \"seq\":\"1\",\
  2122 +        \"keyValue\":\"12\"\
  2123 +    },
  2124 +
  2125 + \"packetTag\":\"1\"\
  2126 +}
  2127 +
  2128 +#### 退出作答
  2129 +
  2130 +发送:
  2131 +
  2132 +fun: \"stopKeyPadMultipleQuestions\" //停止多题题型
  2133 +
  2134 +params:{} //默认空
  2135 +
  2136 +指令样例:
  2137 +
  2138 +{\
  2139 +    \"fun\":\"stopKeyPadMultipleQuestions\",
  2140 +
  2141 +\"baseId\":0,\
  2142 +    \"packetTag\":\"1\"\
  2143 +}
  2144 +
  2145 +接收:
  2146 +
  2147 +fun: \"stopKeyPadMultipleQuestions\" //停止键盘测试
  2148 +
  2149 +baseId: \"1\"//收到的基站ID
  2150 +
  2151 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2152 +
  2153 +指令样例:
  2154 +
  2155 +{\
  2156 +    \"fun\":\"stopKeyPadMultipleQuestions\",\
  2157 +    \"baseId\":1,\
  2158 +    \"infos\":{\
  2159 +          \"state\":\"OK\"\
  2160 +    },\
  2161 +    \"packetTag\":\"1\"\
  2162 +}
  2163 +
  2164 +#### 暂停作答
  2165 +
  2166 +发送:
  2167 +
  2168 +fun: \"pauseKeyPadMultipleQuestions\" //暂停多提题性
  2169 +
  2170 +baseId: \"1\"//收到的基站ID
  2171 +
  2172 +params:{} //默认空
  2173 +
  2174 +指令样例:
  2175 +
  2176 +{\
  2177 +    \"fun\":\"pauseKeyPadMultipleQuestions\",
  2178 +
  2179 +  \"baseId\":0,\
  2180 +    \"packetTag\":\"1\"\
  2181 +}
  2182 +
  2183 +接收:
  2184 +
  2185 +fun: \"stopKeyPadMultipleQuestions\" //暂停键盘测试
  2186 +
  2187 +baseId: \"1\"//收到的基站ID
  2188 +
  2189 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2190 +
  2191 +指令样例:
  2192 +
  2193 +{\
  2194 +    \"fun\":\"pauseKeyPadMultipleQuestions\",\
  2195 +    \"baseId\":1,\
  2196 +    \"infos\":{\
  2197 +          \"state\":\"OK\"\
  2198 +    },\
  2199 +    \"packetTag\":\"1\"\
  2200 +}
  2201 +
  2202 +#### 继续测试
  2203 +
  2204 +发送:
  2205 +
  2206 +fun: \"continueKeyPadMultipleQuestions\" //继续多题题型
  2207 +
  2208 +params:{}
  2209 +
  2210 ++-----------------+-----------+---------------------------------------+
  2211 +| Json字段 | 字 | 赋值及含义 |
  2212 +| | 段含义 | |
  2213 ++-----------------+-----------+---------------------------------------+
  2214 +| examNo | 测验编号 | 1-9999 |
  2215 ++-----------------+-----------+---------------------------------------+
  2216 +| Total | 题目数量 | 1-200 |
  2217 ++-----------------+-----------+---------------------------------------+
  2218 +| optional | 选项数目 | 1-10 默认4 |
  2219 ++-----------------+-----------+---------------------------------------+
  2220 +| displayMode | 题号 | 1: 预留 |
  2221 +| | 显示模式 | |
  2222 +| | | 2:预留 |
  2223 +| | | |
  2224 +| | | 3:三级编号显示 |
  2225 +| | | |
  2226 +| | | 4:预留 |
  2227 ++-----------------+-----------+---------------------------------------+
  2228 +| questions | 题目详情 | 数组 |
  2229 ++-----------------+-----------+---------------------------------------+
  2230 +| .quest | 一级题号 | 1-99 |
  2231 +| ionLevel1Symbol | | |
  2232 ++-----------------+-----------+---------------------------------------+
  2233 +| .quest | 二级题号 | 1-99 |
  2234 +| ionLevel2Symbol | | |
  2235 ++-----------------+-----------+---------------------------------------+
  2236 +| .quest | 三级题号 | 1-99 |
  2237 +| ionLevel3Symbol | | |
  2238 ++-----------------+-----------+---------------------------------------+
  2239 +| .questionType | 题目类型 | 1单选 |
  2240 +| | | |
  2241 +| | | 2多选(排序) |
  2242 +| | | |
  2243 +| | | 3数字 |
  2244 +| | | |
  2245 +| | | 4判断 |
  2246 ++-----------------+-----------+---------------------------------------+
  2247 +| .option | 选项数目 | 默认是0,当questionType = 2 有效 |
  2248 ++-----------------+-----------+---------------------------------------+
  2249 +
  2250 +指令样例:
  2251 +
  2252 +{
  2253 +
  2254 +\"fun\": \"continueKeyPadMultipleQuestions\",
  2255 +
  2256 +\"baseId\": 0,
  2257 +
  2258 +\"params\": {
  2259 +
  2260 +\"examNo\": 33,
  2261 +
  2262 +\"total\": 4,
  2263 +
  2264 +\"optional\": 4,
  2265 +
  2266 +\"displayMode\": 3,
  2267 +
  2268 +\"questions\": \[{
  2269 +
  2270 +\"questionLevel1Symbol\": \"1\",
  2271 +
  2272 +\"questionLevel2Symbol\": \"1\",
  2273 +
  2274 +\"questionLevel3Symbol\": \"1\",
  2275 +
  2276 +\"questionType\": \"1\"
  2277 +
  2278 +}, {
  2279 +
  2280 +\"questionLevel1Symbol\": \"1\",
  2281 +
  2282 +\"questionLevel2Symbol\": \"2\",
  2283 +
  2284 +\"questionLevel3Symbol\": \"3\",
  2285 +
  2286 +\"questionType\": \"2\",
  2287 +
  2288 +\"option\": \"5\"
  2289 +
  2290 +}, {
  2291 +
  2292 +\"questionLevel1Symbol\": \"1\",
  2293 +
  2294 +\"questionLevel2Symbol\": \"2\",
  2295 +
  2296 +\"questionLevel3Symbol\": \"4\",
  2297 +
  2298 +\"questionType\": \"3\"
  2299 +
  2300 +}, {
  2301 +
  2302 +\"questionLevel1Symbol\": \"1\",
  2303 +
  2304 +\"questionLevel2Symbol\": \"2\",
  2305 +
  2306 +\"questionLevel3Symbol\": \"5\",
  2307 +
  2308 +\"questionType\": \"4\"
  2309 +
  2310 +}\]
  2311 +
  2312 +},
  2313 +
  2314 +\"packetTag\": \"61\"
  2315 +
  2316 +}
  2317 +
  2318 +接收:
  2319 +
  2320 +fun: \"startKeyPadMultipleQuestions\" //开始多题题型
  2321 +
  2322 +baseId: \"1\"//接收到指令的基站ID
  2323 +
  2324 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2325 +
  2326 +指令样例:
  2327 +
  2328 +{
  2329 +
  2330 +\"fun\": \"startKeyPadMultipleQuestions\",
  2331 +
  2332 +\"baseId\": 1,
  2333 +
  2334 +\"infos\": {
  2335 +
  2336 +\"state\": \"OK\"
  2337 +
  2338 +},
  2339 +
  2340 +\"packetTag\": \"61\"
  2341 +
  2342 +}
  2343 +
  2344 +#### 指定键盘转移作答内容
  2345 +
  2346 +发送:
  2347 +
  2348 +fun: \"copyKeyPadMultipleQuestions\" //转移键盘作答内容
  2349 +
  2350 +params:{} //默认空
  2351 +
  2352 ++-----------------+-----------+---------------------------------------+
  2353 +| Json字段 | 字 | 赋值及含义 |
  2354 +| | 段含义 | |
  2355 ++-----------------+-----------+---------------------------------------+
  2356 +| Id | 题目编号 | 1-200 |
  2357 ++-----------------+-----------+---------------------------------------+
  2358 +| * | 题目类型 | 1单选 |
  2359 +| *questionType | | |
  2360 +| | | 2多选(排序) |
  2361 +| | | |
  2362 +| | | 3数字 |
  2363 +| | | |
  2364 +| | | 4判断 |
  2365 ++-----------------+-----------+---------------------------------------+
  2366 +| Value | 题目答案 | 字符串16字节 |
  2367 ++-----------------+-----------+---------------------------------------+
  2368 +
  2369 +指令样例:
  2370 +
  2371 +{
  2372 +
  2373 +\"fun\": \"copyKeyPadMultipleQuestions\",
  2374 +
  2375 +\"baseId\": 0,
  2376 +
  2377 +\"params\": {
  2378 +
  2379 +\"keySn\": \"0007831203\",
  2380 +
  2381 +\"questions\": \[{
  2382 +
  2383 +\"id\": \"1\",
  2384 +
  2385 +\"questionType\": \"1\",
  2386 +
  2387 +\"value\": \"A\"
  2388 +
  2389 +}, {
  2390 +
  2391 +\"id\": \"2\",
  2392 +
  2393 +\"questionType\": \"2\",
  2394 +
  2395 +\"value\": \"AB\"
  2396 +
  2397 +}\]
  2398 +
  2399 +},
  2400 +
  2401 +\"packetTag\": \"19\"
  2402 +
  2403 +}
  2404 +
  2405 +接收:
  2406 +
  2407 +fun: \"copyKeyPadMultipleQuestions\" //
  2408 +
  2409 +baseId: \"1\"//收到的基站ID
  2410 +
  2411 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2412 +
  2413 +指令样例:
  2414 +
  2415 +{\
  2416 +    \"fun\":\"copyKeyPadMultipleQuestions\",\
  2417 +    \"baseId\":1,\
  2418 +    \"infos\":{\
  2419 +          \"state\":\"OK\"\
  2420 +    },\
  2421 +    \"packetTag\":\"1\"\
  2422 +}
  2423 +
  2424 +#### 向键盘广播正确答案
  2425 +
  2426 +发送:
  2427 +
  2428 +fun: \"okKeyPadMultipleQuestions\" //向键盘广播正确答案
  2429 +
  2430 +baseId: \"1\"//收到的基站ID
  2431 +
  2432 +params:{} //默认空
  2433 +
  2434 ++-----------------+-----------+---------------------------------------+
  2435 +| Json字段 | 字 | 赋值及含义 |
  2436 +| | 段含义 | |
  2437 ++-----------------+-----------+---------------------------------------+
  2438 +| id | 题目编号 | 1-200 |
  2439 ++-----------------+-----------+---------------------------------------+
  2440 +| * | 题目类型 | 1单选 |
  2441 +| *questionType | | |
  2442 +| | | 2多选(排序) |
  2443 +| | | |
  2444 +| | | 3数字 |
  2445 +| | | |
  2446 +| | | 4判断 |
  2447 ++-----------------+-----------+---------------------------------------+
  2448 +| Value | 题目答案 | 字符串16字节 |
  2449 ++-----------------+-----------+---------------------------------------+
  2450 +
  2451 +指令样例:
  2452 +
  2453 +{
  2454 +
  2455 +\"fun\": \"okKeyPadMultipleQuestions\",
  2456 +
  2457 +\"baseId\": 0,
  2458 +
  2459 +\"params\": \[{
  2460 +
  2461 +\"id\": \"1\",
  2462 +
  2463 +\"questionType\": \"1\",
  2464 +
  2465 +\"value\": \"A\"
  2466 +
  2467 +}, {
  2468 +
  2469 +\"id\": \"2\",
  2470 +
  2471 +\"questionType\": \"2\",
  2472 +
  2473 +\"value\": \"AB\"
  2474 +
  2475 +}\],
  2476 +
  2477 +\"packetTag\": \"20\"
  2478 +
  2479 +}
  2480 +
  2481 +接收:
  2482 +
  2483 +fun: \"okKeyPadMultipleQuestions\" //
  2484 +
  2485 +baseId: \"1\"//收到的基站ID
  2486 +
  2487 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2488 +
  2489 +指令样例:
  2490 +
  2491 +{\
  2492 +    \"fun\":\"okKeyPadMultipleQuestions\",\
  2493 +    \"baseId\":1,\
  2494 +    \"infos\":{\
  2495 +          \"state\":\"OK\"\
  2496 +    },\
  2497 +    \"packetTag\":\"1\"\
  2498 +}
  2499 +
  2500 +#### 支持设备说明
  2501 +
  2502 + ----------------------- ----------------------- -----------------------
  2503 + 基站+键盘 支持/不支持 备注
  2504 +
  2505 + B100-2.4G+S6 支持
  2506 +
  2507 + B200-2.4G+S6 支持
  2508 +
  2509 + B200-5.8G+T2 不支持
  2510 + ----------------------- ----------------------- -----------------------
  2511 +
  2512 +### 填空题
  2513 +
  2514 +#### 开始作答
  2515 +
  2516 +发送:
  2517 +
  2518 +fun: \"startTextAnswer\" //开始填空题
  2519 +
  2520 +params:{}
  2521 +
  2522 + ----------------- --------------- --------------------------------------
  2523 + Json字段 字段含义 赋值及含义
  2524 +
  2525 + optionsMode 填空类型 1-任意输入(默认值)
  2526 +
  2527 + modifyMode 预留 1- (默认值)
  2528 +
  2529 + secrecyMode 预留 0- (默认值)
  2530 + ----------------- --------------- --------------------------------------
  2531 +
  2532 +指令样例:
  2533 +
  2534 +{\
  2535 +    \"fun\":\"startTextAnswer\",
  2536 +
  2537 +\"baseId\":0,\
  2538 +    \"params\":{\
  2539 +        \"optionsMode\":\"1\",\
  2540 +        \"modifyMode\":\"1\",
  2541 +
  2542 +\"secrecyMode\":\"0\"\
  2543 +    },\
  2544 +    \"packetTag\":\"1\"\
  2545 +}
  2546 +
  2547 +接收:
  2548 +
  2549 +- fun: \"startTextAnswer \" //开始填空题
  2550 +
  2551 +```{=html}
  2552 +<!-- -->
  2553 +```
  2554 +- baseId: \"1\"//接收到指令的基站ID
  2555 +
  2556 +- infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2557 +
  2558 +指令样例:
  2559 +
  2560 +{\
  2561 +    \"fun\":\"startTextAnswer\",
  2562 +
  2563 +\"baseId\":1,\
  2564 +  \"infos\":{\
  2565 +       \"state\":\"OK\"\
  2566 +    },
  2567 +
  2568 +\"packetTag\":\"1\"\
  2569 +}
  2570 +
  2571 +#### 接收作答
  2572 +
  2573 +接收:
  2574 +
  2575 +fun: \"answerTextAnswer\" //填空题作答返回
  2576 +
  2577 +baseId: \"1\"//接收到指令的基站ID
  2578 +
  2579 +infos: {}
  2580 +
  2581 + ----------------- --------------- --------------------------------------
  2582 + Json字段 字段含义 赋值及含义
  2583 +
  2584 + keySn 键盘Sn
  2585 +
  2586 + keyValue 键值 ABCD/1234/AA123
  2587 + ----------------- --------------- --------------------------------------
  2588 +
  2589 +指令样例:
  2590 +
  2591 +{\
  2592 +    \"fun\":\"answerTextAnswer\",\
  2593 +    \"baseId\":1,\
  2594 +    \"infos\":{\
  2595 +        \"keySn\":\"1479824643\",\
  2596 +        \"keyValue\":\"1\"\
  2597 +    },
  2598 +
  2599 + \"packetTag\":\"1\"\
  2600 +}
  2601 +
  2602 +发送:
  2603 +
  2604 +fun: \"answerTextAnswer\" //填空题作答返回
  2605 +
  2606 +baseId: \"1\"//接收的基站ID
  2607 +
  2608 +params:{} //为空
  2609 +
  2610 +指令样例:
  2611 +
  2612 +{\
  2613 +    \"fun\":\"answerTextAnswer\",\
  2614 +    \"baseId\":1,\
  2615 +    \"packetTag\":\"1\"\
  2616 +}
  2617 +
  2618 +#### 停止作答
  2619 +
  2620 +发送:
  2621 +
  2622 +fun: \"stopTextAnswer\" //停止填空题
  2623 +
  2624 +params:{} //默认空
  2625 +
  2626 +指令样例:
  2627 +
  2628 +{\
  2629 +    \"fun\":\"stopTextAnswer\",\
  2630 +    \"packetTag\":\"1\"\
  2631 +}
  2632 +
  2633 +接收:
  2634 +
  2635 +fun: \"stopTextAnswer\" //停止填空题
  2636 +
  2637 +baseId: \"1\"//收到的基站ID
  2638 +
  2639 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2640 +
  2641 +指令样例:
  2642 +
  2643 +{\
  2644 +    \"fun\":\"stopTextAnswer\",\
  2645 +    \"baseId\":1,\
  2646 +    \"infos\":{\
  2647 +          \"state\":\"OK\"\
  2648 +    },\
  2649 +    \"packetTag\":\"1\"\
  2650 +}
  2651 +
  2652 +#### 支持设备说明
  2653 +
  2654 + ----------------------- ----------------------- -----------------------
  2655 + 基站+键盘 支持/不支持 备注
  2656 +
  2657 + B100-2.4G+S6 支持
  2658 +
  2659 + B200-2.4G+S6 支持
  2660 +
  2661 + B200-5.8G+T2 不支持
  2662 + ----------------------- ----------------------- -----------------------
  2663 +
  2664 +### 异步测验模式
  2665 +
  2666 +#### 开始作答
  2667 +
  2668 +发送:
  2669 +
  2670 +fun: \"startTestMode\" //开始异步测验模式
  2671 +
  2672 +params:{}
  2673 +
  2674 + ----------------- --------------- --------------------------------------
  2675 + Json字段 字段含义 赋值及含义
  2676 +
  2677 + optionsMode 测验类型 11-自动测验模式(默认值)
  2678 +
  2679 + testNum 测验题数量 1 - 100
  2680 + ----------------- --------------- --------------------------------------
  2681 +
  2682 +指令样例:
  2683 +
  2684 +{\
  2685 +    \"fun\":\"startTestMode\",
  2686 +
  2687 +\"baseId\":0,\
  2688 +    \"params\":{\
  2689 +        \"optionsMode\":\"11\",\
  2690 +        \"testNum\":\"5\"\
  2691 +    },\
  2692 +    \"packetTag\":\"1\"\
  2693 +}
  2694 +
  2695 +接收:
  2696 +
  2697 +- fun: \"startTestMode\" //开始异步测验模式
  2698 +
  2699 +```{=html}
  2700 +<!-- -->
  2701 +```
  2702 +- baseId: \"1\"//接收到指令的基站ID
  2703 +
  2704 +- infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2705 +
  2706 +指令样例:
  2707 +
  2708 +{\
  2709 +    \"fun\":\"startTestMode\",
  2710 +
  2711 +\"baseId\":1,\
  2712 +  \"infos\":{\
  2713 +       \"state\":\"OK\"\
  2714 +    },
  2715 +
  2716 +\"packetTag\":\"1\"\
  2717 +}
  2718 +
  2719 +#### 接收作答
  2720 +
  2721 +接收:
  2722 +
  2723 +fun: \"answerTestMode\" //异步测验模式返回
  2724 +
  2725 +baseId: \"1\"//接收到指令的基站ID
  2726 +
  2727 +infos: {}
  2728 +
  2729 +指令样例:
  2730 +
  2731 +{\
  2732 +    \"fun\":\"answerTestMode\",\
  2733 +    \"baseId\":1,\
  2734 +    \"infos\":{\
  2735 +        \"time\":\"5.42\",\
  2736 +        \"keySn\":\"1479824643\",
  2737 +
  2738 +  \"seq\":\"1\",\
  2739 +        \"keyValue\":\"A\"\
  2740 +    },
  2741 +
  2742 + \"packetTag\":\"1\"\
  2743 +}
  2744 +
  2745 +#### 停止作答
  2746 +
  2747 +发送:
  2748 +
  2749 +fun: \"stopTestMode\" //停止异步测验模式
  2750 +
  2751 +params:{} //默认空
  2752 +
  2753 +指令样例:
  2754 +
  2755 +{\
  2756 +    \"fun\":\"stopTestMode\",\
  2757 +    \"packetTag\":\"1\"\
  2758 +}
  2759 +
  2760 +接收:
  2761 +
  2762 +fun: \"stopTestMode\" //停止异步测验模式
  2763 +
  2764 +baseId: \"1\"//收到的基站ID
  2765 +
  2766 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  2767 +
  2768 +指令样例:
  2769 +
  2770 +{\
  2771 +    \"fun\":\"stopTestMode\",\
  2772 +    \"baseId\":1,\
  2773 +    \"infos\":{\
  2774 +          \"state\":\"OK\"\
  2775 +    },\
  2776 +    \"packetTag\":\"1\"\
  2777 +}
  2778 +
  2779 +#### 支持设备说明
  2780 +
  2781 + ----------------------- ----------------------- -----------------------
  2782 + 基站+键盘 支持/不支持 备注
  2783 +
  2784 + B100-2.4G+S6 支持
  2785 +
  2786 + B200-2.4G+S6 支持
  2787 +
  2788 + B200-5.8G+T2 不支持
  2789 + ----------------------- ----------------------- -----------------------
  2790 +
  2791 +### 自定义题型
  2792 +
  2793 +#### 开始测试
  2794 +
  2795 +发送:
  2796 +
  2797 +fun: \"startKeyPadCustomQuestions\" //开始
  2798 +
  2799 +params:{}
  2800 +
  2801 ++-----------------+------------+--------------------------------------+
  2802 +| Json字段 | | 赋值及含义 |
  2803 +| | 字段含义 | |
  2804 ++-----------------+------------+--------------------------------------+
  2805 +| titleTable | 题目表 | 数组 |
  2806 +| | | |
  2807 +| | | 字符串 |
  2808 ++-----------------+------------+--------------------------------------+
  2809 +| optionTable | 选项表 | 数组 |
  2810 +| | | |
  2811 +| | | \"A,B,C,D\" \[默认\] |
  2812 +| | | |
  2813 +| | | \" 1,2,3,4 \" |
  2814 +| | | |
  2815 +| | | \" 对,错 \" |
  2816 +| | | |
  2817 +| | | \" √,× \" |
  2818 +| | | |
  2819 +| | | \" 同意,反对,弃权 \" |
  2820 ++-----------------+------------+--------------------------------------+
  2821 +| ruleTable | 规则表 | 数组\[内容请参考"规则字段解释"\] |
  2822 ++-----------------+------------+--------------------------------------+
  2823 +| permissionTable | 许可权限表 | 数组 |
  2824 ++-----------------+------------+--------------------------------------+
  2825 +| .permission | 许可权限 | 0:无\[默认\] |
  2826 +| | | |
  2827 +| | | 1: 允许 |
  2828 +| | | |
  2829 +| | | 2: 禁止 |
  2830 ++-----------------+------------+--------------------------------------+
  2831 +| .KeySnList | 键盘列表 | 1479824 |
  2832 +| | | 643,1479824644,1479824645,1479824646 |
  2833 ++-----------------+------------+--------------------------------------+
  2834 +| configTable | 配置表 | 数组 |
  2835 ++-----------------+------------+--------------------------------------+
  2836 +| .number | 题编号 | 1-200 |
  2837 ++-----------------+------------+--------------------------------------+
  2838 +| .titleID | 题目表ID | 1-200 |
  2839 ++-----------------+------------+--------------------------------------+
  2840 +| .optionID | 选项表ID | 1-200 |
  2841 ++-----------------+------------+--------------------------------------+
  2842 +| .ruleID | 规则表ID | 1-200 |
  2843 ++-----------------+------------+--------------------------------------+
  2844 +| .permissionID | 许 | 1-200 |
  2845 +| | 可权限表ID | |
  2846 ++-----------------+------------+--------------------------------------+
  2847 +
  2848 +规则字段解释:
  2849 +
  2850 +规则类型1:
  2851 +
  2852 + ------------------ -------------------- ---------------------------------------
  2853 + Json字段 字段含义 赋值及含义
  2854 +
  2855 + .ruleType 规则类型 1
  2856 +
  2857 + .mode 模式 0 默认(单选选择)\
  2858 + 1 纯数字组合
  2859 + ,包含(上下键做负号与点号)\
  2860 + 2 填空自由组合,键盘自己实现输入方式\
  2861 + 3 多小题显示格式\
  2862 + 4 批次表决、批次评议\
  2863 + 5 批次评分\
  2864 + 6 名单选举\
  2865 + 7 累计投票、股权投票
  2866 +
  2867 + .modifyMode 修改模式 0-不可修改 1-可修改,默认 1
  2868 +
  2869 + .secrecyMode 保密模式 0-不保密 1-保密,默认 0
  2870 +
  2871 + .lessMode 迫选模式 0 不迫选 1 迫选,默认 0
  2872 +
  2873 + .repeat 重复模式 0 不限制 1 单个选项只能选一次,默认 0
  2874 +
  2875 + .sort 自动排序 0 保留输入顺序,1 选项自动排序,默认 1
  2876 +
  2877 + .max 最大可选人数
  2878 +
  2879 + .min 最小可选人数
  2880 +
  2881 + .maximum 最大可供选择项目数 1-10
  2882 +
  2883 + .maxOptions 可选出数目 最小值是1,最大值不超出maximum
  2884 +
  2885 + . topLimit 数字上限 浮点数格式的字符串
  2886 +
  2887 + . lowerLimit 数字下限 浮点数式的字符串
  2888 + ------------------ -------------------- ---------------------------------------
  2889 +
  2890 +规则类型2:
  2891 +
  2892 + ------------------ -------------- ---------------------------------------
  2893 + Json字段 字段含义 赋值及含义
  2894 +
  2895 + .ruleType 规则类型 2
  2896 +
  2897 + .mode 模式 0 默认(选择)
  2898 +
  2899 + .modifyMode 修改模式 0-不可修改 1-可修改,默认 1
  2900 +
  2901 + .secrecyMode 保密模式 0-不保密 1-保密,默认 0
  2902 +
  2903 + .lessMode 迫选模式 0 不迫选 1 迫选,默认 0
  2904 +
  2905 + . repeat 重复模式 0 不限制 1 单个选项只能选一次,默认 0
  2906 +
  2907 + . sort 自动排序 0 保留输入顺序,1 选项自动排序,默认 1
  2908 +
  2909 + .max 最大可选人数
  2910 +
  2911 + .min 最小可选人数
  2912 +
  2913 + .retain 保留数字 数组 范围000-999
  2914 +
  2915 + .range 数字范围 数组
  2916 +
  2917 + ..rangeStart 数字范围开始
  2918 +
  2919 + ..rangeEnd 数字范围结束
  2920 + ------------------ -------------- ---------------------------------------
  2921 +
  2922 +指令样例:
  2923 +
  2924 +{
  2925 +
  2926 +\"fun\": \"startKeyPadCustomQuestions\",
  2927 +
  2928 +\"baseId\": 0,
  2929 +
  2930 +\"params\": {
  2931 +
  2932 +\"titleTable\": \[\"单选题\", \"数字表决\"\],
  2933 +
  2934 +\"optionTable\": \[
  2935 +
  2936 +\[\"A\", \"B\", \"C\", \"D\"\],
  2937 +
  2938 +\[\"同意\", \"反对\", \"弃权\"\]
  2939 +
  2940 +\],
  2941 +
  2942 +\"ruleTable\": \[{
  2943 +
  2944 +\"ruleType\": \"1\",
  2945 +
  2946 +\"mode\": \"0\",
  2947 +
  2948 +\"modifyMode\": \"0\",
  2949 +
  2950 +\"secrecyMode\": \"0\",
  2951 +
  2952 +\"lessMode\": \"0\",
  2953 +
  2954 +\"repeat\": \"0\",
  2955 +
  2956 +\"sort\": \"1\",
  2957 +
  2958 +\"max\": \"4\",
  2959 +
  2960 +\"min\": \"1\",
  2961 +
  2962 +\"maximum\": \"4\",
  2963 +
  2964 +\"maxOptions\": \"1\",
  2965 +
  2966 +\"topLimit\": \"100.0\",
  2967 +
  2968 +\"lowerLimit\": \"0.1\"
  2969 +
  2970 +},
  2971 +
  2972 +{
  2973 +
  2974 +\"ruleType\": \"2\",
  2975 +
  2976 +\"mode\": \"0\",
  2977 +
  2978 +\"modifyMode\": \"0\",
  2979 +
  2980 +\"secrecyMode\": \"0\",
  2981 +
  2982 +\"lessMode\": \"0\",
  2983 +
  2984 +\"repeat\": \"0\",
  2985 +
  2986 +\"sort\": \"1\",
  2987 +
  2988 +\"max\": \"4\",
  2989 +
  2990 +\"min\": \"1\",
  2991 +
  2992 +\"retain\": \[\"777\", \"999\"\],
  2993 +
  2994 +\"range\": \[{
  2995 +
  2996 +\"rangeStart\": \"1\",
  2997 +
  2998 +\"rangeEnd\": \"100\"
  2999 +
  3000 +}, {
  3001 +
  3002 +\"rangeStart\": \"101\",
  3003 +
  3004 +\"rangeEnd\": \"200\"
  3005 +
  3006 +}, {
  3007 +
  3008 +\"rangeStart\": \"201\",
  3009 +
  3010 +\"rangeEnd\": \"300\"
  3011 +
  3012 +}\]
  3013 +
  3014 +}
  3015 +
  3016 +\],
  3017 +
  3018 +\"permissionTable\": \[{
  3019 +
  3020 +\"permission\": \"2\",
  3021 +
  3022 +\"keySnList\": \[\"1479824643\", \"1479824644\", \"1479824645\",
  3023 +\"1479824646\"\]
  3024 +
  3025 +},
  3026 +
  3027 +{
  3028 +
  3029 +\"permission\": \"1\",
  3030 +
  3031 +\"keySnList\": \[\"1479824643\", \"1479824644\", \"1479824645\",
  3032 +\"1479824646\"\]
  3033 +
  3034 +}
  3035 +
  3036 +\],
  3037 +
  3038 +\"configTable\": \[{
  3039 +
  3040 +\"number\": \"1\",
  3041 +
  3042 +\"titleID\": \"1\",
  3043 +
  3044 +\"optionID\": \"1\",
  3045 +
  3046 +\"ruleID\": \"1\",
  3047 +
  3048 +\"permissionID\": \"0\"
  3049 +
  3050 +},
  3051 +
  3052 +{
  3053 +
  3054 +\"number\": \"2\",
  3055 +
  3056 +\"titleID\": \"2\",
  3057 +
  3058 +\"optionID\": \"2\",
  3059 +
  3060 +\"ruleID\": \"2\",
  3061 +
  3062 +\"permissionID\": \"0\"
  3063 +
  3064 +}
  3065 +
  3066 +\]
  3067 +
  3068 +},
  3069 +
  3070 +\"packetTag\": \"59\"
  3071 +
  3072 +}
  3073 +
  3074 +接收:
  3075 +
  3076 +fun: \"startKeyPadMultipleQuestions\" //开始多题题型
  3077 +
  3078 +baseId: \"1\"//接收到指令的基站ID
  3079 +
  3080 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  3081 +
  3082 +指令样例:
  3083 +
  3084 +{
  3085 +
  3086 +\"baseId\": 1,
  3087 +
  3088 +\"fun\": \"startKeyPadMultipleQuestions\",
  3089 +
  3090 +\"infos\": {
  3091 +
  3092 +\"state\": \"OK\"
  3093 +
  3094 +},
  3095 +
  3096 +\"packetTag\": \"59\"
  3097 +
  3098 +}
  3099 +
  3100 +#### 接收作答
  3101 +
  3102 +接收:
  3103 +
  3104 +fun: \"answerKeyPadCustomQuestions\" //自定义题型返回
  3105 +
  3106 +baseId: \"1\"//接收到指令的基站ID
  3107 +
  3108 +infos: {}
  3109 +
  3110 + ----------------- --------------- --------------------------------------
  3111 + Json字段 字段含义 赋值及含义
  3112 +
  3113 + Time 答题时间 \[time/5=实际时间\]
  3114 + 单位秒,20分钟内有效
  3115 +
  3116 + keySn 键盘Sn
  3117 +
  3118 + Seq 题序号
  3119 +
  3120 + keyValue 键值 键盘提交的值
  3121 + ----------------- --------------- --------------------------------------
  3122 +
  3123 +指令样例:
  3124 +
  3125 +{\
  3126 +    \"fun\":\"answerKeyPadCustomQuestions\",\
  3127 +    \"baseId\":1,\
  3128 +    \"infos\":{\
  3129 +        \"time\":\"5.42\",\
  3130 +        \"keySn\":\"1479824643\",
  3131 +
  3132 +  \"seq\":\"1\",\
  3133 +        \"keyValue\":\"12\"\
  3134 +    },
  3135 +
  3136 + \"packetTag\":\"1\"\
  3137 +}
  3138 +
  3139 +#### 退出作答
  3140 +
  3141 +发送:
  3142 +
  3143 +fun: \"stopKeyPadCustomQuestions\" //停止多题题型
  3144 +
  3145 +params:{} //默认空
  3146 +
  3147 +指令样例:
  3148 +
  3149 +{\
  3150 +    \"fun\":\"stopKeyPadCustomQuestions\",
  3151 +
  3152 +\"baseId\":0,\
  3153 +    \"packetTag\":\"1\"\
  3154 +}
  3155 +
  3156 +接收:
  3157 +
  3158 +fun: \"stopKeyPadCustomQuestions\" //停止键盘测试
  3159 +
  3160 +baseId: \"1\"//收到的基站ID
  3161 +
  3162 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  3163 +
  3164 +指令样例:
  3165 +
  3166 +{\
  3167 +    \"fun\":\"stopKeyPadCustomQuestions\",\
  3168 +    \"baseId\":1,\
  3169 +    \"infos\":{\
  3170 +          \"state\":\"OK\"\
  3171 +    },\
  3172 +    \"packetTag\":\"1\"\
  3173 +}
  3174 +
  3175 +#### 支持设备说明
  3176 +
  3177 + ----------------------- ----------------------- -----------------------
  3178 + 基站+键盘 支持/不支持 备注
  3179 +
  3180 + B100-2.4G+S6 不支持
  3181 +
  3182 + B200-2.4G+S6 不支持
  3183 +
  3184 + B200-5.8G+T2 不支持
  3185 +
  3186 + B200-2.4G+M6 支持
  3187 + ----------------------- ----------------------- -----------------------
  3188 +
  3189 +### 自由题型
  3190 +
  3191 +#### 开始作答
  3192 +
  3193 +发送:
  3194 +
  3195 +fun: \"startFreeQuestion\" //开始自由题型
  3196 +
  3197 +params:{}
  3198 +
  3199 +指令样例:
  3200 +
  3201 +{\
  3202 +    \"fun\":\"startFreeQuestion\",
  3203 +
  3204 +\"baseId\":0,\
  3205 +    \"params\":{},
  3206 +
  3207 +\"packetTag\":\"1\"\
  3208 +}
  3209 +
  3210 +接收:
  3211 +
  3212 +fun: \"startChoices\" //开始自由题型
  3213 +
  3214 +baseId: \"1\"//接收到指令的基站ID
  3215 +
  3216 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  3217 +
  3218 +指令样例:
  3219 +
  3220 +{\
  3221 +    \"fun\":\"startFreeQuestion\",\
  3222 +    \"baseId\":1,\
  3223 +    \"infos\":{\
  3224 +        \"state\":\"OK\"\
  3225 +    },\
  3226 +    \"packetTag\":\"1\"\
  3227 +}
  3228 +
  3229 +#### 接收作答
  3230 +
  3231 +接收:
  3232 +
  3233 +接收作答数据有键盘提交决定分为:选择题、判断题和数字题三个类型
  3234 +
  3235 +选择题:
  3236 +
  3237 +fun: \"answerChoices\" //自由题型作答返回
  3238 +
  3239 +baseId: \"1\"//接收到指令的基站ID
  3240 +
  3241 +infos: {}
  3242 +
  3243 ++----------------+--------------+-------------------------------------+
  3244 +| Json字段 | 字段含义 | 赋值及含义 |
  3245 ++----------------+--------------+-------------------------------------+
  3246 +| time | 答题时间 | 单位秒 |
  3247 ++----------------+--------------+-------------------------------------+
  3248 +| keySn | 键盘Sn | |
  3249 ++----------------+--------------+-------------------------------------+
  3250 +| keyValue | 键值 | A |
  3251 +| | | |
  3252 +| | | ABC |
  3253 +| | | |
  3254 +| | | AABB |
  3255 +| | | |
  3256 +| | | CBA |
  3257 ++----------------+--------------+-------------------------------------+
  3258 +
  3259 +指令样例:
  3260 +
  3261 +{\
  3262 +    \"fun\":\"answerChoices\",\
  3263 +    \"baseId\":1,\
  3264 +    \"infos\":{\
  3265 +        \"keySn\":\"1479824643\",\
  3266 +        \"keyValue\":\"ABC\"\
  3267 +    },\
  3268 +    \"packetTag\":\"0\"\
  3269 +}
  3270 +
  3271 +判断题:
  3272 +
  3273 +fun: \"answerTrueFalse\" //自由题型作答返回
  3274 +
  3275 +baseId: \"1\"//接收到指令的基站ID
  3276 +
  3277 +infos: {}
  3278 +
  3279 + ----------------- --------------- --------------------------------------
  3280 + Json字段 字段含义 赋值及含义
  3281 +
  3282 + time 答题时间 单位秒
  3283 +
  3284 + keySn 键盘Sn
  3285 +
  3286 + keyValue 键值 1\~2
  3287 + ----------------- --------------- --------------------------------------
  3288 +
  3289 +指令样例:
  3290 +
  3291 +{\
  3292 +    \"fun\":\" answerTrueFalse\",\
  3293 +    \"baseId\":1,\
  3294 +    \"infos\":{\
  3295 +        \"keySn\":\"1479824643\",\
  3296 +        \"keyValue\":\"1\"\
  3297 +    },\
  3298 +    \"packetTag\":\"0\"\
  3299 +}
  3300 +
  3301 +数字题:
  3302 +
  3303 +fun: \"answerNumber\" //自由题型作答返回
  3304 +
  3305 +baseId: \"1\"//接收到指令的基站ID
  3306 +
  3307 +infos: {}
  3308 +
  3309 + ----------------- --------------- --------------------------------------
  3310 + Json字段 字段含义 赋值及含义
  3311 +
  3312 + time 答题时间 单位秒
  3313 +
  3314 + keySn 键盘Sn
  3315 +
  3316 + keyValue 键值 键盘提交的值
  3317 + ----------------- --------------- --------------------------------------
  3318 +
  3319 +指令样例:
  3320 +
  3321 +{\
  3322 +    \"fun\":\"answerNumber\",\
  3323 +    \"baseId\":1,\
  3324 +    \"infos\":{\
  3325 +        \"keySn\":\"1479824643\",\
  3326 +        \"keyValue\":\"99.99\"\
  3327 +    },\
  3328 +    \"packetTag\":\"0\"\
  3329 +}
  3330 +
  3331 +#### 停止作答
  3332 +
  3333 +发送:
  3334 +
  3335 +fun: \"stopFreeQuestion\" //停止自由题型
  3336 +
  3337 +params:{} //默认空
  3338 +
  3339 +指令样例:
  3340 +
  3341 +{\
  3342 +    \"fun\":\"stopFreeQuestion\",
  3343 +
  3344 +\"baseId\":0,\
  3345 +    \"packetTag\":\"1\"\
  3346 +}
  3347 +
  3348 +接收:
  3349 +
  3350 +fun: \"stopFreeQuestion\" //停止自由题型
  3351 +
  3352 +baseId: \"1\"//收到的基站ID
  3353 +
  3354 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  3355 +
  3356 +指令样例:
  3357 +
  3358 +{\
  3359 +    \"fun\":\" stopFreeQuestion \",\
  3360 +    \"baseId\":1,\
  3361 +    \"infos\":{\
  3362 +          \"state\":\"OK\"\
  3363 +    },\
  3364 +    \"packetTag\":\"1\"\
  3365 +}
  3366 +
  3367 +#### 支持设备说明
  3368 +
  3369 + ----------------------- ----------------------- -----------------------
  3370 + 基站+键盘 支持/不支持 备注
  3371 +
  3372 + B100-2.4G+S6 不支持
  3373 +
  3374 + B200-2.4G+S6 支持
  3375 +
  3376 + B200-5.8G+T2 不支持
  3377 + ----------------------- ----------------------- -----------------------
  3378 +
  3379 +## NFC刷卡
  3380 +
  3381 +刷卡流程:
  3382 +
  3383 +刷卡后可以将键盘和基站自动完成配对。当需要刷卡绑定时应用软件先给基站发送一个键盘的姓名,键盘靠近基站感应区就会直接绑定当前数据并返回状态给应用。绑定成功后应用再发送下一个键盘的绑定信息,依次循环来绑定多个。
  3384 +
  3385 +### 写刷卡数据
  3386 +
  3387 +发送:
  3388 +
  3389 +fun: \"writeNFCInfo\" //写NFC绑定数据
  3390 +
  3391 +baseId: 1//1\~32 (键盘所连基站ID)
  3392 +
  3393 +params:{}//
  3394 +
  3395 + ----------------- --------------- --------------------------------------
  3396 + Json字段 字段含义 赋值及含义
  3397 +
  3398 + userName 姓名 最多24个汉字(48个字符),
  3399 + 键盘左上角显示
  3400 +
  3401 + matchCode 配对码 四字节 十六进制显示
  3402 + ----------------- --------------- --------------------------------------
  3403 +
  3404 +指令样例:
  3405 +
  3406 +{\
  3407 +    \"fun\":\"writeNFCInfo\",
  3408 +
  3409 + \"baseId\":1,\
  3410 +    \"params\":{\
  3411 +        \"userName\":\"张三\",
  3412 +
  3413 +\"matchCode\":\"22120007\"
  3414 +
  3415 +},\
  3416 +    \"packetTag\":\"1\"\
  3417 +}
  3418 +
  3419 +### 刷卡绑定反馈
  3420 +
  3421 +接收:
  3422 +
  3423 +fun: \"NFCInfo\" //NFC绑定数据
  3424 +
  3425 +baseId: \"1\"//键盘所连基站ID
  3426 +
  3427 +infos:{}
  3428 +
  3429 ++----------------+--------------+-------------------------------------+
  3430 +| Json字段 | 字段含义 | 赋值及含义 |
  3431 ++----------------+--------------+-------------------------------------+
  3432 +| keySn | 键盘Sn | |
  3433 ++----------------+--------------+-------------------------------------+
  3434 +| state | 状态 | 1 预留 |
  3435 +| | | |
  3436 +| | | 2 基站报告正常刷卡的键盘SN |
  3437 +| | | |
  3438 +| | | 3 预留 |
  3439 +| | | |
  3440 +| | | 4 刷卡写指定配对码消息 |
  3441 ++----------------+--------------+-------------------------------------+
  3442 +| number | 数量 | 预留 |
  3443 ++----------------+--------------+-------------------------------------+
  3444 +
  3445 +指令样例:
  3446 +
  3447 +{\
  3448 +    \"fun\":\"NFCInfo\",\
  3449 +    \"baseId\":1,\
  3450 +    \"infos\": {\
  3451 +            \"keySn\":\"1479824643\",\
  3452 +            \"state\":\"4\",
  3453 +
  3454 +            \"number\":\"0\"\
  3455 +        } ,\
  3456 +    \"packetTag\":\"1\"\
  3457 +}
  3458 +
  3459 +### NFC数据清除指令
  3460 +
  3461 +发送:
  3462 +
  3463 +fun: \"writeNFCEmpty\" //写NFC绑定数据
  3464 +
  3465 +baseId: 1//1\~32 (键盘所连基站ID)
  3466 +
  3467 +params:{}//
  3468 +
  3469 +指令样例:
  3470 +
  3471 +{\
  3472 +    \"fun\":\"writeNFCEmpty\",
  3473 +
  3474 +  \"baseId\":1,\
  3475 +    \"params\":{},\
  3476 +    \"packetTag\":\"1\"\
  3477 +}
  3478 +
  3479 +### 支持设备说明
  3480 +
  3481 + ----------------------- ----------------------- -----------------------
  3482 + 基站+键盘 支持/不支持 备注
  3483 +
  3484 + B100-2.4G+S6 不支持
  3485 +
  3486 + B200-2.4G+S6 支持 带NFC键盘有效
  3487 +
  3488 + B200-5.8G+T2 不支持
  3489 + ----------------------- ----------------------- -----------------------
  3490 +
  3491 +## 硬件参数
  3492 +
  3493 +硬件的读写操作返回数据都是相同的,具体值参见写指令的value
  3494 +
  3495 +### 基站
  3496 +
  3497 +#### 基站编号
  3498 +
  3499 +读
  3500 +
  3501 +发送:
  3502 +
  3503 +fun: \"readBaseStationID\" //读基站编号
  3504 +
  3505 +baseId: 0//0\~32 (指令不发送baseID,默认为0表示读取所有在线基站)
  3506 +
  3507 +params:{}//可不填
  3508 +
  3509 +指令样例:
  3510 +
  3511 +{\
  3512 +    \"fun\":\"readBaseStationID\",\
  3513 +    \"baseId\":0,\
  3514 +    \"packetTag\":\"1\"\
  3515 +}
  3516 +
  3517 +返回
  3518 +
  3519 +接收:
  3520 +
  3521 +fun: \"baseStationID\"
  3522 +
  3523 +baseId: \"2\"//基站ID
  3524 +
  3525 +infos:{\"value\":\"OK\"}//返回基站在线
  3526 +
  3527 +指令样例1:
  3528 +
  3529 +{
  3530 +
  3531 +\"baseId\": 1,
  3532 +
  3533 +\"fun\": \"connectBase\",
  3534 +
  3535 +\"infos\": {
  3536 +
  3537 +\"value\": \"OK\"
  3538 +
  3539 +},
  3540 +
  3541 +\"packetTag\": \"1\"
  3542 +
  3543 +}
  3544 +
  3545 +指令样例2:
  3546 +
  3547 +{
  3548 +
  3549 +\"baseId\": 2,
  3550 +
  3551 +\"fun\": \"connectBase\",
  3552 +
  3553 +\"infos\": {
  3554 +
  3555 +\"value\": \"OK\"
  3556 +
  3557 +},
  3558 +
  3559 +\"packetTag\": \"1\"
  3560 +
  3561 +}
  3562 +
  3563 +指令样例:
  3564 +
  3565 +{\
  3566 +    \"fun\":\"readBaseStationID\",\
  3567 +    \"baseId\":2,\
  3568 +    \"packetTag\":\"1\"\
  3569 +}
  3570 +
  3571 +返回
  3572 +
  3573 +接收:
  3574 +
  3575 +fun: \"baseStationID\"
  3576 +
  3577 +baseId: \"2\"//基站ID
  3578 +
  3579 +infos:{\"value\":\"2\"}//返回基站ID
  3580 +
  3581 +指令样例:
  3582 +
  3583 +{\
  3584 +    \"fun\":\"baseStationID\",\
  3585 +    \"baseId\":2,\
  3586 +     \"infos\":{
  3587 +
  3588 +\"pathAdd\":\"12345\",\
  3589 +        \"value\":\"2\"\
  3590 +    },
  3591 +
  3592 + \"packetTag\":\"1\"}\
  3593 +}
  3594 +
  3595 +支持设备说明
  3596 +
  3597 + ----------------------- ----------------------- -----------------------
  3598 + 基站+键盘 支持/不支持 备注
  3599 +
  3600 + B100-2.4G+S6 支持
  3601 +
  3602 + B200-2.4G+S6 支持
  3603 +
  3604 + B200-5.8G+T2 支持
  3605 + ----------------------- ----------------------- -----------------------
  3606 +
  3607 +#### 基站频点
  3608 +
  3609 +读
  3610 +
  3611 +发送:
  3612 +
  3613 +fun: \"readBaseStationChannel\" //读基站频点
  3614 +
  3615 +baseId: 0//0\~32 (默认为0表示读取所有基站)
  3616 +
  3617 +params:{}//可不填
  3618 +
  3619 +指令样例:
  3620 +
  3621 +{\
  3622 +    \"fun\":\"readBaseStationChannel\",\
  3623 +    \"baseId\":0,\
  3624 +    \"packetTag\":\"1\"\
  3625 +}
  3626 +
  3627 +写
  3628 +
  3629 +发送:
  3630 +
  3631 +fun: \"writeBaseStationChannel\" //写基站频点
  3632 +
  3633 +baseId: 1//1\~32 (必须指定基站)
  3634 +
  3635 +params:{\"value\":\"1\"}//1\~12 (频点)
  3636 +
  3637 +指令样例:
  3638 +
  3639 +{\
  3640 +    \"fun\":\"writeBaseStationChannel\",\
  3641 +    \"baseId\":1,\
  3642 +    \"params\":{\
  3643 +        \"value\":\"3\"\
  3644 +    },
  3645 +
  3646 + \"packetTag\":\"1\"\
  3647 +}
  3648 +
  3649 +返回
  3650 +
  3651 +接收:
  3652 +
  3653 +fun: \"baseStationChannel\"
  3654 +
  3655 +baseId: 1//基站ID
  3656 +
  3657 +infos:{\"value\":\"3\"}//返回基站频点值
  3658 +
  3659 +指令样例:
  3660 +
  3661 +{\
  3662 +    \"fun\":\"baseStationChannel\",\
  3663 +    \"baseId\":1,\
  3664 +     \"infos\":{\
  3665 +        \"value\":\"3\"\
  3666 +    },
  3667 +
  3668 + \"packetTag\":\"1\"\
  3669 +}
  3670 +
  3671 +支持设备说明
  3672 +
  3673 + ----------------------- ----------------------- -----------------------
  3674 + 基站+键盘 支持/不支持 备注
  3675 +
  3676 + B100-2.4G+S6 支持
  3677 +
  3678 + B200-2.4G+S6 支持
  3679 +
  3680 + B200-5.8G+T2 支持
  3681 + ----------------------- ----------------------- -----------------------
  3682 +
  3683 +#### 键盘登录菜单显示
  3684 +
  3685 +读
  3686 +
  3687 +发送:
  3688 +
  3689 +fun: \"readKeyboardLoginMenu\" //读键盘登录菜单显示
  3690 +
  3691 +baseId: 0//0\~32 (默认为0表示读取所有基站)
  3692 +
  3693 +params:{}//可不填
  3694 +
  3695 +指令样例:
  3696 +
  3697 +{\
  3698 +    \"fun\":\"readKeyboardLoginMenu\",\
  3699 +    \"baseId\":0,\
  3700 +    \"packetTag\":\"1\"\
  3701 +}
  3702 +
  3703 +写
  3704 +
  3705 +发送:
  3706 +
  3707 +fun: \"writeKeyboardLoginMenu\" //写键盘登录菜单显示
  3708 +
  3709 +baseId: 1 //1\~32 (必须指定基站)
  3710 +
  3711 +params:{\"value\":\"1\"}//0\~1 (0不允许登录;1允许登录)
  3712 +
  3713 +指令样例:
  3714 +
  3715 +{\
  3716 +    \"fun\":\"writeKeyboardLoginMenu\",\
  3717 +    \"baseId\":1,\
  3718 +    \"params\":{\
  3719 +        \"value\":\"1\"\
  3720 +    },
  3721 +
  3722 + \"packetTag\":\"1\"\
  3723 +}
  3724 +
  3725 +返回
  3726 +
  3727 +接收:
  3728 +
  3729 +fun: \"baseStationKeyboardLoginMenu\"
  3730 +
  3731 +baseId: 1//基站ID
  3732 +
  3733 +infos:{\"value\":\"1\"}//返回键盘登录菜单显示值
  3734 +
  3735 +指令样例:
  3736 +
  3737 +{\
  3738 +    \"fun\":\"baseStationKeyboardLoginMenu\",\
  3739 +    \"baseId\":1,\
  3740 +     \"infos\":{\
  3741 +        \"value\":\"1\"\
  3742 +    },
  3743 +
  3744 + \"packetTag\":\"1\"\
  3745 +}
  3746 +
  3747 +支持设备说明
  3748 +
  3749 + ----------------------- ----------------------- -----------------------
  3750 + 基站+键盘 支持/不支持 备注
  3751 +
  3752 + B100-2.4G+S6 支持
  3753 +
  3754 + B200-2.4G+S6 支持
  3755 +
  3756 + B200-5.8G+T2 不支持
  3757 + ----------------------- ----------------------- -----------------------
  3758 +
  3759 +#### 基站型号(只读)
  3760 +
  3761 +读
  3762 +
  3763 +发送:
  3764 +
  3765 +fun: \"readBaseStationModel\" //读基站基站型号
  3766 +
  3767 +baseId: 0//0\~32 (默认为0表示读取所有基站)
  3768 +
  3769 +params:{}//可不填
  3770 +
  3771 +指令样例:
  3772 +
  3773 +{\
  3774 +    \"fun\":\"readBaseStationModel\",\
  3775 +    \"baseId\":0,\
  3776 +    \"packetTag\":\"1\"\
  3777 +}
  3778 +
  3779 +返回
  3780 +
  3781 +接收:
  3782 +
  3783 +fun: \"baseStationModel\"
  3784 +
  3785 +baseId: 1//基站ID
  3786 +
  3787 +infos:{\"value\":\"218\"}//返回基站基站型号
  3788 +
  3789 +指令样例:
  3790 +
  3791 +{\
  3792 +    \"fun\":\"baseStationModel\",\
  3793 +    \"baseId\":1,\
  3794 +     \"infos\":{\
  3795 +        \"value\":\"218\"\
  3796 +    },
  3797 +
  3798 + \"packetTag\":\"1\"\
  3799 +}
  3800 +
  3801 +基站型号代码查询表
  3802 +
  3803 + ----------------------------------- -----------------------------------
  3804 + 基站型号代码 基站型号
  3805 +
  3806 + 217 B100-2.4G
  3807 +
  3808 + 218 B200-2.4G
  3809 +
  3810 + 219 B200-5.8G
  3811 + ----------------------------------- -----------------------------------
  3812 +
  3813 +支持设备说明
  3814 +
  3815 + ----------------------- ----------------------- -----------------------
  3816 + 基站+键盘 支持/不支持 备注
  3817 +
  3818 + B100-2.4G+S6 支持
  3819 +
  3820 + B200-2.4G+S6 支持
  3821 +
  3822 + B200-5.8G+T2 支持
  3823 + ----------------------- ----------------------- -----------------------
  3824 +
  3825 +#### 基站软件版本(只读)
  3826 +
  3827 +读
  3828 +
  3829 +发送:
  3830 +
  3831 +fun: \"readBaseStationSVersion\" //读基站软件版本
  3832 +
  3833 +baseId: 0 //0\~32 (默认为0表示读取所有基站)
  3834 +
  3835 +params:{}//可不填
  3836 +
  3837 +指令样例:
  3838 +
  3839 +{\
  3840 +    \"fun\":\"readBaseStationSVersion\",\
  3841 +    \"baseId\":0,\
  3842 +    \"packetTag\":\"1\"\
  3843 +}
  3844 +
  3845 +返回
  3846 +
  3847 +接收:
  3848 +
  3849 +fun: \"baseStationSVersion\"
  3850 +
  3851 +baseId: 1//基站ID
  3852 +
  3853 +infos:{\"value\":\"V2.0.2\"}//返回基站软件版本
  3854 +
  3855 +指令样例:
  3856 +
  3857 +{\
  3858 +    \"fun\":\"baseStationSVersion\",\
  3859 +    \"baseId\":1,\
  3860 +     \"infos\":{\
  3861 +        \"value\":\"V2.0.2\"\
  3862 +    },
  3863 +
  3864 + \"packetTag\":\"1\"\
  3865 +}
  3866 +
  3867 +支持设备说明
  3868 +
  3869 + ----------------------- ----------------------- -----------------------
  3870 + 基站+键盘 支持/不支持 备注
  3871 +
  3872 + B100-2.4G+S6 支持
  3873 +
  3874 + B200-2.4G+S6 支持
  3875 +
  3876 + B200-5.8G+T2 支持
  3877 + ----------------------- ----------------------- -----------------------
  3878 +
  3879 +#### 基站序列号(只读)
  3880 +
  3881 +读
  3882 +
  3883 +发送:
  3884 +
  3885 +fun: \"readBaseStationSN\" //读基站序列号
  3886 +
  3887 +baseId: 0 //0\~32 (默认为0表示读取所有基站)
  3888 +
  3889 +params:{}//可不填
  3890 +
  3891 +指令样例:
  3892 +
  3893 +{\
  3894 +    \"fun\":\"readBaseStationSN\",\
  3895 +    \"baseId\":0,\
  3896 +    \"packetTag\":\"1\"\
  3897 +}
  3898 +
  3899 +返回
  3900 +
  3901 +接收:
  3902 +
  3903 +fun: \"baseStationSN\"
  3904 +
  3905 +baseId: 1//基站ID
  3906 +
  3907 +infos:{\"value\":\"FFFFFFFFFF\"}//返回基站序列号
  3908 +
  3909 +指令样例:
  3910 +
  3911 +{\
  3912 +    \"fun\":\"baseStationSN\",\
  3913 +    \"baseId\":1,\
  3914 +     \"infos\":{\
  3915 +        \"value\":\"FFFFFFFFFF\"\
  3916 +    },
  3917 +
  3918 + \"packetTag\":\"1\"\
  3919 +}
  3920 +
  3921 +支持设备说明
  3922 +
  3923 + ----------------------- ----------------------- -----------------------
  3924 + 基站+键盘 支持/不支持 备注
  3925 +
  3926 + B100-2.4G+S6 支持
  3927 +
  3928 + B200-2.4G+S6 支持
  3929 +
  3930 + B200-5.8G+T2 支持
  3931 + ----------------------- ----------------------- -----------------------
  3932 +
  3933 +#### 基站名称
  3934 +
  3935 +读
  3936 +
  3937 +发送:
  3938 +
  3939 +fun: \"readBaseStationTitle\" //读基站名称
  3940 +
  3941 +baseId: 0 //0\~32 (默认为0表示读取所有基站)
  3942 +
  3943 +params:{}//可不填
  3944 +
  3945 +指令样例:
  3946 +
  3947 +{\
  3948 +    \"fun\":\"readBaseStationTitle\",\
  3949 +    \"baseId\":0,
  3950 +
  3951 + \"packetTag\":\"1\"\
  3952 +}
  3953 +
  3954 +写
  3955 +
  3956 +发送:
  3957 +
  3958 +fun: \"writeBaseStationTitle\" //写基站名称
  3959 +
  3960 +baseId: 1//1\~32(必须指定基站)
  3961 +
  3962 +params:{\"value\":\" A2021\"}//基站名称,最长12字节
  3963 +
  3964 +指令样例:
  3965 +
  3966 +{\
  3967 +    \"fun\":\"writeBaseStationTitle\",\
  3968 +    \"baseId\":1,\
  3969 +    \"params\":{\
  3970 +        \"value\":\"A2021\"\
  3971 +    },
  3972 +
  3973 + \"packetTag\":\"1\"\
  3974 +}
  3975 +
  3976 +返回
  3977 +
  3978 +接收:
  3979 +
  3980 +fun: \"baseStationTitle\"
  3981 +
  3982 +baseId: 1//基站ID
  3983 +
  3984 +infos:{\"value\":\"A2021\"}//返回基站名称
  3985 +
  3986 +指令样例:
  3987 +
  3988 +{\
  3989 +    \"fun\":\"baseStationTitle\",\
  3990 +    \"baseId\":1,\
  3991 +     \"infos\":{\
  3992 +        \"value\":\"A2021\"\
  3993 +    },
  3994 +
  3995 + \"packetTag\":\"1\"}\
  3996 +}
  3997 +
  3998 +支持设备说明
  3999 +
  4000 + ----------------------- ----------------------- -----------------------
  4001 + 基站+键盘 支持/不支持 备注
  4002 +
  4003 + B100-2.4G+S6 支持
  4004 +
  4005 + B200-2.4G+S6 支持
  4006 +
  4007 + B200-5.8G+T2 支持
  4008 + ----------------------- ----------------------- -----------------------
  4009 +
  4010 +#### 基站配对码
  4011 +
  4012 +读
  4013 +
  4014 +发送:
  4015 +
  4016 +fun: \"readBaseStationMatchCode\" //读基站配对码
  4017 +
  4018 +baseId: 0 //0\~32 (默认为0表示读取所有基站)
  4019 +
  4020 +params:{}//可不填
  4021 +
  4022 +指令样例:
  4023 +
  4024 +{\
  4025 +    \"fun\":\"readBaseStationMatchCode\",\
  4026 +    \"baseId\":0,\
  4027 +    \"packetTag\":\"1\"\
  4028 +}
  4029 +
  4030 +返回
  4031 +
  4032 +接收:
  4033 +
  4034 +fun: \"baseStationMatchCode\"
  4035 +
  4036 +baseId: 1//基站ID
  4037 +
  4038 +infos:{\"value\":\"21072333\"}//返回基站配对码
  4039 +
  4040 +指令样例:
  4041 +
  4042 +{\
  4043 +    \"fun\":\"baseStationMatchCode,\
  4044 +    \"baseId\":1,\
  4045 +     \"infos\":{\
  4046 +        \"value\":\"21072333\"\
  4047 +    },
  4048 +
  4049 + \"packetTag\":\"1\"\
  4050 +}
  4051 +
  4052 +支持设备说明
  4053 +
  4054 + ----------------------- ----------------------- -----------------------
  4055 + 基站+键盘 支持/不支持 备注
  4056 +
  4057 + B100-2.4G+S6 支持
  4058 +
  4059 + B200-2.4G+S6 支持
  4060 +
  4061 + B200-5.8G+T2 支持
  4062 + ----------------------- ----------------------- -----------------------
  4063 +
  4064 +#### 基站频点冲突
  4065 +
  4066 +检测到基站频点冲突将会返回给应用程序提示,应用程序可根据情况更改频点。
  4067 +
  4068 +接收:
  4069 +
  4070 +fun: \"baseStationChannelInterference\" // 基站频点冲突
  4071 +
  4072 +baseId: //
  4073 +
  4074 +infos:{ \"value\":\"5\"}//频点5冲突
  4075 +
  4076 +packetTag:\"0\"//数据包标签
  4077 +
  4078 +指令样例:
  4079 +
  4080 +{\
  4081 +    \"fun\":\"baseStationChannelInterference\",\
  4082 +    \"baseId\":1,\
  4083 +     \"infos\":{\
  4084 +        \"value\":\"5\"\
  4085 +    },
  4086 +
  4087 + \"packetTag\":\"0\"\
  4088 +}
  4089 +
  4090 +支持设备说明
  4091 +
  4092 + ----------------------- ----------------------- -----------------------
  4093 + 基站+键盘 支持/不支持 备注
  4094 +
  4095 + B100-2.4G+S6 支持
  4096 +
  4097 + B200-2.4G+S6 支持
  4098 +
  4099 + B200-5.8G+T2 支持
  4100 + ----------------------- ----------------------- -----------------------
  4101 +
  4102 +#### 基站容量
  4103 +
  4104 +读
  4105 +
  4106 +发送:
  4107 +
  4108 +fun: \"readBaseStationCapacity\" //读基站容量
  4109 +
  4110 +baseId: 0 //0\~32 (默认为0表示读取所有基站)
  4111 +
  4112 +params:{}//可不填
  4113 +
  4114 +指令样例:
  4115 +
  4116 +{\
  4117 +    \"fun\":\"readBaseStationCapacity\",\
  4118 +    \"baseId\":0,\
  4119 +    \"packetTag\":\"1\"\
  4120 +}
  4121 +
  4122 +返回
  4123 +
  4124 +接收:
  4125 +
  4126 +fun: \"baseStationCapacity\"
  4127 +
  4128 +baseId: \"1\"//基站ID
  4129 +
  4130 +infos:{\"keypadNumber\":\"60\",\"lock\":\"1\"}//返回基站键盘容量值
  4131 +
  4132 +指令样例:
  4133 +
  4134 +{\
  4135 +    \"fun\":\"baseStationID\",\
  4136 +    \"baseId\":2,\
  4137 +     \"infos\":{\
  4138 +        \"keypadNumber\":\"60\",
  4139 +
  4140 +        \"lock\":\"1\"\
  4141 +    },
  4142 +
  4143 + \"packetTag\":\"1\"}\
  4144 +}
  4145 +
  4146 +支持设备说明
  4147 +
  4148 + ----------------------- ----------------------- -----------------------
  4149 + 基站+键盘 支持/不支持 备注
  4150 +
  4151 + B100-2.4G+S6 不支持
  4152 +
  4153 + B200-2.4G+S6 不支持
  4154 +
  4155 + B200-5.8G+T2 支持
  4156 + ----------------------- ----------------------- -----------------------
  4157 +
  4158 +#### 快速配对
  4159 +
  4160 +##### 开始快速配对
  4161 +
  4162 +发送:
  4163 +
  4164 +fun: \"startQuickMatch\" //开始快速配对
  4165 +
  4166 +baseId:1 // 1\~32 (必选参数,范围(1\~32))
  4167 +
  4168 +params:{}
  4169 +
  4170 +指令样例:
  4171 +
  4172 +{\
  4173 +    \"fun\":\"startQuickMatch\",
  4174 +
  4175 +> \"baseId\":1,\
  4176 +> \"packetTag\":\"1\"
  4177 +>
  4178 +> }
  4179 +
  4180 +接收:
  4181 +
  4182 +fun: \"startQuickMatch\" //开始快速配对
  4183 +
  4184 +baseId: \"1\"//接收到指令的基站ID
  4185 +
  4186 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  4187 +
  4188 +指令样例:
  4189 +
  4190 +{\
  4191 +    \"fun\":\"startQuickMatch\",\
  4192 +    \"baseId\":1,\
  4193 +    \"infos\":{\
  4194 +        \"state\":\"OK\"\
  4195 +    },\
  4196 +    \"packetTag\":\"1\"\
  4197 +}
  4198 +
  4199 +##### 停止快速配对
  4200 +
  4201 +发送:
  4202 +
  4203 +fun: \"stopQuickMatch\" //停止快速配对
  4204 +
  4205 +params:{} //默认空
  4206 +
  4207 +指令样例:
  4208 +
  4209 +{\
  4210 +    \"fun\":\"stopQuickMatch\",
  4211 +
  4212 +  \"baseId\":1,\
  4213 +    \"packetTag\":\"1\"\
  4214 +}
  4215 +
  4216 +接收:
  4217 +
  4218 +fun: \"stopQuickMatch\" //停止快速配对
  4219 +
  4220 +baseId: \"1\"//收到的基站ID
  4221 +
  4222 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  4223 +
  4224 +指令样例:
  4225 +
  4226 +{\
  4227 +    \"fun\":\"stopQuickMatch\",\
  4228 +    \"baseId\":1,\
  4229 +    \"infos\":{\
  4230 +          \"state\":\"OK\"\
  4231 +    },\
  4232 +    \"packetTag\":\"1\"\
  4233 +}
  4234 +
  4235 +##### 支持设备说明
  4236 +
  4237 + ----------------------- ------------------ ----------------------------
  4238 + 基站+键盘 支持/不支持 备注
  4239 +
  4240 + B100-2.4G+S6 支持 键盘需要设置为配对模式
  4241 +
  4242 + B200-2.4G+S6 支持 键盘需要设置为配对模式
  4243 +
  4244 + B200-5.8G+T2 不支持
  4245 + ----------------------- ------------------ ----------------------------
  4246 +
  4247 +#### 键盘登录密码
  4248 +
  4249 +读
  4250 +
  4251 +发送:
  4252 +
  4253 +fun: \"readKeyboardLoginPW\" //读键盘登录密码
  4254 +
  4255 +baseId: 0// 0\~32 (指令不发送baseID,默认为0表示读取所有基站)
  4256 +
  4257 +params:{}//可不填
  4258 +
  4259 +指令样例:
  4260 +
  4261 +{\
  4262 +    \"fun\":\"readKeyboardLoginPW\",\
  4263 +    \"baseId\":0,\
  4264 +    \"packetTag\":\"1\"\
  4265 +}
  4266 +
  4267 +写
  4268 +
  4269 +发送:
  4270 +
  4271 +fun: \"writeKeyboardLoginPW\" //写键盘登录密码
  4272 +
  4273 +baseId: 1 //1\~32 (必须指定基站)
  4274 +
  4275 +params:{\"value\":\"0\"}//0\~9999 (0不用核对)
  4276 +
  4277 +指令样例:
  4278 +
  4279 +{\
  4280 +    \"fun\":\"writeKeyboardLoginPW\",\
  4281 +    \"baseId\":1,\
  4282 +    \"params\":{\
  4283 +        \"value\":\"0\"\
  4284 +    },
  4285 +
  4286 + \"packetTag\":\"1\"\
  4287 +}
  4288 +
  4289 +返回
  4290 +
  4291 +接收:
  4292 +
  4293 +fun: \"baseStationKeyboardLoginPW\"
  4294 +
  4295 +baseId: 1//基站ID
  4296 +
  4297 +infos:{\"value\":\"1\"}//返回键盘登录密码值
  4298 +
  4299 +指令样例:
  4300 +
  4301 +{\
  4302 +    \"fun\":\"baseStationKeyboardLoginPW\",\
  4303 +    \"baseId\":1,\
  4304 +     \"infos\":{\
  4305 +        \"value\":\"0\"\
  4306 +    },
  4307 +
  4308 + \"packetTag\":\"1\"\
  4309 +}
  4310 +
  4311 +支持设备说明
  4312 +
  4313 + ----------------------- ----------------------- -----------------------
  4314 + 基站+键盘 支持/不支持 备注
  4315 +
  4316 + B100-2.4G+S6 支持
  4317 +
  4318 + B200-2.4G+S6 支持
  4319 +
  4320 + B200-5.8G+T2 不支持
  4321 + ----------------------- ----------------------- -----------------------
  4322 +
  4323 +#### 基站名称隐藏
  4324 +
  4325 +读
  4326 +
  4327 +发送:
  4328 +
  4329 +fun: \"readBaseStationNameHidden\" //读基站名称隐藏
  4330 +
  4331 +baseId: 0// 0\~32 (指令不发送baseID,默认为0表示读取所有基站)
  4332 +
  4333 +params:{}//可不填
  4334 +
  4335 +指令样例:
  4336 +
  4337 +{\
  4338 +    \"fun\":\"readBaseStationNameHidden\",\
  4339 +    \"baseId\":0,\
  4340 +    \"packetTag\":\"1\"\
  4341 +}
  4342 +
  4343 +写
  4344 +
  4345 +发送:
  4346 +
  4347 +fun: \"writeBaseStationNameHidden\" //写基站名称隐藏
  4348 +
  4349 +baseId: 1 //1\~32 (必须指定基站)
  4350 +
  4351 +params:{\"value\":\"0\"}//0\~1 (0隐藏,1不隐藏)
  4352 +
  4353 +指令样例:
  4354 +
  4355 +{\
  4356 +    \"fun\":\"writeBaseStationNameHidden\",\
  4357 +    \"baseId\":1,\
  4358 +    \"params\":{\
  4359 +        \"value\":\"0\"\
  4360 +    },
  4361 +
  4362 + \"packetTag\":\"1\"\
  4363 +}
  4364 +
  4365 +返回
  4366 +
  4367 +接收:
  4368 +
  4369 +fun: \"baseStationNameHidden\"
  4370 +
  4371 +baseId: 1//基站ID
  4372 +
  4373 +infos:{\"value\":\"1\"}//返回基站名称隐藏值 (0隐藏,1不隐藏)
  4374 +
  4375 +指令样例:
  4376 +
  4377 +{\
  4378 +    \"fun\":\"baseStationNameHidden\",\
  4379 +    \"baseId\":1,\
  4380 +     \"infos\":{\
  4381 +        \"value\":\"0\"\
  4382 +    },
  4383 +
  4384 + \"packetTag\":\"1\"\
  4385 +}
  4386 +
  4387 +支持设备说明
  4388 +
  4389 + ----------------------- ----------------------- -----------------------
  4390 + 基站+键盘 支持/不支持 备注
  4391 +
  4392 + B100-2.4G+S6 支持
  4393 +
  4394 + B200-2.4G+S6 支持
  4395 +
  4396 + B200-5.8G+T2 不支持
  4397 + ----------------------- ----------------------- -----------------------
  4398 +
  4399 +#### 基站TCP/IP参数
  4400 +
  4401 +读
  4402 +
  4403 +发送:
  4404 +
  4405 +fun: \"readBaseStationTcpIp\" //读基站TCP/IP参数
  4406 +
  4407 +baseId: 0// 0\~32 (指令不发送baseID,默认为0表示读取所有基站)
  4408 +
  4409 +params:{}//可不填
  4410 +
  4411 +指令样例:
  4412 +
  4413 +{\
  4414 +    \"fun\":\"readBaseStationTcpIp\",\
  4415 +    \"baseId\":0,\
  4416 +    \"packetTag\":\"1\"\
  4417 +}
  4418 +
  4419 +写
  4420 +
  4421 +发送:
  4422 +
  4423 +fun: \"writeBaseStationTcpIp\" //写基站TcpIp
  4424 +
  4425 +baseId: 1 //1\~32 (必须指定基站)
  4426 +
  4427 +params:
  4428 +
  4429 +指令样例:
  4430 +
  4431 +{\
  4432 +    \"fun\":\"writeBaseStationTcpIp\",\
  4433 +    \"baseId\":1,\
  4434 +    \"params\":{
  4435 +
  4436 +\"mac\":\"FF.FF.FF.FF.FF\",\
  4437 +        \"ip\":\"192.168.10.10\",
  4438 +
  4439 +\"mask\":\"255.255.255.0\",
  4440 +
  4441 + \"gateway\":\"192.168.10.1\"\
  4442 +    },
  4443 +
  4444 + \"packetTag\":\"1\"\
  4445 +}
  4446 +
  4447 +返回
  4448 +
  4449 +接收:
  4450 +
  4451 +fun: \"baseStationTcpIp\"
  4452 +
  4453 +baseId: 1//基站ID
  4454 +
  4455 +infos:{\"value\":\"1\"}//返回基站TcpIp
  4456 +
  4457 +指令样例:
  4458 +
  4459 +{\
  4460 +    \"fun\":\"baseStationTcpIp\",\
  4461 +    \"baseId\":1,\
  4462 +     \"infos\":{\
  4463 +         \"ip\":\"192.168.10.10\",
  4464 +
  4465 + \"mac\":\"FF.FF.FF.FF.FF\",
  4466 +
  4467 +\"mask\":\"255.255.255.0\",
  4468 +
  4469 +  \"gateway\":\"192.168.10.1\"\
  4470 +    },
  4471 +
  4472 + \"packetTag\":\"1\"\
  4473 +}
  4474 +
  4475 +支持设备说明
  4476 +
  4477 + ----------------------- ----------------------- -----------------------
  4478 + 基站+键盘 支持/不支持 备注
  4479 +
  4480 + B100-2.4G+S6 不支持
  4481 +
  4482 + B200-2.4G+S6 不支持
  4483 +
  4484 + B200-5.8G+T2 不支持
  4485 +
  4486 + EA4000T-2.4G+S5 支持 带LAN接口版本
  4487 + ----------------------- ----------------------- -----------------------
  4488 +
  4489 +#### 基站键盘白名单管理
  4490 +
  4491 +读
  4492 +
  4493 +发送:
  4494 +
  4495 +- fun: \"readWhiteList\" //读白名单列表
  4496 +
  4497 +- baseId: 0//
  4498 +
  4499 +指令样例:
  4500 +
  4501 +{\
  4502 +    \"fun\":\"readWhiteList\",\
  4503 +    \"baseId\":0,
  4504 +
  4505 +\"params\":{},\
  4506 +    \"packetTag\":\"1\"\
  4507 +}
  4508 +
  4509 +写
  4510 +
  4511 +发送:
  4512 +
  4513 +- fun: \"writeWhiteList\" //写白名单列表
  4514 +
  4515 +```{=html}
  4516 +<!-- -->
  4517 +```
  4518 +- baseId: 1 //1\~32 (必须指定基站)
  4519 +
  4520 +```{=html}
  4521 +<!-- -->
  4522 +```
  4523 +- keySnList:\[\]//键盘SN数组最多200键盘SN
  4524 +
  4525 +指令样例:
  4526 +
  4527 +{
  4528 +
  4529 +\"fun\": \"writeWhiteList\",
  4530 +
  4531 +\"baseId\": 2,
  4532 +
  4533 +\"keySnList\": \[
  4534 +
  4535 +{\"keySn\":\"2111120140\"},
  4536 +
  4537 +> {\"keySn\":\"0005243136\"},
  4538 +>
  4539 +> {\"keySn\":\"2111120102\"} \],
  4540 +
  4541 +\"packetTag\": \"10\"
  4542 +
  4543 +}
  4544 +
  4545 +返回
  4546 +
  4547 +接收:
  4548 +
  4549 +- fun: \"whiteList\"
  4550 +
  4551 +- baseId: 1//基站ID
  4552 +
  4553 +- infos:{\"value\":\"1\"}//返回读白名单列表区域
  4554 +
  4555 +指令样例:
  4556 +
  4557 +> {\
  4558 +>     \"fun\":\"whiteList\",\
  4559 +>     \"baseId\":1,\
  4560 +>      \"infos\":\[
  4561 +
  4562 +{\"keySn\":\"2111120140\"},
  4563 +
  4564 +> {\"keySn\":\"0005243136\"},
  4565 +>
  4566 +> {\"keySn\":\"2111120102\"} \],
  4567 +
  4568 + \"packetTag\":\"1\"\
  4569 +}
  4570 +
  4571 +支持设备说明
  4572 +
  4573 + ----------------------- ----------------------- -----------------------
  4574 + 基站+键盘 支持/不支持 备注
  4575 +
  4576 + B100-2.4G+S6 不支持
  4577 +
  4578 + B200-2.4G+S6 不支持
  4579 +
  4580 + B200-5.8G+T2 不支持
  4581 +
  4582 + EA4000T-2.4G+S5 不支持
  4583 +
  4584 + EA3100-2.4G+S62 支持
  4585 + ----------------------- ----------------------- -----------------------
  4586 +
  4587 +### 键盘
  4588 +
  4589 +键盘写参数可以不指定键盘SN,则对所有在线键盘进行写操作,但没有键盘状态返回。如需指定键盘信息下发,则需要指定键盘SN,所有键盘状态返回。
  4590 +
  4591 +注:如果一条指定键盘指令中有一个keySN为空,则该指令会按不指定键盘执行。
  4592 +
  4593 +#### 键盘外设(只写)
  4594 +
  4595 +写
  4596 +
  4597 +fun: \"writeKeypadDevice\" //写键盘外设,由led灯、蜂鸣器、马达组合
  4598 +
  4599 +params:{} //
  4600 +数组对象,对象中的默认值为空字符串,各类(led、beep、motor)外设字段都不设置,表示该类不设置
  4601 +
  4602 + --------------- ------------------ -----------------------------------------
  4603 + Json字段 字段含义 赋值及含义
  4604 +
  4605 + keySn 键盘SN 空字符串,为所有在线键盘
  4606 +
  4607 + ledTimes Led灯闪烁次数 0\~255 (0是马上灭,255是长亮)
  4608 +
  4609 + ledOnTime Led灯每次开时间 0\~255 (单位0.1s)
  4610 +
  4611 + ledOffTime Led灯每次关时间 0\~255 (单位0.1s,为0就是连续亮)
  4612 +
  4613 + ledColorR Led灯灯颜色,红值 0\~255(现只支持0灭和1亮,,\>1也认为是1)
  4614 +
  4615 + ledColorG Led灯灯颜色,绿值 0\~255(现只支持0灭和1亮,,\>1也认为是1)
  4616 +
  4617 + ledColorB Led灯灯颜色,蓝值 0\~255(现只支持0灭和1亮,,\>1也认为是1)
  4618 +
  4619 + beepTimes 蜂鸣器响次数 0\~255 (0是马上响,255是长响)
  4620 +
  4621 + beepOnTime 蜂鸣器每次开时间 0\~255 (单位0.1s)
  4622 +
  4623 + beepOffTime 蜂鸣器每次关时间 0\~255 (单位0.1s,为0就是连续响)
  4624 +
  4625 + motorTimes 马达震动次数 0\~255
  4626 +
  4627 + motorOnTime 马达每次开时间 0\~255 (单位0.1s)
  4628 +
  4629 + motorOffTime 马达每次关时间 0\~255 (单位0.1s,为0就是连续振动)
  4630 + --------------- ------------------ -----------------------------------------
  4631 +
  4632 +指令样例:
  4633 +
  4634 +所有键盘
  4635 +
  4636 +{\
  4637 +    \"fun\":\"writeKeypadDevice\",
  4638 +
  4639 + \"baseId\":1,\
  4640 +    \"params\":\
  4641 +        {\
  4642 +            \"ledTimes\":\"3\",\
  4643 +            \"ledOnTime\":\"1\",\
  4644 +            \"ledOffTime\":\"1\",\
  4645 +            \"ledColorR\":\"128\",
  4646 +
  4647 +            \"ledColorG\":\"128\",
  4648 +
  4649 +            \"ledColorB\":\"128\",
  4650 +
  4651 +\"beepTimes\":\"3\",\
  4652 +            \"beepOnTime\":\"1\",\
  4653 +            \"beepOffTime\":\"1\",
  4654 +
  4655 +\"motorTimes\":\"3\",\
  4656 +            \"motorOnTime\":\"2\",\
  4657 +            \"motorOffTime\":\"1\"\
  4658 +        },
  4659 +
  4660 + \"packetTag\":\"1\"\
  4661 +}
  4662 +
  4663 +返回
  4664 +
  4665 +fun: \"writeKeypadDevice\"
  4666 +
  4667 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  4668 +
  4669 +指令样例:
  4670 +
  4671 +{\
  4672 +    \"fun\":\"writeKeypadDevice\",\
  4673 +    \"baseId\":0,\
  4674 +    \"infos\":{
  4675 +
  4676 +\"keySn\":\"0000000000\"\
  4677 +        \"state\":\"OK\"\
  4678 +    },\
  4679 +    \"packetTag\":\"1\"\
  4680 +}
  4681 +
  4682 +指定键盘
  4683 +
  4684 +{\
  4685 +    \"fun\":\"writeKeypadDevice\",
  4686 +
  4687 +\"keySnList\":\[{\"keySn\":\"0007899478\"}\],\
  4688 +    \"params\":\
  4689 +        {\
  4690 +            \"ledTimes\":\"3\",\
  4691 +            \"ledOnTime\":\"1\",\
  4692 +            \"ledOffTime\":\"1\",\
  4693 +            \"ledColorR\":\"128\",\
  4694 +            \"ledColorG\":\"128\",\
  4695 +            \"ledColorB\":\"128\",\
  4696 +            \"beepTimes\":\"3\",\
  4697 +            \"beepOnTime\":\"1\",\
  4698 +            \"beepOffTime\":\"1\",\
  4699 +            \"motorTimes\":\"3\",\
  4700 +            \"motorOnTime\":\"2\",\
  4701 +            \"motorOffTime\":\"1\"\
  4702 +        },\
  4703 +    \"packetTag\":\"1\"\
  4704 +}
  4705 +
  4706 +返回
  4707 +
  4708 +fun: \"writeKeypadDevice\"
  4709 +
  4710 +infos:{}//数组对象,同发送的
  4711 +
  4712 +指令样例:
  4713 +
  4714 +{
  4715 +
  4716 +\"baseId\": 3,
  4717 +
  4718 +\"fun\": \"writeKeypadDevice\",
  4719 +
  4720 +\"infos\": {
  4721 +
  4722 +\"keySn\": \"0007899478\",
  4723 +
  4724 +\"state\": \"OK\"
  4725 +
  4726 +},
  4727 +
  4728 +\"packetTag\": \"1\"
  4729 +
  4730 +}
  4731 +
  4732 +支持设备说明
  4733 +
  4734 + ----------------------- ----------------------- -----------------------
  4735 + 基站+键盘 支持/不支持 备注
  4736 +
  4737 + B100-2.4G+S6 不支持
  4738 +
  4739 + B200-2.4G+S6 不支持
  4740 +
  4741 + B200-5.8G+T2 支持 蜂鸣器部分参数无效
  4742 + ----------------------- ----------------------- -----------------------
  4743 +
  4744 +#### 键盘反馈参数
  4745 +
  4746 +读
  4747 +
  4748 +发送:
  4749 +
  4750 +fun: \"readKeypadFeedbackMode\" //读键盘反馈模式参数
  4751 +
  4752 +baseId: 0//0\~32 (指令不发送baseID,默认为0表示读取所有基站)
  4753 +
  4754 +params:{}//读取时不需要
  4755 +
  4756 ++----------------+--------------+-------------------------------------+
  4757 +| Json字段 | 字段含义 | 赋值及含义 |
  4758 ++----------------+--------------+-------------------------------------+
  4759 +| Mode | 反馈模式 | 0- 不启用(默认0不启用) |
  4760 +| | | |
  4761 +| | | 1- 通用键码,不显示 |
  4762 ++----------------+--------------+-------------------------------------+
  4763 +| Value | 反馈 | 1\~10 |
  4764 +| | 最大有效按键 | |
  4765 ++----------------+--------------+-------------------------------------+
  4766 +
  4767 +指令样例:
  4768 +
  4769 +{\
  4770 +    \"fun\":\"readKeypadFeedbackMode\",\
  4771 +    \"baseId\":0,
  4772 +
  4773 + \"packetTag\":\"1\"\
  4774 +}
  4775 +
  4776 +写
  4777 +
  4778 +发送:
  4779 +
  4780 +fun: \"writeKeypadFeedbackMode\" //写键盘反馈模式参数
  4781 +
  4782 +baseId: 1//1\~32 (必须指定基站)
  4783 +
  4784 +params:{\"mode\":\"1\", \"value\":\"4\"}//
  4785 +
  4786 +指令样例:
  4787 +
  4788 +{
  4789 +
  4790 +\"fun\":\"writeKeypadFeedbackMode\",
  4791 +
  4792 +\"baseId\":0,
  4793 +
  4794 +\"params\":{
  4795 +
  4796 +\"mode\":\"1\",
  4797 +
  4798 +\"value\":\"4\"
  4799 +
  4800 +},
  4801 +
  4802 +\"packetTag\":\"1\"
  4803 +
  4804 +}
  4805 +
  4806 +返回
  4807 +
  4808 +接收:
  4809 +
  4810 +fun: \"keypadFeedbackMode\"
  4811 +
  4812 +baseId: 1//基站ID
  4813 +
  4814 +infos:{ \"mode\":\"1\", \"value\":\"4\"}//返回键盘反馈模式参数值
  4815 +
  4816 +指令样例:
  4817 +
  4818 +{\
  4819 +    \"fun\":\"keypadFeedbackMode\",\
  4820 +    \"baseId\":1,\
  4821 +     \"infos\":{
  4822 +
  4823 +\"mode\":\"1\",\
  4824 +        \"value\":\"4\"\
  4825 +    },
  4826 +
  4827 + \"packetTag\":\"1\"}\
  4828 +}
  4829 +
  4830 +支持设备说明
  4831 +
  4832 + ----------------------- ----------------------- -----------------------
  4833 + 基站+键盘 支持/不支持 备注
  4834 +
  4835 + B100-2.4G+S6 支持
  4836 +
  4837 + B200-2.4G+S6 支持
  4838 +
  4839 + B200-5.8G+T2 不支持
  4840 + ----------------------- ----------------------- -----------------------
  4841 +
  4842 +#### 键盘即时反馈\[主动上报\]
  4843 +
  4844 +接收:
  4845 +
  4846 +fun: \"immediateFeedback\"
  4847 +
  4848 +baseId: 1//基站ID
  4849 +
  4850 +infos:{ \"keySn\":\"1\", \"value\":\"A\"}//返回键盘反馈模式参数值
  4851 +
  4852 +指令样例:
  4853 +
  4854 +{\
  4855 +    \"fun\":\"immediateFeedback\",\
  4856 +    \"baseId\":1,\
  4857 +     \"infos\":{
  4858 +
  4859 +\"keySn\":\"1479824643\",\
  4860 +        \"value\":\"A\"\
  4861 +    },
  4862 +
  4863 + \"packetTag\":\"0\"}\
  4864 +}
  4865 +
  4866 +支持设备说明
  4867 +
  4868 + ----------------------- ----------------------- -----------------------
  4869 + 基站+键盘 支持/不支持 备注
  4870 +
  4871 + B100-2.4G+S6 支持
  4872 +
  4873 + B200-2.4G+S6 支持
  4874 +
  4875 + B200-5.8G+T2 不支持
  4876 + ----------------------- ----------------------- -----------------------
  4877 +
  4878 +#### 键盘心跳反馈\[上报\]
  4879 +
  4880 +接收:
  4881 +
  4882 +fun: \" keyboardHeartbeat\"
  4883 +
  4884 +baseId: 1//基站ID
  4885 +
  4886 +infos:{
  4887 +\"keySn\":\"1479824643\",\"keyValue\":\"0\",\"ver\":\"1.0.0\",\"volt\":\"50\"}//返回键盘反馈模式参数值
  4888 +
  4889 + ----------------- --------------- --------------------------------------
  4890 + Json字段 字段含义 赋值及含义
  4891 +
  4892 + hModel 键盘型号 75: T2-5.8G\
  4893 + 76: S6-2.4G
  4894 +
  4895 + keySn 键盘Sn
  4896 +
  4897 + keyVer 键盘版本
  4898 +
  4899 + Volt 键盘电量 T2百分比值,S6无效
  4900 + ----------------- --------------- --------------------------------------
  4901 +
  4902 +指令样例:
  4903 +
  4904 +{\
  4905 +    \"fun\":\"keyboardHeartbeat\",\
  4906 +    \"baseId\":1,\
  4907 +     \"infos\":{
  4908 +
  4909 +\"hModel\":\"67\",
  4910 +
  4911 +\"keySn\":\"1479824643\",\
  4912 +        \"keyValue\":\"0\",
  4913 +
  4914 +\"ver\":\"1.0.0\",
  4915 +
  4916 +\"volt\":\"50\"\
  4917 +    },
  4918 +
  4919 + \"packetTag\":\"0\"}\
  4920 +}
  4921 +
  4922 +支持设备说明
  4923 +
  4924 + ----------------------- ----------------------- ----------------------------------------------
  4925 + 基站+键盘 支持/不支持 备注
  4926 +
  4927 + B100-2.4G+S6 支持 出厂配置有心跳时反馈,出厂配置无心跳时不反馈
  4928 +
  4929 + B200-2.4G+S6 支持 出厂配置有心跳时反馈,出厂配置无心跳时不反馈
  4930 +
  4931 + B200-5.8G+T2 不支持
  4932 + ----------------------- ----------------------- ----------------------------------------------
  4933 +
  4934 +#### 键盘上线通知\[上报\]
  4935 +
  4936 +S6键盘上线后上报键盘SN信息。
  4937 +
  4938 +接收:
  4939 +
  4940 +fun: \"keyboardOnlineOne\"
  4941 +
  4942 +baseId: 1//基站ID
  4943 +
  4944 +infos:{ \"keySn\":\"1479824643\"}//返回键盘反馈模式参数值
  4945 +
  4946 + ----------------- --------------- --------------------------------------
  4947 + Json字段 字段含义 赋值及含义
  4948 +
  4949 + keySn 键盘Sn
  4950 + ----------------- --------------- --------------------------------------
  4951 +
  4952 +指令样例:
  4953 +
  4954 +{\
  4955 +    \"fun\":\"keyboardOnlineOne\",\
  4956 +    \"baseId\":1,\
  4957 +     \"infos\":{
  4958 +
  4959 +\"keySn\":\"1479824643\"      
  4960 +
  4961 +    },
  4962 +
  4963 + \"packetTag\":\"0\"}\
  4964 +}
  4965 +
  4966 +支持设备说明
  4967 +
  4968 + ----------------------- ----------------------- -----------------------
  4969 + 基站+键盘 支持/不支持 备注
  4970 +
  4971 + B100-2.4G+S6 不支持
  4972 +
  4973 + B200-2.4G+S6 支持
  4974 +
  4975 + B200-5.8G+T2 不支持
  4976 + ----------------------- ----------------------- -----------------------
  4977 +
  4978 +#### 遥控键盘关机
  4979 +
  4980 +写
  4981 +
  4982 +发送:
  4983 +
  4984 +fun: \"remoteKeyShutdown\" //遥控键盘关机
  4985 +
  4986 +params:{}//
  4987 +
  4988 +指令样例:
  4989 +
  4990 +{\
  4991 +    \"fun\":\"remoteKeyShutdown\",
  4992 +
  4993 + \"baseId\":1,
  4994 +
  4995 +\"params\":\[\
  4996 +        {\
  4997 +            \"keySn\":\"1837454011\"            
  4998 +
  4999 +}
  5000 +
  5001 +\],\
  5002 +      \"packetTag\":\"1\"\
  5003 +}
  5004 +
  5005 +返回
  5006 +
  5007 +接收:
  5008 +
  5009 +fun: \"remoteKeyShutdown\"
  5010 +
  5011 +baseId: 1//基站ID
  5012 +
  5013 +infos:{\"keySn\":\"1837454011\",\"state\":\"OK\"}//遥控键盘关机
  5014 +
  5015 +指令样例:
  5016 +
  5017 +{\
  5018 +    \"fun\":\"remoteKeyShutdown\",\
  5019 +    \"baseId\":1,\
  5020 +     \"infos\":{\
  5021 +        \"keySn\":\"1837454011\",\
  5022 +          \"state\":\"OK\"\
  5023 +    },
  5024 +
  5025 + \"packetTag\":\"1\"\
  5026 +}
  5027 +
  5028 +发送:
  5029 +
  5030 +fun: \"remoteKeyShutdown\" //遥控所有键盘关机
  5031 +
  5032 +params:{}//
  5033 +
  5034 +指令样例:
  5035 +
  5036 +{\
  5037 +    \"fun\":\"remoteKeyShutdown\",
  5038 +
  5039 + \"baseId\":1,
  5040 +
  5041 +\"params\":\[\],\
  5042 +      \"packetTag\":\"1\"\
  5043 +}
  5044 +
  5045 +返回
  5046 +
  5047 +接收:
  5048 +
  5049 +fun: \"remoteKeyShutdown\"
  5050 +
  5051 +baseId: 1//基站ID
  5052 +
  5053 +infos:{\"keySn\":\"0000000000\",\"state\":\"OK\"}//遥控所有键盘关机
  5054 +
  5055 +指令样例:
  5056 +
  5057 +{\
  5058 +    \"fun\":\"remoteKeyShutdown\",\
  5059 +    \"baseId\":1,\
  5060 +     \"infos\":{\
  5061 +        \"keySn\":\"0000000000\",\
  5062 +          \"state\":\"OK\"\
  5063 +    },
  5064 +
  5065 + \"packetTag\":\"1\"\
  5066 +}
  5067 +
  5068 +支持设备说明
  5069 +
  5070 + ----------------------- ----------------------- -----------------------
  5071 + 基站+键盘 支持/不支持 备注
  5072 +
  5073 + B100-2.4G+S6 支持
  5074 +
  5075 + B200-2.4G+S6 支持
  5076 +
  5077 + B200-5.8G+T2 支持
  5078 + ----------------------- ----------------------- -----------------------
  5079 +
  5080 +#### 键盘暂停休眠
  5081 +
  5082 +写
  5083 +
  5084 +发送:
  5085 +
  5086 +fun: \"writeKeyboardPauseSleep\" //键盘暂停休眠
  5087 +
  5088 +params:{\"value\"} //
  5089 +
  5090 + ----------------- --------------- --------------------------------------
  5091 + Json字段 字段含义 赋值及含义
  5092 +
  5093 + baseId 基站ID 0-32 0:所有基站,默认值
  5094 +
  5095 + value 预留 0 :10秒有效(默认值)
  5096 + ----------------- --------------- --------------------------------------
  5097 +
  5098 +指令样例:
  5099 +
  5100 +{\
  5101 +    \"fun\":\"writeKeyboardPauseSleep\",
  5102 +
  5103 + \"baseId\":0,
  5104 +
  5105 +\"params\":\
  5106 +        {\
  5107 +            \"value\":\"0\"            
  5108 +
  5109 +},\
  5110 +      \"packetTag\":\"1\"\
  5111 +}
  5112 +
  5113 +返回
  5114 +
  5115 +接收:
  5116 +
  5117 +fun: \"writeKeyboardPauseSleep\"
  5118 +
  5119 +baseId: 1//基站ID
  5120 +
  5121 +infos:{\"value\":\"0\"}//10秒
  5122 +
  5123 +指令样例:
  5124 +
  5125 +{\
  5126 +    \"fun\":\"writeKeyboardPauseSleep\",\
  5127 +    \"baseId\":1,\
  5128 +     \"infos\":{\
  5129 +        \"value\":\"0\"\
  5130 +    },
  5131 +
  5132 + \"packetTag\":\"1\"\
  5133 +}
  5134 +
  5135 +支持设备说明
  5136 +
  5137 + ----------------------- ----------------------- -----------------------
  5138 + 基站+键盘 支持/不支持 备注
  5139 +
  5140 + B100-2.4G+S6 支持
  5141 +
  5142 + B200-2.4G+S6 支持
  5143 +
  5144 + B200-5.8G+T2 不支持
  5145 + ----------------------- ----------------------- -----------------------
  5146 +
  5147 +#### 键盘短消息
  5148 +
  5149 +写
  5150 +
  5151 +fun: \"writeKeyMessage\" //写键盘短消息
  5152 +
  5153 +params:{} // 数组对象,对象中的默认值为空字符串,
  5154 +
  5155 + --------------- ----------------- --------------------------------------
  5156 + Json字段 字段含义 赋值及含义
  5157 +
  5158 + keySn 键盘SN 空字符串,为所有在线键盘
  5159 +
  5160 + txt 短消息内容 字符串最长80字节
  5161 + --------------- ----------------- --------------------------------------
  5162 +
  5163 +指令样例:
  5164 +
  5165 +所有键盘
  5166 +
  5167 +{\
  5168 +    \"fun\":\"writeKeyMessage\",
  5169 +
  5170 + \"baseId\":0,\
  5171 +    \"params\":\
  5172 +        {\
  5173 +            \"txt\":\"最新消息\"           
  5174 +
  5175 +},
  5176 +
  5177 + \"packetTag\":\"1\"\
  5178 +}
  5179 +
  5180 +返回
  5181 +
  5182 +fun: \"writeKeyMessage\"
  5183 +
  5184 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  5185 +
  5186 +指令样例:
  5187 +
  5188 +{\
  5189 +    \"fun\":\"writeKeyMessage\",\
  5190 +    \"baseId\":0,\
  5191 +    \"infos\":{
  5192 +
  5193 +\"keySn\":\"0000000000\"\
  5194 +        \"state\":\"OK\"\
  5195 +    },\
  5196 +    \"packetTag\":\"1\"\
  5197 +}
  5198 +
  5199 +指定键盘
  5200 +
  5201 +{\
  5202 +    \"fun\":\"writeKeyMessage\",
  5203 +
  5204 +\"keySnList\":\[{\"keySn\":\"0007899478\"}\],\
  5205 +    \"params\":\
  5206 +        {\
  5207 +           \"txt\":\"最新消息\"
  5208 +
  5209 +     },\
  5210 +    \"packetTag\":\"1\"\
  5211 +}
  5212 +
  5213 +返回
  5214 +
  5215 +fun: \"writeKeyMessage\"
  5216 +
  5217 +infos:{}//数组对象,同发送的
  5218 +
  5219 +指令样例:
  5220 +
  5221 +{
  5222 +
  5223 +\"baseId\": 3,
  5224 +
  5225 +\"fun\": \"writeKeyMessage\",
  5226 +
  5227 +\"infos\": {
  5228 +
  5229 +\"keySn\": \"0007899478\",
  5230 +
  5231 +\"state\": \"OK\"
  5232 +
  5233 +},
  5234 +
  5235 +\"packetTag\": \"1\"
  5236 +
  5237 +}
  5238 +
  5239 +支持设备说明
  5240 +
  5241 + ----------------------- ----------------------- -----------------------
  5242 + 基站+键盘 支持/不支持 备注
  5243 +
  5244 + B100-2.4G+S6 支持
  5245 +
  5246 + B200-2.4G+S6 支持
  5247 +
  5248 + B200-5.8G+T2 不支持
  5249 + ----------------------- ----------------------- -----------------------
  5250 +
  5251 +#### 指定键盘修改FSN\[内部\]
  5252 +
  5253 +写
  5254 +
  5255 +fun: \"writeKeyFSN\" //写键盘修改FSN
  5256 +
  5257 +params:{} // 数组对象,对象中的默认值为空字符串,
  5258 +
  5259 + --------------- ----------------- --------------------------------------
  5260 + Json字段 字段含义 赋值及含义
  5261 +
  5262 + keySnOld 旧键盘SN
  5263 +
  5264 + keySnNew 新键盘 SN
  5265 + --------------- ----------------- --------------------------------------
  5266 +
  5267 +指令样例:
  5268 +
  5269 +指定键盘
  5270 +
  5271 +{\
  5272 +    \"fun\":\"writeKeyFSN\",
  5273 +
  5274 +    \"params\":\
  5275 +        {\
  5276 +           \"keySnList\":\[
  5277 +
  5278 +{
  5279 +
  5280 +\"keySnOld\":\"0007899478\",
  5281 +
  5282 +\"keySnNew\":\"0007899479\"
  5283 +
  5284 +},
  5285 +
  5286 +{
  5287 +
  5288 +\"keySnOld\":\"0007899488\",
  5289 +
  5290 +\"keySnNew\":\"0007899489\"
  5291 +
  5292 +} \]\
  5293 +     },\
  5294 +    \"packetTag\":\"1\"\
  5295 +}
  5296 +
  5297 +返回
  5298 +
  5299 +fun: \"writeKeyFSN\"
  5300 +
  5301 +infos:{}//数组对象,同发送的
  5302 +
  5303 +指令样例:
  5304 +
  5305 +{
  5306 +
  5307 +\"baseId\": 3,
  5308 +
  5309 +\"fun\": \"writeKeyFSN\",
  5310 +
  5311 +\"infos\": {
  5312 +
  5313 +\"keySn\": \"0007899478\",
  5314 +
  5315 +\"state\": \"OK\"
  5316 +
  5317 +},
  5318 +
  5319 +\"packetTag\": \"1\"
  5320 +
  5321 +}
  5322 +
  5323 +支持设备说明
  5324 +
  5325 + ----------------------- ----------------------- -----------------------
  5326 + 基站+键盘 支持/不支持 备注
  5327 +
  5328 + B100-2.4G+S6 支持
  5329 +
  5330 + B200-2.4G+S6 支持
  5331 +
  5332 + B200-5.8G+T2 不支持
  5333 + ----------------------- ----------------------- -----------------------
  5334 +
  5335 +## 键盘显示设置
  5336 +
  5337 +> 注:返回指令中的\"baseId\":0, 可忽略不处理
  5338 +
  5339 +### 空闲标题
  5340 +
  5341 +修改参数后设备重启生效。
  5342 +
  5343 +发送:
  5344 +
  5345 +fun: \"writeKeypadFreeTitle\" //写键盘空闲标题显示
  5346 +
  5347 +params:{}
  5348 +
  5349 + ----------------- --------------- --------------------------------------
  5350 + Json字段 字段含义 赋值及含义
  5351 +
  5352 + title 标题 最多8个汉字(16个字符)
  5353 + ----------------- --------------- --------------------------------------
  5354 +
  5355 +指令样例:
  5356 +
  5357 +{\
  5358 +    \"fun\":\"writeKeypadFreeTitle\",
  5359 +
  5360 +  \"baseId\":1,\
  5361 +    \"params\":\
  5362 +        {
  5363 +
  5364 +            \"title\":\"请认真听讲\"
  5365 +
  5366 +  }\
  5367 + }
  5368 +
  5369 +接收:
  5370 +
  5371 +fun: \"writeKeypadFreeTitle\" //写键盘空闲标题显示
  5372 +
  5373 +baseId: 1//接收到指令的基站ID
  5374 +
  5375 +infos:{}//
  5376 +
  5377 + ----------------- --------------- --------------------------------------
  5378 + Json字段 字段含义 赋值及含义
  5379 +
  5380 + keySn 键盘SN
  5381 +
  5382 + state 返回信息 OK(成功)
  5383 + ----------------- --------------- --------------------------------------
  5384 +
  5385 +指令样例:
  5386 +
  5387 +{\
  5388 +    \"fun\":\"writeKeypadFreeTitle\",
  5389 +
  5390 +\"baseId\":0,\
  5391 +    \"infos\":{\
  5392 +        \"state\":\"OK\"\
  5393 +    },\
  5394 +    \"packetTag\":\"1\"\
  5395 +}
  5396 +
  5397 +支持设备说明
  5398 +
  5399 + ----------------------- ----------------------- -----------------------
  5400 + 基站+键盘 支持/不支持 备注
  5401 +
  5402 + B100-2.4G+S6 不支持
  5403 +
  5404 + B200-2.4G+S6 不支持
  5405 +
  5406 + B200-5.8G+T2 支持
  5407 + ----------------------- ----------------------- -----------------------
  5408 +
  5409 +### 自定义信息
  5410 +
  5411 +当启动PIN码签到绑定模式,则可对键盘进行绑定操作
  5412 +
  5413 +发送:
  5414 +
  5415 +fun: \"writeKeypadCustomInfo\" //写键盘的自定义信息
  5416 +
  5417 +params:{}//数组对象,字段不填则保留上次值。
  5418 +
  5419 ++----------------+--------------+-------------------------------------+
  5420 +| Json字段 | 字段含义 | 赋值及含义 |
  5421 ++----------------+--------------+-------------------------------------+
  5422 +| keySn | 键盘Sn | 空则为所有在线键盘,其他数组值无效 |
  5423 ++----------------+--------------+-------------------------------------+
  5424 +| scoreMode | 分数模式 | 1-清除 |
  5425 +| | | |
  5426 +| | | 2-字符显示(默认值) |
  5427 +| | | |
  5428 +| | | 3-五角星显示 |
  5429 +| | | |
  5430 +| | | 4-爱心显示\[S6有效\] |
  5431 ++----------------+--------------+-------------------------------------+
  5432 +| scoreValue | 分数值 | scoreMode==1,此处无效 |
  5433 +| | | |
  5434 +| | | scoreMode==2,8个字符长度 |
  5435 +| | | |
  5436 +| | | scoreMode==3, |
  5437 +| | | 0\~6,2个分数表示1个五角星,最多3个 |
  5438 +| | | |
  5439 +| | | scoreMode==4 |
  5440 +| | | ,0\~6,2个分数表示1个爱心,最多3个 |
  5441 +| | | \[S6有效\] |
  5442 ++----------------+--------------+-------------------------------------+
  5443 +| tipText | 提示文本 | 最多8个汉字(16个字符), |
  5444 +| | | 键盘第二行显示 |
  5445 ++----------------+--------------+-------------------------------------+
  5446 +
  5447 +指令样例:
  5448 +
  5449 +{\
  5450 +    \"fun\":\"writeKeypadCustomInfo\",
  5451 +
  5452 +  \"baseId\":1,\
  5453 +    \"params\":\[\
  5454 +        {\
  5455 +            \"keySn\":\"1479824643\",
  5456 +
  5457 +            \"scoreMode\":\"2\",\
  5458 +            \"scoreValue\":\"99\",\
  5459 +            \"tipText\":\"已绑定\"\
  5460 +        }\
  5461 +    \],\
  5462 +    \"packetTag\":\"1\"\
  5463 +}
  5464 +
  5465 +接收:
  5466 +
  5467 +指定键盘
  5468 +
  5469 +fun: \"writeKeypadCustomInfo\" //写键盘的用户信息
  5470 +
  5471 +baseId:0 //接收到指令的基站ID
  5472 +
  5473 +infos:{}//数组对象
  5474 +
  5475 + ----------------- --------------- --------------------------------------
  5476 + Json字段 字段含义 赋值及含义
  5477 +
  5478 + keySn 键盘Sn
  5479 +
  5480 + state 状态 OK表示成功
  5481 + ----------------- --------------- --------------------------------------
  5482 +
  5483 +指令样例:
  5484 +
  5485 +{\
  5486 +    \"fun\":\"writeKeypadCustomInfo\",
  5487 +
  5488 +\"baseId\":0,\
  5489 +    \"infos\":\[\
  5490 +        {\
  5491 +            \"keySn\":\"1479824643\",\
  5492 +            \"state\":\"OK\"\
  5493 +        }\
  5494 +    \],\
  5495 +    \"packetTag\":\"1\"\
  5496 +}
  5497 +
  5498 +所有键盘
  5499 +
  5500 +fun: \"writeKeypadCustomInfo\" //写键盘的用户信息
  5501 +
  5502 +baseId:0 //接收到指令的基站ID
  5503 +
  5504 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  5505 +
  5506 +指令样例:
  5507 +
  5508 +{\
  5509 +    \"fun\":\"writeKeypadCustomInfo\",\
  5510 +    \"baseId\":0,\
  5511 +    \"infos\":{\
  5512 +        \"state\":\"OK\"\
  5513 +    },\
  5514 +    \"packetTag\":\"1\"\
  5515 +}
  5516 +
  5517 +支持设备说明
  5518 +
  5519 + ----------------------- ----------------------- -----------------------
  5520 + 基站+键盘 支持/不支持 备注
  5521 +
  5522 + B100-2.4G+S6 支持
  5523 +
  5524 + B200-2.4G+S6 支持
  5525 +
  5526 + B200-5.8G+T2 支持
  5527 + ----------------------- ----------------------- -----------------------
  5528 +
  5529 +### 用户姓名
  5530 +
  5531 +当启动PIN码签到绑定模式,则可对键盘进行绑定操作
  5532 +
  5533 +发送:
  5534 +
  5535 +fun: \"writeKeypadUserName\" //写键盘的用户姓名
  5536 +
  5537 +params:{}//数组对象,字段不填则保留上次值。
  5538 +
  5539 + ----------------- --------------- --------------------------------------
  5540 + Json字段 字段含义 赋值及含义
  5541 +
  5542 + keySn 键盘Sn 空则为所有在线键盘,其他数组值无效
  5543 +
  5544 + userName 姓名 最多24个汉字(48个字符),
  5545 + 键盘左上角显示
  5546 + ----------------- --------------- --------------------------------------
  5547 +
  5548 +指令样例:
  5549 +
  5550 +{\
  5551 +    \"fun\":\"writeKeypadUserName\",
  5552 +
  5553 +  \"baseId\":1,\
  5554 +    \"params\":\[\
  5555 +        {\
  5556 +            \"keySn\":\"1479824643\",\
  5557 +            \"userName\":\"张三\"
  5558 +
  5559 +        }\
  5560 +    \],\
  5561 +    \"packetTag\":\"1\"\
  5562 +}
  5563 +
  5564 +接收:
  5565 +
  5566 +指定键盘
  5567 +
  5568 +fun: \"writeKeypadUserName\" //写键盘的用户姓名
  5569 +
  5570 +baseId:0 //接收到指令的基站ID
  5571 +
  5572 +infos:{}//数组对象
  5573 +
  5574 + ----------------- --------------- --------------------------------------
  5575 + Json字段 字段含义 赋值及含义
  5576 +
  5577 + keySn 键盘Sn
  5578 +
  5579 + state 状态 OK表示成功
  5580 + ----------------- --------------- --------------------------------------
  5581 +
  5582 +指令样例:
  5583 +
  5584 +{\
  5585 +    \"fun\":\"writeKeypadUserName\",
  5586 +
  5587 +\"baseId\":0,\
  5588 +    \"infos\":\
  5589 +        {\
  5590 +            \"keySn\":\"1479824643\",\
  5591 +            \"state\":\"OK\"\
  5592 +        } ,\
  5593 +    \"packetTag\":\"1\"\
  5594 +}
  5595 +
  5596 +所有键盘
  5597 +
  5598 +fun: \"writeKeypadUserName\" //写键盘的用户信息
  5599 +
  5600 +baseId:0 //接收到指令的基站ID
  5601 +
  5602 +infos:{\"state\":\"OK\"}//返回状态,成功为OK
  5603 +
  5604 +指令样例:
  5605 +
  5606 +{\
  5607 +    \"fun\":\"writeKeypadUserName\",\
  5608 +    \"baseId\":0,\
  5609 +    \"infos\":{\
  5610 +        \"state\":\"OK\"\
  5611 +    },\
  5612 +    \"packetTag\":\"1\"\
  5613 +}
  5614 +
  5615 +支持设备说明
  5616 +
  5617 + ----------------------- ----------------------- -----------------------
  5618 + 基站+键盘 支持/不支持 备注
  5619 +
  5620 + B100-2.4G+S6 支持
  5621 +
  5622 + B200-2.4G+S6 支持
  5623 +
  5624 + B200-5.8G+T2 支持
  5625 + ----------------------- ----------------------- -----------------------
  5626 +
  5627 +### 指定用户姓名\[C100B+S6旧款\]
  5628 +
  5629 +当启动PIN码签到绑定模式,则可对键盘进行绑定操作
  5630 +
  5631 +发送:
  5632 +
  5633 +fun: \"writeOneKeypadUserName\" //写键盘的用户姓名
  5634 +
  5635 +params:{}//数组对象,字段不填则保留上次值。
  5636 +
  5637 + ----------------- --------------- --------------------------------------
  5638 + Json字段 字段含义 赋值及含义
  5639 +
  5640 + keySn 键盘Sn 空则为所有在线键盘,其他数组值无效
  5641 +
  5642 + value 姓名 最多5个汉字(10个字符),
  5643 + 键盘左上角显示
  5644 + ----------------- --------------- --------------------------------------
  5645 +
  5646 +指令样例:
  5647 +
  5648 +{\
  5649 +    \"fun\":\"writeOneKeypadUserName\",
  5650 +
  5651 +  \"baseId\":0,\
  5652 +    \"params\":\[\
  5653 +        {\
  5654 +            \"keySn\":\"1479824643\",\
  5655 +            \"value\":\"张三\"
  5656 +
  5657 +        }\
  5658 +    \],\
  5659 +    \"packetTag\":\"1\"\
  5660 +}
  5661 +
  5662 +接收:
  5663 +
  5664 +指定键盘
  5665 +
  5666 +fun: \"oneKeypadUserName\" //写键盘的用户姓名
  5667 +
  5668 +baseId:1 //接收到指令的基站ID
  5669 +
  5670 +infos:{}//数组对象
  5671 +
  5672 + ----------------- --------------- --------------------------------------
  5673 + Json字段 字段含义 赋值及含义
  5674 +
  5675 + keySn 键盘Sn
  5676 +
  5677 + value 姓名 最多5个汉字(10个字符)
  5678 + ----------------- --------------- --------------------------------------
  5679 +
  5680 +指令样例:
  5681 +
  5682 +{\
  5683 +    \"fun\":\"oneKeypadUserName\",
  5684 +
  5685 +\"baseId\":1,\
  5686 +    \"infos\":\
  5687 +        {\
  5688 +            \"keySn\":\"1479824643\",\
  5689 +            \"value\":\"张三\"\
  5690 +        } ,\
  5691 +    \"packetTag\":\"1\"\
  5692 +}
  5693 +
  5694 +支持设备说明
  5695 +
  5696 + ----------------------- ------------------ ----------------------------
  5697 + 基站+键盘 支持/不支持 备注
  5698 +
  5699 + B100-2.4G+S6 不支持
  5700 +
  5701 + B200-2.4G+S6 不支持
  5702 +
  5703 + B200-5.8G+T2 不支持
  5704 +
  5705 + C100B-2.4G+S6 支持 S6旧款支持,不支持生僻字。
  5706 + ----------------------- ------------------ ----------------------------
  5707 +
  5708 +## 键盘在线信息
  5709 +
  5710 +### 自动返回在线信息
  5711 +
  5712 +基站连接成功后,自动返回所有在线的键盘信息。当键盘在线状态改变时,也会统一返回。
  5713 +
  5714 +接收:
  5715 +
  5716 +fun: \"keypadOnLine\" //键盘在线状态
  5717 +
  5718 +infos:{} //数组对象
  5719 +
  5720 + ----------------- --------------- --------------------------------------
  5721 + Json字段 字段含义 赋值及含义
  5722 +
  5723 + keySn 键盘Sn
  5724 +
  5725 + keyVer 键盘版本
  5726 + ----------------- --------------- --------------------------------------
  5727 +
  5728 +指令样例:
  5729 +
  5730 +{\
  5731 +    \"fun\":\"keypadOnLine\",
  5732 +
  5733 +  \"baseId\":0,\
  5734 +    \"infos\":\[\
  5735 +        {\
  5736 +            \"baseId\":1,\
  5737 +            \"keySn\":\"1837454011\",\
  5738 +            \"keyVer\":\"1.0.6\"
  5739 +
  5740 +   },\
  5741 +        {\
  5742 +            \"baseId\":1,\
  5743 +            \"keySn\":\"1837454012\",\
  5744 +            \"keyVer\":\"1.0.6\"
  5745 +
  5746 +    }\
  5747 +    \],\
  5748 +    \"packetTag\":\"1\"\
  5749 +}
  5750 +
  5751 +支持设备说明
  5752 +
  5753 + ----------------------- ----------------------- -----------------------
  5754 + 基站+键盘 支持/不支持 备注
  5755 +
  5756 + B100-2.4G+S6 不支持
  5757 +
  5758 + B200-2.4G+S6 不支持
  5759 +
  5760 + B200-5.8G+T2 支持
  5761 + ----------------------- ----------------------- -----------------------
  5762 +
  5763 +### 主动获取在线信息
  5764 +
  5765 +应用程序在需要时,也可主动获取所有在线键盘信息。
  5766 +
  5767 +发送:
  5768 +
  5769 +fun: \"getKeypadOnLine\" //获取键盘在线状态
  5770 +
  5771 +params:{
  5772 +
  5773 +\"times\":1 //基站扫描键盘时长,单位秒 范围1-10秒
  5774 +
  5775 +} //
  5776 +
  5777 +指令样例:
  5778 +
  5779 +{\
  5780 +    \"fun\":\"getKeypadOnLine\",
  5781 +
  5782 +\"baseId\":0,
  5783 +
  5784 +\"params\":{\
  5785 +        \"times\":2
  5786 +
  5787 +},\
  5788 +    \"packetTag\":\"1\"\
  5789 +}
  5790 +
  5791 +接收:
  5792 +
  5793 +fun: \"keypadOnLine\" //键盘在线状态
  5794 +
  5795 +infos:{} //数组对象
  5796 +
  5797 + ----------------- --------------- --------------------------------------
  5798 + Json字段 字段含义 赋值及含义
  5799 +
  5800 + baseId 基站id keySn键盘所在基站id
  5801 +
  5802 + keySn 键盘Sn
  5803 +
  5804 + keyVer 键盘版本
  5805 +
  5806 + Volt 键盘电量 T2百分比值,S6无效
  5807 + ----------------- --------------- --------------------------------------
  5808 +
  5809 +指令样例:
  5810 +
  5811 +{\
  5812 +    \"fun\":\"keypadOnLine\",
  5813 +
  5814 +\"baseId\":0,\
  5815 +    \"infos\":\[\
  5816 +         {\
  5817 +            \"baseId\":1,\
  5818 +            \"keySn\":\"1837454011\",\
  5819 +            \"ver\":\"1.0.6\",
  5820 +
  5821 +\"hModel\":\"67\",
  5822 +
  5823 +\"Volt\":\"100\"\
  5824 +        },\
  5825 +        {\
  5826 +            \"baseId\":1,\
  5827 +            \"keySn\":\"1837454012\",\
  5828 +            \"ver\":\"1.0.6\",
  5829 +
  5830 +\"hModel\":\"67\",
  5831 +
  5832 +\"Volt\":\"30\"\
  5833 +        }\
  5834 +    \],\
  5835 +    \"packetTag\":\"1\"\
  5836 +}
  5837 +
  5838 +支持设备说明
  5839 +
  5840 + ----------------------- ----------------------- -----------------------
  5841 + 基站+键盘 支持/不支持 备注
  5842 +
  5843 + B100-2.4G+S6 支持 键盘电量:无效
  5844 +
  5845 + B200-2.4G+S6 支持 键盘电量:无效
  5846 +
  5847 + B200-5.8G+T2 支持 键盘电量:百分比值
  5848 + ----------------------- ----------------------- -----------------------
  5849 +
  5850 +### 踢出单只键盘
  5851 +
  5852 +发送:
  5853 +
  5854 +fun: \"removeOneKeypadOnLine\" //踢出单只键盘
  5855 +
  5856 +params:{} //键盘sn
  5857 +
  5858 +指令样例:
  5859 +
  5860 +{\
  5861 +    \"fun\":\"removeOneKeypadOnLine\",
  5862 +
  5863 +\"baseId\":0,\
  5864 +    \"params\":{\
  5865 +        \"keySn\":\"1837454012\"\
  5866 +    },\
  5867 +    \"packetTag\":\"1\"\
  5868 +}
  5869 +
  5870 +接收:
  5871 +
  5872 +{\
  5873 +    \"fun\":\"removeOneKeypadOnLine\",\
  5874 +    \"baseId\":1,\
  5875 +    \"packetTag\":\"1\",\
  5876 +    \"infos\":{
  5877 +
  5878 + \" keySn \":\"1837454012\",
  5879 +
  5880 +  \"state\":\"OK\"\
  5881 +    }\
  5882 +}
  5883 +
  5884 +清掉成功后会自动返回键盘在线状态,详见4.8.1。
  5885 +
  5886 +支持设备说明
  5887 +
  5888 + ----------------------- ----------------------- -----------------------
  5889 + 基站+键盘 支持/不支持 备注
  5890 +
  5891 + B100-2.4G+S6 不支持
  5892 +
  5893 + B200-2.4G+S6 不支持
  5894 +
  5895 + B200-5.8G+T2 支持
  5896 + ----------------------- ----------------------- -----------------------
  5897 +
  5898 +### 清掉所有键盘
  5899 +
  5900 +发送:
  5901 +
  5902 +fun: \"clearKeypadOnLine\" //清掉所有键盘
  5903 +
  5904 +params:{} //无
  5905 +
  5906 +指令样例:
  5907 +
  5908 +{\
  5909 +    \"fun\":\"clearKeypadOnLine\",
  5910 +
  5911 +\"packetTag\":\"1\"\
  5912 +}
  5913 +
  5914 +接收:
  5915 +
  5916 +{\
  5917 +    \"fun\":\"clearKeypadOnLine\",\
  5918 +    \"baseId\":1,\
  5919 +    \"packetTag\":\"1\",\
  5920 +    \"infos\":{\
  5921 +        \"state\":\"OK\"\
  5922 +    }\
  5923 +}
  5924 +
  5925 +支持设备说明
  5926 +
  5927 + ----------------------- ----------------------- -----------------------
  5928 + 基站+键盘 支持/不支持 备注
  5929 +
  5930 + B100-2.4G+S6 不支持
  5931 +
  5932 + B200-2.4G+S6 不支持
  5933 +
  5934 + B200-5.8G+T2 支持
  5935 + ----------------------- ----------------------- -----------------------
  5936 +
  5937 +### 锁定键盘
  5938 +
  5939 +发送:
  5940 +
  5941 +fun: \"lockKeypad\" //锁定键盘
  5942 +
  5943 +params:{} //数组对象,指定键盘需填
  5944 +
  5945 +指令样例:
  5946 +
  5947 +锁定指定键盘
  5948 +
  5949 +{\
  5950 +    \"fun\":\"lockKeypad\",\
  5951 +    \"params\":\[\
  5952 +        {\
  5953 +            \"keySn\":\"1837454011\"\
  5954 +        },\
  5955 +        {\
  5956 +            \"keySn\":\"1837454012\"\
  5957 +        }\
  5958 +    \],\
  5959 +    \"packetTag\":\"1\"\
  5960 +}
  5961 +
  5962 +接收:
  5963 +
  5964 +{\
  5965 +    \"fun\":\"lockKeypad\",\
  5966 +    \"baseId\":1,\
  5967 +    \"infos\":\[\
  5968 +        {\
  5969 +            \"keySn\":\"1837454011\",\
  5970 +            \"state\":\"OK\"\
  5971 +        },\
  5972 +        {\
  5973 +            \"keySn\":\"1837454012\",\
  5974 +            \"state\":\"OK\"\
  5975 +        }\
  5976 +    \],\
  5977 +    \"packetTag\":\"1\"\
  5978 +}
  5979 +
  5980 +支持设备说明
  5981 +
  5982 + ----------------------- ----------------------- -----------------------
  5983 + 基站+键盘 支持/不支持 备注
  5984 +
  5985 + B100-2.4G+S6 不支持
  5986 +
  5987 + B200-2.4G+S6 不支持
  5988 +
  5989 + B200-5.8G+T2 支持
  5990 + ----------------------- ----------------------- -----------------------
  5991 +
  5992 +### 解锁键盘
  5993 +
  5994 +发送:
  5995 +
  5996 +fun: \"unlockKeypad\" //解锁键盘
  5997 +
  5998 +params:{} //数组对象,指定键盘需填
  5999 +
  6000 +指令样例:
  6001 +
  6002 +解锁指定键盘
  6003 +
  6004 +{\
  6005 +    \"fun\":\"unlockKeypad\",\
  6006 +    \"params\":\[\
  6007 +        {\
  6008 +            \"keySn\":\"1837454011\"\
  6009 +        },\
  6010 +        {\
  6011 +            \"keySn\":\"1837454012\"\
  6012 +        }\
  6013 +    \],\
  6014 +    \"packetTag\":\"1\"\
  6015 +}
  6016 +
  6017 +接收:
  6018 +
  6019 +{\
  6020 +    \"fun\":\"unlockKeypad\",\
  6021 +    \"baseId\":1,\
  6022 +    \"infos\":\[\
  6023 +        {\
  6024 +            \"keySn\":\"1837454011\",\
  6025 +            \"state\":\"OK\"\
  6026 +        },\
  6027 +        {\
  6028 +            \"keySn\":\"1837454012\",\
  6029 +            \"state\":\"OK\"\
  6030 +        }\
  6031 +    \],\
  6032 +    \"packetTag\":\"1\"\
  6033 +}
  6034 +
  6035 +支持设备说明
  6036 +
  6037 + ----------------------- ----------------------- -----------------------
  6038 + 基站+键盘 支持/不支持 备注
  6039 +
  6040 + B100-2.4G+S6 不支持
  6041 +
  6042 + B200-2.4G+S6 不支持
  6043 +
  6044 + B200-5.8G+T2 支持
  6045 + ----------------------- ----------------------- -----------------------
  6046 +
  6047 +## 系统参数
  6048 +
  6049 +### 退出SunVoteWSTrayapp
  6050 +
  6051 +应用程序发送指令给SunVoteWSTrayapp,SunVoteWSTrayapp回应后将结束SunVoteSDK.exe进程。
  6052 +
  6053 +发送:
  6054 +
  6055 +fun: \"exit\" //退出SunVoteWSTrayapp
  6056 +
  6057 +params:{}//无该值
  6058 +
  6059 +packetTag:\"1\"//收到的packetTag,可用于分析通信状态
  6060 +
  6061 +指令样例:
  6062 +
  6063 +{\
  6064 +    \"fun\":\"exit\",\
  6065 +    \"packetTag\":\"1\"\
  6066 +}
  6067 +
  6068 +接收:
  6069 +
  6070 +fun: \"exit\" //退出SunVoteWSTrayapp
  6071 +
  6072 +infos:{}//无该值
  6073 +
  6074 +指令样例:
  6075 +
  6076 +{\
  6077 +    \"fun\":\"exit\",
  6078 +
  6079 +    \"packetTag\":\"1\"\
  6080 +}
  6081 +
  6082 +注意:配置文件中启用,命令才有效。
  6083 +
  6084 +### 托盘图标隐藏或显示
  6085 +
  6086 +发送:
  6087 +
  6088 +fun: \"SDKIcon\" //设置托盘图标隐藏或显示
  6089 +
  6090 +params:{\"value\":\"1\"}//1隐藏;0显示
  6091 +
  6092 +指令样例:
  6093 +
  6094 +{\
  6095 +    \"fun\":\"SDKIcon\",
  6096 +
  6097 +\"baseId\":0,
  6098 +
  6099 +\"params\":{\
  6100 +        \"value\":\"1\"\
  6101 +    },
  6102 +
  6103 + \"packetTag\":\"1\"
  6104 +
  6105 +}
  6106 +
  6107 +接收:
  6108 +
  6109 +fun: \"SDKIcon\"
  6110 +
  6111 +infos:{\"value\":\"OK\"}
  6112 +
  6113 +指令样例:
  6114 +
  6115 +{\
  6116 +    \"fun\":\"SDKIcon\",\
  6117 +     \"infos\":{
  6118 +
  6119 +        \"value\":\"OK\"\
  6120 +    },
  6121 +
  6122 + \"packetTag\":\"1\"}\
  6123 +}
  6124 +
  6125 +### 支持设备说明
  6126 +
  6127 + ----------------------- ----------------------- -----------------------
  6128 + 基站+键盘 支持/不支持 备注
  6129 +
  6130 + B100-2.4G+S6 支持
  6131 +
  6132 + B200-2.4G+S6 支持
  6133 +
  6134 + B200-5.8G+T2 支持
  6135 + ----------------------- ----------------------- -----------------------
  6136 +
  6137 +## 异常处理
  6138 +
  6139 +### SunVoteWSTrayapp收到数据异常
  6140 +
  6141 +SunVoteWSTrayapp收到异常数据,会不做处理,并返回以下错误信息描述。
  6142 +
  6143 +接收:
  6144 +
  6145 +fun: \"error\" //功能错误
  6146 +
  6147 +baseId: //无该值
  6148 +
  6149 +infos:{ \"funId\":\"F0001\",\"code\":\"10002\"}//
  6150 +
  6151 +指令样例:
  6152 +
  6153 +{\
  6154 +    \"fun\":\"error\",\
  6155 +    \"infos\":{\
  6156 +        \"funId\":\"F0001\",
  6157 +
  6158 +\"code\":\"10002\"\
  6159 +    },\
  6160 +    \"packetTag\":\"1\"\
  6161 +}
  6162 +
  6163 +发送:
  6164 +
  6165 +fun: \"error\" //功能错误
  6166 +
  6167 +baseId: //无该值
  6168 +
  6169 +infos: //无该值
  6170 +
  6171 +指令样例:
  6172 +
  6173 +{\
  6174 +    \"fun\":\"error\",
  6175 +
  6176 +\"packetTag\":\"1\"\
  6177 +}
  6178 +
  6179 + ---------------------- ------------------------------------------------
  6180 + code 含义
  6181 +
  6182 + 10001 不能正确解析的JSON数据
  6183 +
  6184 + 10002 解析JSON错误
  6185 +
  6186 + 20001 基站未连接
  6187 +
  6188 + 20002 功能不支持
  6189 +
  6190 + 20003 基站ID为负数,应用可以不传ID,默认为0
  6191 +
  6192 + 20004 参数错误
  6193 +
  6194 + 30001 找不到对应的SN
  6195 +
  6196 + 40001 升级功能只能支持一个基站在线
  6197 +
  6198 + 50001 此功能必须指定基站ID
  6199 +
  6200 + 60001 此功能必须指定键盘SN
  6201 + ---------------------- ------------------------------------------------
  6202 +
  6203 + ---------------- ------------------------------------------------------
  6204 + funId 含义
  6205 +
  6206 + F0001 基站未连接
  6207 +
  6208 + F0002 读基站信道
  6209 +
  6210 + F0003 写基站信道
  6211 +
  6212 + F0004 读基站baseId
  6213 +
  6214 + F0005 写基站baseId
  6215 +
  6216 + F0006 读基站名称
  6217 +
  6218 + F0007 写基站名称
  6219 +
  6220 + F0008 读键盘关机时间等级
  6221 +
  6222 + F0009 写键盘关机时间等级
  6223 +
  6224 + F0010 读基站配对码
  6225 +
  6226 + F0011 写基站配对码
  6227 +
  6228 + F0012 读基站序列号
  6229 +
  6230 + F0013 写基站序列号
  6231 +
  6232 + F0014 读基站硬件和软件版本
  6233 +
  6234 + F0015 写基站硬件版本
  6235 +
  6236 + F0016 读基站类型
  6237 +
  6238 + F0017 写基站类型
  6239 +
  6240 + F0018 读基站键盘容量和Lock
  6241 +
  6242 + F0019 写基站键盘容量和Lock
  6243 +
  6244 + F0020 读手动获取返回在线信息
  6245 +
  6246 + F0021 写手动获取返回在线信息
  6247 +
  6248 + F0022 读基站设备RF功率
  6249 +
  6250 + F0023 写基站设备RF功率
  6251 +
  6252 + F0024 读基站设备配对模式或基站名称(自定义)
  6253 +
  6254 + F0025 写基站设备配对模式
  6255 +
  6256 + F0026 读基站快速配对低功率模式
  6257 +
  6258 + F0027 写基站快速配对低功率模式
  6259 +
  6260 + F0028 读键盘登录菜单显示允许\[S6适用\]
  6261 +
  6262 + F0029 写键盘登录菜单显示允许\[S6适用\]
  6263 +
  6264 + F0030 读键盘登录密码\[S6适用\]
  6265 +
  6266 + F0031 写键盘登录密码\[S6适用\]
  6267 +
  6268 + F0032 读基站名称隐藏开关
  6269 +
  6270 + F0033 写基站名称隐藏开关
  6271 +
  6272 + F0034 读基站和键盘之间的心跳开关
  6273 +
  6274 + F0035 写基站和键盘之间的心跳开关
  6275 +
  6276 + F0036 读基站语言
  6277 +
  6278 + F0037 写基站语言
  6279 +
  6280 + F0038 读基站CRC
  6281 +
  6282 + F0039 写基站CRC
  6283 +
  6284 + F0040 写广播投票标题
  6285 +
  6286 + F0041 核对投票开启密码
  6287 +
  6288 + F0042 读基站获取投票开启密码
  6289 +
  6290 + F0043 写基站获取投票开启密码
  6291 +
  6292 + F0044 读基站用户自定义字符串
  6293 +
  6294 + F0045 写基站用户自定义字符串
  6295 +
  6296 + F0046 读基站UID
  6297 +
  6298 + F0047 写基站UID
  6299 +
  6300 + F0048 读键盘反馈模式参数
  6301 +
  6302 + F0049 写键盘反馈模式参数
  6303 +
  6304 + F0050 读基站当前是开启升级状态
  6305 +
  6306 + F0051 写基站当前是开启升级状态
  6307 +
  6308 + F0052 手动停止键盘升级状态
  6309 +
  6310 + F0053 写键盘当前是开启升级状态
  6311 +
  6312 + F0054 写踢出单只键盘
  6313 +
  6314 + F0055 写清掉所有键盘
  6315 +
  6316 + F0056 写锁定键盘
  6317 +
  6318 + F0057 写解锁键盘
  6319 +
  6320 + F0058 写T2键盘第二行文本【空闲模式】
  6321 +
  6322 + F0059 读考勤基站时钟设置
  6323 +
  6324 + F0060 写考勤基站时钟设置
  6325 +
  6326 + F0061 读考勤键盘每秒发送考勤信号次数
  6327 +
  6328 + F0062 写考勤键盘每秒发送考勤信号次数
  6329 +
  6330 + F0063 读考勤键盘发送考勤信号功率
  6331 +
  6332 + F0064 写考勤键盘发送考勤信号功率
  6333 +
  6334 + F0065 写修改键盘配对码
  6335 +
  6336 + F0066 写键盘功能提示预设字符串反馈
  6337 +
  6338 + F0067 写空闲模式
  6339 +
  6340 + F0068 单选多选带计时模式
  6341 +
  6342 + F0069 判断题带计时模式
  6343 +
  6344 + F0070 抢答题带计时模式
  6345 +
  6346 + F0071 数字题带计时模式
  6347 +
  6348 + F0072 绑定带计时模式
  6349 +
  6350 + F0073 基站快速配对
  6351 +
  6352 + F0074 读基站特征数据
  6353 +
  6354 + F0075 遥控关机
  6355 +
  6356 + F0076 读键盘在线SN
  6357 +
  6358 + F0077 写基站复位
  6359 +
  6360 + F0078 写键盘外设指令
  6361 +
  6362 + F0079 写键盘配对码
  6363 +
  6364 + F0080 写锁定键盘,解锁键盘
  6365 +
  6366 + F0081 填空题模式
  6367 +
  6368 + F0082 读NFC信息 姓名
  6369 +
  6370 + F0083 写NFC信息 姓名
  6371 +
  6372 + F0084 写NFC配对码
  6373 +
  6374 + F0085 NFC清除指令
  6375 +
  6376 + F0086 多题题型开始
  6377 +
  6378 + F0087 多题题型暂停
  6379 +
  6380 + F0088 多题题型继续上一次
  6381 +
  6382 + F0089 多题题型正确答案下发
  6383 +
  6384 + F0090 多题题型已答题结果转移
  6385 +
  6386 + F0091 写白名单
  6387 +
  6388 + F0092 读白名单
  6389 +
  6390 + F0093 写基站黑名单
  6391 +
  6392 + F0094 读基站黑名单
  6393 +
  6394 + F0095 C100B+S6\[旧款\]写键盘姓名
  6395 +
  6396 + F0096 C100B+S6\[旧款\]读键盘姓名
  6397 +
  6398 + F0097 键盘暂停休眠操作
  6399 +
  6400 + F0098 异步测试模式
  6401 +
  6402 + F0099 Tcp参数读
  6403 +
  6404 + F0100 Tcp参数写
  6405 +
  6406 + F0101 自定义题型参数
  6407 +
  6408 + F0102 写S6短信
  6409 +
  6410 + F0103 写S6键盘FSN
  6411 +
  6412 + F0104 自由题模式
  6413 +
  6414 +
  6415 + ---------------- ------------------------------------------------------
... ...