diff --git a/通讯协议-B200W-MQTT协议[内部].md b/通讯协议-B200W-MQTT协议[内部].md index 9d60d3f..2393ff5 100644 --- a/通讯协议-B200W-MQTT协议[内部].md +++ b/通讯协议-B200W-MQTT协议[内部].md @@ -396,14 +396,21 @@ |0|指令收取成功| |10001|不能正确解析的JSON数据| |10002|解析JSON错误| +|10003|下发数据包超长| |20001|基站未连接| |20002|功能不支持| |20003|基站SN格式不正确| |20004|参数错误| -|20005|基站在答题中| +|20005|dataTag错误| +|20006|键盘SN错误| +|20007|tip参数错误| +|20008|value参数错误| +|30001|基站在答题中| +|30002|基站忙(内存不足)| |40001|升级功能只能支持一个基站| |50001|此功能必须指定基站| |60001|此功能必须指定键盘SN| +|70001|没有字库| - **示例代码** ```json diff --git a/通讯协议-B200W-MQTT协议[外].md b/通讯协议-B200W-MQTT协议[外].md index fc403fe..a27be44 100644 --- a/通讯协议-B200W-MQTT协议[外].md +++ b/通讯协议-B200W-MQTT协议[外].md @@ -156,7 +156,7 @@ |+version|string||否|基站固件版本| - **示例代码** -```Json +```json //连接成功 { "fun":"sEvtBsConnectState", @@ -190,7 +190,7 @@ |+value|int||是|有冲突的信道| - **示例代码** -```Json +```json { "fun":"sEvtBsChannelConflict", "dataTag":"1", @@ -213,7 +213,7 @@ |+value|int||是|刷卡的状态
1-成功
2-失败| - **示例代码** -```Json +```json { "fun":"sEvtBsNfcResults", "dataTag":"1", //不需要时可传空字符串 @@ -239,7 +239,7 @@ |+model|int||是|键盘型号| - **示例代码** -```Json +```json { "fun":"sEvtBsKpOnlineMsg", "dataTag":"1", @@ -268,22 +268,29 @@ |0|指令收取成功| |10001|不能正确解析的JSON数据| |10002|解析JSON错误| +|10003|下发数据包超长| |20001|基站未连接| |20002|功能不支持| |20003|基站SN格式不正确| |20004|参数错误| -|20005|基站在答题中| +|20005|dataTag错误| +|20006|键盘SN错误| +|20007|tip参数错误| +|20008|value参数错误| +|30001|基站在答题中| +|30002|基站忙(内存不足)| |40001|升级功能只能支持一个基站| |50001|此功能必须指定基站| |60001|此功能必须指定键盘SN| +|70001|没有字库| - **示例代码** -```Json +```json { "fun":"sEvtStateCode", "dataTag":"1", "data":{ - "funName":"startKpRollCall", + "funName":"startKpSignIn", "code":"20005" } } @@ -301,7 +308,7 @@ |fun|string|-|是|固定指令名称| |dataTag|string|-|否|数据包标识| - **示例代码** -```Json +```json { "fun":"getBsOnlineState", "dataTag":"1" @@ -318,7 +325,7 @@ |fun|string|-|是|固定指令名称| |dataTag|string|-|否|数据包标识| - **示例代码** -```Json +```json { "fun":"getBsConnectState", "dataTag":"1" @@ -344,7 +351,7 @@ |+baseSN|string||否|基站SN| - **示例代码** -```Json +```json //连接成功 { "fun":"fEvtBsOnlineState", @@ -373,7 +380,7 @@ |+timeStamp|long ||否|当前时间的时间戳| - **示例代码** -```Json +```json { "fun":"timeSync", "dataTag":"1", @@ -399,7 +406,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"getBsModel", "dataTag":"1" @@ -416,7 +423,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"getBsFWVersion", "dataTag":"1" @@ -436,7 +443,7 @@ |+value|string|-|是|基站的出厂编码| - **示例代码** -```Json +```json { "fun":"fEvtBsSN", "dataTag":"1", @@ -458,7 +465,7 @@ |+value|string|-|是|基站的型号名称| - **示例代码** -```Json +```json { "fun":"fEvtBsModel", "dataTag":"1", @@ -480,7 +487,7 @@ |+value|string||是|基站的固件版本号| - **示例代码** -```Json +```json { "fun":"fEvtBsFWVersion", "dataTag":"1", @@ -502,7 +509,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"getBsPairCode", "dataTag":"1" @@ -519,7 +526,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"getBsNfcLogin", "dataTag":"1" @@ -538,7 +545,7 @@ |+value|string|-|是|设置的基站刷卡配对状态
0-关闭刷卡配对
1-开启刷卡配对| - **示例代码** -```Json +```json { "fun":"setBsNfcLogin", "dataTag":"1", @@ -558,7 +565,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"getBsChannel", "dataTag":"1" @@ -577,7 +584,7 @@ |+value|string|-|是|设置的基站信道,可设范围:1-80| - **示例代码** -```Json +```json { "fun":"setBsChannel", "dataTag":"1", @@ -600,7 +607,7 @@ |+value|string||是|基站的配对码| - **示例代码** -```Json +```json { "fun":"fEvtBsPairCode", "dataTag":"1", @@ -623,7 +630,7 @@ |+value|string||是|基站信道| - **示例代码** -```Json +```json { "fun":"fEvtBsChannel", "dataTag":"1", @@ -645,7 +652,7 @@ |+value|string||是|0-关闭 1-开启| - **示例代码** -```Json +```json { "fun":"fEvtBsNfcLogin", "dataTag":"1", @@ -668,7 +675,7 @@ |dataTag|string|-|否|数据包标识| - **示例代码** -```Json +```json { "fun":"getBsSSID", "dataTag":"1" @@ -687,7 +694,7 @@ |+value|string||是|设置的基站SSID,最长12字符| - **示例代码** -```Json +```json { "fun":"setBsSSID", "dataTag":"1", @@ -710,7 +717,7 @@ |+value|string||是|基站名称| - **示例代码** -```Json +```json { "fun":"fEvtBsSSID", "dataTag":"1", @@ -732,7 +739,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"getBsKpLanguage", "dataTag":"1" @@ -751,7 +758,7 @@ |+value|string||是|设置键盘显示的语言
1-简体中文
2-英文| - **示例代码** -```Json +```json { "fun":"setBsKpLanguage", "dataTag":"1", @@ -774,7 +781,7 @@ |+value|string||是|设置键盘显示的语言
1-简体中文
2-英文| - **示例代码** -```Json +```json { "fun":"fEvtBsKpLanguage", "dataTag":"1", @@ -945,7 +952,7 @@ |+keySns|array||是|基站当前的白名单列表| - **示例代码** -```Json +```json { "fun":"fEvtBsWhitelist", "dataTag":"1", @@ -969,7 +976,7 @@ |++state|int||是|键盘SN的写入状态
0-写入成功
1-写入失败| - **示例代码** -```Json +```json { "fun":"fEvtSetBsWhitelist", "dataTag":"1", @@ -997,7 +1004,7 @@ |++state|int||是|键盘的增加状态
0-增加成功
1-增加失败| - **示例代码** -```Json +```json { "fun":"fEvtAddBsWhitelist", "dataTag":"1", @@ -1025,7 +1032,7 @@ |++state|int||是|键盘的删除状态
0-删除成功
1-删除失败| - **示例代码** -```Json +```json { "fun":"fEvtDelBsWhitelist", "dataTag":"1", @@ -1052,7 +1059,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"getBsTcpipParams", "dataTag":"1" @@ -1074,7 +1081,7 @@ |+ipAllocation|int||否|基站IP获取方式
0 - 手动指定
1 - DHCP获取| - **示例代码** -```Json +```json { "fun":"setBsTcpipParams", "dataTag":"1", @@ -1097,7 +1104,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"getBsMqttParams", "dataTag":"1" @@ -1120,7 +1127,7 @@ |+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒| - **示例代码** -```Json +```json { "fun":"setBsMqttParams", "dataTag":"1", @@ -1151,7 +1158,7 @@ |+ipAllocation|int||否|基站IP获取方式
0 - 手动指定
1 - DHCP获取| - **示例代码** -```Json +```json { "fun":"fEvtBsTcpipParams", "dataTag":"1", @@ -1181,7 +1188,7 @@ |+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒| - **示例代码** -```Json +```json { "fun":"fEvtBsMqttParams", "dataTag":"1", @@ -1339,7 +1346,7 @@ |+voltage|double||是|键盘电量| - **示例代码** -```Json +```json { "fun":"fEvtKpOnlineMsg", "dataTag":"1", @@ -1367,7 +1374,7 @@ |+keySns|array||否|需要执行指令的键盘SN数组,空数组表示所有键盘| - **示例代码** -```Json +```json { "fun":"remoteKpSleep", "dataTag":"1", @@ -1516,7 +1523,7 @@ |+tipTitle |string|-|否| 提示标题,长度最多不超过16个字节| - **示例代码** -```Json +```json //按键签到 { "fun":"startKpSignIn", @@ -1553,7 +1560,7 @@ |dataTag|string|-|否|数据包标识,可为空字符串| - **示例代码** -```Json +```json { "fun":"stopKpSignIn", "dataTag":"1" @@ -1651,6 +1658,8 @@ |++keySn|string||是|键盘SN| |++keyValue|string||是|键盘提交的按键值| |++keyTime|double||是|答题时间,从启动开始计算,单位秒| +|++voltage|double||是|键盘电量| +|++retryCount|int||是|键盘提交数据的重发次数| - **示例代码** @@ -1763,6 +1772,8 @@ |++keySn|string||是|键盘SN| |++keyValue|string||是|键盘提交的按键值
1-对
2-错| |++keyTime|double||是|答题时间,从启动开始计算,单位秒| +|++voltage|double||是|键盘电量| +|++retryCount|int||是|键盘提交数据的重发次数| - **示例代码** @@ -1850,6 +1861,8 @@ |++keySn|string||是|键盘SN| |++keyValue|string||是|键盘提交的按键值| |++keyTime|double||是|答题时间,从启动开始计算,单位秒| +|++voltage|double||是|键盘电量| +|++retryCount|int||是|键盘提交数据的重发次数| - **示例代码** @@ -1936,6 +1949,8 @@ |++keySn|string||是|键盘SN| |++keyValue|string||是|键盘提交的按键值| |++keyTime|double||是|答题时间,从启动开始计算,单位秒| +|++voltage|double||是|键盘电量| +|++retryCount|int||是|键盘提交数据的重发次数| - **示例代码** @@ -2016,6 +2031,8 @@ |++keySn|string||是|键盘SN| |++keyValue|string||是|键盘提交的按键值| |++keyTime|double||是|答题时间,从启动开始计算,单位秒| +|++voltage|double||是|键盘电量| +|++retryCount|int||是|键盘提交数据的重发次数| - **示例代码** @@ -2046,7 +2063,7 @@ |+examNo|int||是|0-9999
=0,新的测验
>0时,与上次启动卷号一致继续测验,不一致进入新的测验| |+mode|int||是|显示模式
0-不显示开头
1-显示“Q”开头
2-显示“题”开头| |+questions|array||是|题目详情| -|++symbol | string||是 | 题号前缀,可为空 | +|++symbol | string||是 | 题号前缀,分级标识为-,可为空,为空表示1级大题
最多为三级题号,即最多可以设为x-x-| |++quesType | int||是| 题目类型
1:单选
2:多选(排序)
3:数字
4:判断 | |++option |int||是 |选项数目
quesType = 1 有效。
quesType = 2 有效。
此项缺省时 默认4;
范围:1-10。| |++startNo | int||是| 起始题号 | @@ -2054,73 +2071,179 @@ - **示例代码** +**常用样例**:一级题型 + 显示“Q”开头, 单一题型,全单选题共10题 +```json +{ + "fun":"startKpExam", + "dataTag":"1", + "data":{ + "mode": 1, + "examNo": 1, + "questions": [{ + "quesType": 1, //单选题 + "startNo": 1, //题号从1开始 + "count":10 //连续10题 + }] + } +} +``` + +指令样例:一级题型 + 不显示开头,总题数6题 ```json -//自定义题号 { "fun":"startKpExam", "dataTag":"1", "data":{ "mode": 0, "examNo": 1, - "questions": [{ - //题号1-1-1 到1-1-10 共10题单选 - "symbol": "1-1-", - "quesType": 1, - "startNo": 1, - "count":10 - }, { - //题号2-2和2-3共两题 多选题,5个选项 - "symbol": "2-", - "quesType": 2, - "option": 5, - "startNo": 2, - "count":2 - }, { - //题号3-1和3-2共两道数字题 + //第1、2题单选题,第3、4题多选题,第5题数字,第6题判断,共6题 + "questions": [{ + "quesType": 1, //单选题 + "startNo": 1, //题号从1开始 + "count":2 //连续2题 + },{ + "quesType": 2, //多选题 + "startNo": 3, //题号从3开始 + "count":2, //连续2题 + "option":5 + },{ + "quesType": 1, //数字题 + "startNo": 5, //题号从5开始 + "count":1 //连续1题 + },{ + "quesType": 4, //判断题 + "startNo": 6, //题号从6开始 + "count":1 //连续1题 + }] + } +} +``` + +指令样例:二级题型 + 不显示开头,总题数6题 +```json +{ + "fun":"startKpExam", + "dataTag":"1", + "data":{ + "mode": 0, + "examNo": 1, + //第1-1、1-2题单选题,第2-1、2-2题多选题,第3-1题数字,第4-1题判断,共6题 + "questions": [{ + "symbol": "1-", + "quesType": 1, //单选题 + "startNo": 1, //题号从1-1开始 + "count":2 //连续2题 + },{ + "symbol": "2-", + "quesType": 2, //多选题 + "startNo": 1, //题号从2-1开始 + "count":2, //连续2题 + "option":5 + },{ "symbol": "3-", - "quesType": 3, - "startNo": 1, - "count":2 - }, { - //题号4和5 ,判断题 - "symbol": "", - "quesType": 4, - "startNo": 4, - "count":2 + "quesType": 3, //数字题 + "startNo": 1, //题号从3-1开始 + "count":1 //连续1题 + },{ + "symbol": "4-", + "quesType": 4, //判断题 + "startNo": 1, //题号从4-1开始 + "count":1 //连续1题 + }] + } +} +``` + +指令样例:三级题型 + 不显示开头,总题数6题 +```json +{ + "fun":"startKpExam", + "dataTag":"1", + "data":{ + "mode": 0, + "examNo": 1, + //第1-1-1、1-1-2题单选题,第1-2-1、1-2-2题多选题,第2-1-1题数字,第3-1-1题判断,共6题 + "questions": [{ + "symbol": "1-1-", + "quesType": 1, //单选题 + "startNo": 1, //题号从1-1-1开始 + "count":2 //连续2题 + },{ + "symbol": "1-2-", + "quesType": 2, //多选题 + "startNo": 1, //题号从1-2-1开始 + "count":2, //连续2题 + "option":5 + },{ + "symbol": "2-1-", + "quesType": 3, //数字题 + "startNo": 1, //题号从2-1-1开始 + "count":1 //连续1题 + },{ + "symbol": "3-1-", + "quesType": 4, //判断题 + "startNo": 1, //题号从3-1-1开始 + "count":1 //连续1题 }] } } +``` -//显示Q开头 +指令样例:一级题型 + 显示“Q”开头, 共6题 +```json { "fun":"startKpExam", "dataTag":"1", "data":{ "mode": 1, "examNo": 1, - "questions": [{ - //Q1-Q20,单选题 - "symbol": "", - "quesType": 1, - "startNo": 1, - "count":20 + "questions": [{ + "quesType": 1, //单选题 + "startNo": 1, //题号从1开始 + "count":2 //连续2题 + },{ + "quesType": 2, //多选题 + "startNo": 3, //题号从3开始 + "count":2, //连续2题 + "option":5 + },{ + "quesType": 1, //数字题 + "startNo": 5, //题号从5开始 + "count":1 //连续1题 + },{ + "quesType": 4, //判断题 + "startNo": 6, //题号从6开始 + "count":1 //连续1题 }] } } +``` -//显示题开头 +指令样例:一级题型 + 显示“题”开头, 共6题 +```json { "fun":"startKpExam", "dataTag":"1", "data":{ "mode": 2, "examNo": 1, - "questions": [{ - //题1-题20,单选题 - "symbol": "", - "quesType": 1, - "startNo": 1, - "count":20 + "questions": [{ + "quesType": 1, //单选题 + "startNo": 1, //题号从1开始 + "count":2 //连续2题 + },{ + "quesType": 2, //多选题 + "startNo": 3, //题号从3开始 + "count":2, //连续2题 + "option":5 + },{ + "quesType": 1, //数字题 + "startNo": 5, //题号从5开始 + "count":1 //连续1题 + },{ + "quesType": 4, //判断题 + "startNo": 6, //题号从6开始 + "count":1 //连续1题 }] } }