diff --git a/通讯协议-MQTT应用部分[内部].md b/通讯协议-MQTT应用部分[内部].md index 131762c..2db1e3f 100644 --- a/通讯协议-MQTT应用部分[内部].md +++ b/通讯协议-MQTT应用部分[内部].md @@ -50,27 +50,27 @@ Ver1.1.0 [TOC] -# 1. 前言 +# 前言 -## 1.1 背景 +## 背景 方便客户基于C200K基站设备使用 通信基站数据接收及解析。 -## 1.2 编写目的 +## 编写目的 此说明书是为了说明协议内容,开发流程,方便基于此进行二次开发。 -## 1.3 读者对象 +## 读者对象 1. 相关研发人员 2. 方案制定人员 3. 决策人员 -# 2. 开发流程 +# 开发流程 C200K基站,采用MQTT协议进行开发,基站接入MQTT服务器,应用从MQTT服务器下发指令和接收数据 @@ -79,7 +79,7 @@ C200K基站,采用MQTT协议进行开发,基站接入MQTT服务器,应用 ![](img/mqtt_1.png) -## 2.1 MQTT服务器准备 +## MQTT服务器准备 MQTT服务器要求: @@ -97,10 +97,10 @@ MQTT服务器配置结果检查 ![](img/mqtt_2.png) -## 3.2 协议简介 +## 协议简介 -### 3.2.1 MQTT +### MQTT 关于MQTT说明,请参考 https://mqtt.org/ @@ -109,7 +109,7 @@ ${clinetId} clinetId 客户id,为替换字符串。
${baseSn} baseSn 是基站编号,为替换字符串。 -#### 3.2.1.1 应用程序发布的主题 +#### 应用程序发布的主题 | 主题 | 功能 | | --- | --- | @@ -117,14 +117,14 @@ ${baseSn} baseSn 是基站编号,为替换字符串。 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | | /\${clientId}/${baseSn}/answer | 答题业务指令 | -#### 3.2.1.2 应用程序订阅的主题 +#### 应用程序订阅的主题 | 主题 | 功能 | | --- | --- | | /\${clientId}/${baseSn}/baseRe | 基站参数数据返回 | | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | | /\${clientId}/${baseSn}/answerRe | 答题数据返回 | -| /\${clientId}/${baseSn}/err | 状态码返回 | +| /\${clientId}/${baseSn}/stateCode | 状态码返回 | # JSON指令说明 @@ -150,7 +150,7 @@ baseSn:基站SN列表,字符串数组。可以传递一个基站SN。[此参 params:参数,可以为对象或者数组,用于伴随命令下发的数据附属包,详见具体功能定义。 packerTag: -数据标签字符串,用于区别当前指令与其他指令。应用程序发送给WSCmdApp的,用户可以自定义数据(如果用户无自定义数据,可以为包序号,这样可以区分回复的数据回复的是哪个数据包)。WSCmdApp回复应用程序时,直接回填应用程序收到的标签数据。 +数据标签字符串,用于区别当前指令与其他指令。应用程序发送给基站的,用户可以自定义数据(如果用户无自定义数据,可以为包序号,这样可以区分回复的数据回复的是哪个数据包)。基站回复应用程序时,直接回填应用程序收到的标签数据。 反馈:基站 -> 应用程序 @@ -159,14 +159,14 @@ packerTag: fun: "" //功能定义 baseSn:"2023031402" //基站SN infos: {} //信息对象/数组 - packetTag: "" // 数据包标签字符串,用于区别当前指令与其他指令。WSCmdApp发送给应用程序的用自增数字标记。WSCmdApp回复应用程序的,直接回填WSCmdApp收到的标签。 + packetTag: "" // 数据包标签字符串,用于区别当前指令与其他指令。基站发送给应用程序的用自增数字标记。基站回复应用程序的,直接回填基站收到的标签。 } ``` fun:同下发描述. baseSn:同下发描述. -infos:WSCmdApp反馈给应用程序层的数据。具体详见具体功能定义。 -packetTag:数据标签字符串,反馈功能函数的状态为应用程序附带的数据包,如果WSCmdApp主动发送数据,是一组自增数据。 +infos:基站反馈给应用程序层的数据。具体详见具体功能定义。 +packetTag:数据标签字符串,反馈功能函数的状态为应用程序附带的数据包,如果基站主动发送数据,是一组自增数据。 字段值说明: 反馈infos中的状态字段state,OK表示成功,FAIL表示失败。 @@ -175,12 +175,11 @@ X\~Y:范围内的值特指整数。 ## 心跳 -应用程序发送心跳,WSCmdApp回应,用于判断连接状态。 +应用程序发送心跳,基站回应,用于判断连接状态。 发送: fun: "heartBeat" //心跳 -baseId: //无该值 params:{}//无该值 packetTag:"1"//收到的packetTag,可用于分析通信状态 @@ -195,7 +194,6 @@ packetTag:"1"//收到的packetTag,可用于分析通信状态 接收: fun: "heartBeat" //心跳 -baseId: //无该值 infos:{}//无该值 packetTag:"1"//数据包标签 @@ -217,7 +215,7 @@ packetTag:"1"//数据包标签 | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/baseRW | 基站参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/baseRe | 基站参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 应用程序与网络基站连接成功后(收到心跳),可发送连接基站指令。收到基站连接成功后就可以与SunVote无线反馈系统(基站、键盘)通讯。 @@ -228,7 +226,7 @@ packetTag:"1"//数据包标签 | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/baseRW | 基站参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/baseRe | 基站参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 读取在线基站状态 发送: @@ -267,7 +265,7 @@ packetTag:"1" //收到的packetTag } ``` -基站连接后主动上报,WSCmdApp上报信息。 +基站连接后主动上报,基站上报信息。 接收: @@ -295,7 +293,7 @@ packetTag:"1" //收到的packetTag |**主题**|**格式**|**说明**| | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/baseRW | 基站参数设置,查询指令 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 接收: @@ -307,8 +305,7 @@ packetTag:"1" 指令样例: ```json { - "fun": "disconnectBase", - + "fun": "disconnectBase", "baseSn":"2023031402", "packetTag": "1" } @@ -320,7 +317,7 @@ packetTag:"1" |**主题**|**格式**|**说明**| | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/baseRW | 基站参数设置,查询指令 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 发送: @@ -332,8 +329,7 @@ params:{} //无该值 ```json { - "fun": "resetBase", - + "fun": "resetBase", "baseSn":"2023031402", "packetTag": "1" } @@ -351,7 +347,7 @@ params:{} //无该值 | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/answer | 答题业务指令 | | 订阅主题 | /\${clientId}/${baseSn}/answerRe | 答题数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 答题流程: @@ -716,7 +712,7 @@ infos:{"state":"OK"}//返回状态,成功为OK 接收: fun: "answerChoices" //选择题作答返回 - +baseSn:"2023031402" infos: {} |Json字段|字段含义|赋值及含义| @@ -1238,7 +1234,7 @@ infos:{"state":"OK"}//返回状态,成功为OK #### 丢包信息 -语音结束时WSCmdApp会发送该次语言的丢包率。 +语音结束时基站会发送该次语言的丢包率。 注意:此数据只在语音实时流时有效。 @@ -3593,7 +3589,7 @@ infos:{"state":"OK"}//返回状态,成功为OK | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/baseRW | 基站参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/baseRe | 基站参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 刷卡流程: ![](img/image6.png) @@ -3743,7 +3739,7 @@ infos:{"value":"OK"}//返回状态,成功为OK | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/baseRW | 基站参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/baseRe | 基站参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 读 @@ -5519,7 +5515,7 @@ infos:{"beacon":"0", "listenIn":"0"}// | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 键盘写参数可以不指定键盘SN,则对所有在线键盘进行写操作,但没有键盘状态返回。如需指定键盘信息下发,则需要指定键盘SN,所有键盘状态返回。 @@ -5592,7 +5588,7 @@ infos:{"state":"OK"}//返回状态,成功为OK |**主题**|**格式**|**说明**| | --- | --- | --- | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5611,7 +5607,7 @@ infos:{"state":"OK"}//返回状态,成功为OK |**主题**|**格式**|**说明**| | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5649,7 +5645,7 @@ infos:{}//数组对象,同发送的 |**主题**|**格式**|**说明**| | --- | --- | --- | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5682,7 +5678,7 @@ params:{}//读取时不需要 |**主题**|**格式**|**说明**| | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5709,7 +5705,7 @@ params:{"mode":"1", "value":"4"}// |**主题**|**格式**|**说明**| | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5740,7 +5736,7 @@ infos:{ "mode":"1", "value":"4"}//返回键盘反馈模式参数值 |**主题**|**格式**|**说明**| | --- | --- | --- | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5774,7 +5770,7 @@ infos:{ "keySn":"2307269906", "keyValue":"A"}//返回键盘反馈模式参数值 |**主题**|**格式**|**说明**| | --- | --- | --- | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5812,7 +5808,7 @@ infos:{ "keySn":"1479824643"}//返回键盘反馈模式参数值 |**主题**|**格式**|**说明**| | --- | --- | --- | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5849,7 +5845,7 @@ infos:{ "hModel": "67","keySn":"1479824643","keyValue":"0","ver":"1.0.0","volt": |**主题**|**格式**|**说明**| | --- | --- | --- | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5888,7 +5884,7 @@ infos:{ "hModel": "67","keySn":"1479824643","keyValue":"0","ver":"1.0.0","volt": |**主题**|**格式**|**说明**| | --- | --- | --- | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ```json { @@ -5919,7 +5915,7 @@ infos:{ "hModel": "67","keySn":"1479824643","keyValue":"0","ver":"1.0.0","volt": | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 读 发送: @@ -6016,7 +6012,7 @@ fun: "keypadHandUp" | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 写 发送: @@ -6067,7 +6063,7 @@ infos:{"keySn":"1837454011","state":"OK"}//遥控键盘关机 | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 写 @@ -6128,7 +6124,7 @@ infos:{"value":"0"}//10秒 | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 写 fun: "writeKeyMessage" //写键盘短消息 @@ -6222,7 +6218,7 @@ infos:{}//数组对象,同发送的 | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | 读 发送: @@ -6359,7 +6355,7 @@ infos:{}//数组对象,同发送的 | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/keyRW | 键盘参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/keyRe| 键盘参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ### 空闲标题 @@ -6676,7 +6672,7 @@ infos:{"state":"OK"}//返回状态,成功为OK | --- | --- | --- | | 发布主题 | /\${clientId}/${baseSn}/baseRW | 基站参数设置,查询指令 | | 订阅主题 | /\${clientId}/${baseSn}/baseRe | 基站参数数据返回 | -| 订阅主题 | /\${clientId}/${baseSn}/err | 状态码返回 | +| 订阅主题 | /\${clientId}/${baseSn}/stateCode | 状态码返回 | ### 自动返回在线信息 @@ -6791,58 +6787,11 @@ infos:{} //数组对象 | B200-5.8G+T2 | 支持 |键盘电量:百分比值| -## 系统参数 - -### 退出WSCmdApp - -WSCmdApp,WSCmdApp回应后将结束WSCmdApp.exe进程。 -发送: -fun: "exit" //退出WSCmdApp -params:{}//无该值 -packetTag:"1"//收到的packetTag,可用于分析通信状态 - - -指令样例: - -```json -{ - "fun": "exit", - "packetTag": "1" -} -``` - -接收: - -fun: "exit" //退出WSCmdApp -infos:{}//无该值 - - -指令样例: - -```json -{ - "fun": "exit", - "packetTag": "1" -} -``` - -注意:配置文件中启用,命令才有效。 - - - -### 支持设备说明 - -| **基站+键盘** | **支持** | **备注** | -| --- | --- | --- | -| B100-2.4G+S6 | 支持 || -| B200-2.4G+S6 | 支持 || -| B200-5.8G+T2 | 支持 || - ## 异常处理 -### WSCmdApp收到数据异常 +### 基站收到数据异常 -WSCmdApp收到异常数据,会不做处理,并返回以下错误信息描述。 +基站收到异常数据,会不做处理,并返回以下错误信息描述。 接收: fun: "error" //功能错误 @@ -6855,7 +6804,7 @@ infos:{ "funId":"F0001","code":"10002"}// { "fun": "error", "infos": { - "funId": "F0001", + "funId": "XXXX", //函数名称 "code": "10002" }, "packetTag": "1" @@ -6868,132 +6817,8 @@ infos:{ "funId":"F0001","code":"10002"}// |10002|解析JSON错误| |20001|基站未连接| |20002|功能不支持| -|20003|基站ID为负数,应用可以不传ID,默认为0| |20004|参数错误| |20005|基站繁忙| |30001|找不到对应的SN| -|30002|找不到对应的BaseID| -|30003|基站SN不是对应的BaseID| |40001|升级功能只能支持一个基站在线| -|50001|此功能必须指定基站ID| |60001|此功能必须指定键盘SN| - -| **funId** | **含义** | -| --- | --- | -|F0001|基站未连接| -|F0002|读基站信道| -|F0003|写基站信道| -|F0004|读取基站baseId 、信道、RF功率等级| -|F0005|写基站baseId| -|F0006|读基站名称| -|F0007|写基站名称| -|F0008|读键盘关机时间等级| -|F0009|写键盘关机时间等级| -|F0010|读基站配对码| -|F0011|写基站配对码| -|F0012|读基站序列号| -|F0013|写基站序列号| -|F0014|读取基站的型号、硬件版本、软件版本、设备SN号| -|F0015|写基站硬件版本| -|F0016|读基站类型| -|F0017|写基站类型| -|F0018|读基站键盘容量和Lock| -|F0019|写基站键盘容量和Lock| -|F0020|读手动获取返回在线信息| -|F0021|写手动获取返回在线信息| -|F0022|读基站设备RF功率| -|F0023|写基站设备RF功率| -|F0024|基站设备配对模式或基站名称(自定义)| -|F0025|基站设备升级固件| -|F0026|读基站快速配对低功率模式| -|F0027|写基站快速配对低功率模式| -|F0028|读键盘登录菜单显示允许[S6适用]| -|F0029|写键盘登录菜单显示允许[S6适用]| -|F0030|读键盘登录密码[S6适用]| -|F0031|写键盘登录密码[S6适用]| -|F0032|读基站名称隐藏开关| -|F0033|写基站名称隐藏开关| -|F0034|读基站和键盘之间的心跳开关| -|F0035|写基站和键盘之间的心跳开关| -|F0036|读基站语言| -|F0037|写基站语言| -|F0038|读基站CRC| -|F0039|写基站CRC| -|F0040|写广播投票标题| -|F0041|核对投票开启密码| -|F0042|读基站获取投票开启密码| -|F0043|写基站获取投票开启密码| -|F0044|读基站用户自定义字符串| -|F0045|写基站用户自定义字符串| -|F0046|读基站UID| -|F0047|写基站UID| -|F0048|读键盘反馈模式参数| -|F0049|写键盘反馈模式参数| -|F0050|读基站当前是开启升级状态| -|F0051|写基站当前是开启升级状态| -|F0052|手动停止键盘升级状态| -|F0053|写键盘当前是开启升级状态| -|F0054|写踢出单只键盘| -|F0055|写清掉所有键盘| -|F0056|写锁定键盘| -|F0057|写解锁键盘| -|F0058|写T2键盘第二行文本【空闲模式】| -|F0059|读考勤基站时钟设置| -|F0060|写考勤基站时钟设置| -|F0061|读考勤键盘每秒发送考勤信号次数| -|F0062|写考勤键盘每秒发送考勤信号次数| -|F0063|读考勤键盘发送考勤信号功率| -|F0064|写考勤键盘发送考勤信号功率| -|F0065|写修改键盘配对码| -|F0066|写键盘功能提示预设字符串反馈| -|F0067|写空闲模式| -|F0068|单选多选带计时模式| -|F0069|判断题带计时模式| -|F0070|抢答题带计时模式| -|F0071|数字题带计时模式| -|F0072|绑定带计时模式| -|F0073|基站快速配对| -|F0074|读基站特征数据| -|F0075|遥控关机| -|F0076|读键盘在线SN| -|F0077|写基站复位| -|F0078|写键盘外设指令| -|F0079|写键盘配对码| -|F0080|写锁定键盘,解锁键盘| -|F0081|填空题模式| -|F0082|读NFC信息 姓名| -|F0083|写NFC信息 姓名| -|F0084|写NFC配对码| -|F0085|NFC清除指令| -|F0086|多题题型开始| -|F0087|多题题型暂停| -|F0088|多题题型继续上一次| -|F0089|多题题型正确答案下发| -|F0090|多题题型已答题结果转移| -|F0091|写白名单| -|F0092|读白名单| -|F0093|写基站黑名单| -|F0094|读基站黑名单| -|F0095|C100B+S6[旧款]写键盘姓名| -|F0096|C100B+S6[旧款]读键盘姓名| -|F0097|键盘暂停休眠操作| -|F0098|异步测试模式| -|F0099|Tcp参数读| -|F0100|Tcp参数写| -|F0101|自定义题型参数| -|F0102|写S6短信| -|F0103|写S6键盘FSN| -|F0104|自由题模式| -|F0105|基站AES| -|F0106|基站AES 克隆| -|F0107|基础参数配置| -|F0108|删除指定白名单SN| -|F0109|追加指定SN 到白名单| -|F0110|语音题模式| -|F0111|多题快答模式| -|F0112|快速配对模式| -|F0113|键盘测试模式| -|F0114|写入积分和第二行文本| -|F0115|写入键盘姓名| -|F0116|键盘关机时间等级| -|F0117|基础配置模式|