diff --git a/通讯协议-B200W-MQTT协议[外].md b/通讯协议-B200W-MQTT协议[外].md
index 5a46aa6..c05238e 100644
--- a/通讯协议-B200W-MQTT协议[外].md
+++ b/通讯协议-B200W-MQTT协议[外].md
@@ -159,6 +159,7 @@ MQTT服务器配置结果检查
|+version|string||否|基站固件版本|
- **示例代码**
+
```json
//连接成功
{
@@ -194,6 +195,7 @@ MQTT服务器配置结果检查
|+value|int||是|有冲突的信道|
- **示例代码**
+
```json
{
"fun":"sEvtBsChannelConflict",
@@ -218,6 +220,7 @@ MQTT服务器配置结果检查
|+value|int||是|刷卡的状态
1-成功
2-失败|
- **示例代码**
+
```json
{
"fun":"sEvtBsNfcResults",
@@ -245,6 +248,7 @@ MQTT服务器配置结果检查
|+voltage|double||是|键盘电压|
- **示例代码**
+
```json
{
"fun":"sEvtBsKpOnlineMsg",
@@ -286,6 +290,7 @@ MQTT服务器配置结果检查
|60001|此功能必须指定键盘SN|
- **示例代码**
+
```json
{
"fun":"sEvtStateCode",
@@ -313,6 +318,7 @@ MQTT服务器配置结果检查
|fun|string|-|是|固定指令名称|
|dataTag|string|-|否|数据包标识|
- **示例代码**
+
```json
{
"fun":"getBsOnlineState",
@@ -330,6 +336,7 @@ MQTT服务器配置结果检查
|fun|string|-|是|固定指令名称|
|dataTag|string|-|否|数据包标识|
- **示例代码**
+
```json
{
"fun":"getBsConnectState",
@@ -358,6 +365,7 @@ MQTT服务器配置结果检查
|+baseSN|string||否|基站SN|
- **示例代码**
+
```json
//连接成功
{
@@ -387,6 +395,7 @@ MQTT服务器配置结果检查
|+timeStamp|long ||否|当前时间的时间戳|
- **示例代码**
+
```json
{
"fun":"timeSync",
@@ -414,6 +423,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsModel",
@@ -432,6 +442,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsFWVersion",
@@ -453,6 +464,7 @@ MQTT服务器配置结果检查
|+value|string|-|是|基站的出厂编码|
- **示例代码**
+
```json
{
"fun":"fEvtBsSN",
@@ -524,6 +536,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsPairCode",
@@ -542,6 +555,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsNfcLogin",
@@ -562,6 +576,7 @@ MQTT服务器配置结果检查
|+value|string|-|是|设置的基站刷卡配对状态
0-关闭刷卡配对
1-开启刷卡配对|
- **示例代码**
+
```json
{
"fun":"setBsNfcLogin",
@@ -583,6 +598,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsChannel",
@@ -603,6 +619,7 @@ MQTT服务器配置结果检查
|+value|string|-|是|设置的基站信道,可设范围:1-80|
- **示例代码**
+
```json
{
"fun":"setBsChannel",
@@ -627,6 +644,7 @@ MQTT服务器配置结果检查
|+value|string||是|基站的配对码|
- **示例代码**
+
```json
{
"fun":"fEvtBsPairCode",
@@ -650,6 +668,7 @@ MQTT服务器配置结果检查
|+value|string||是|基站信道|
- **示例代码**
+
```json
{
"fun":"fEvtBsChannel",
@@ -673,6 +692,7 @@ MQTT服务器配置结果检查
|+value|string||是|0-关闭 1-开启|
- **示例代码**
+
```json
{
"fun":"fEvtBsNfcLogin",
@@ -697,6 +717,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识|
- **示例代码**
+
```json
{
"fun":"getBsSSID",
@@ -717,6 +738,7 @@ MQTT服务器配置结果检查
|+value|string||是|设置的基站SSID,最长12字符|
- **示例代码**
+
```json
{
"fun":"setBsSSID",
@@ -741,6 +763,7 @@ MQTT服务器配置结果检查
|+value|string||是|基站名称|
- **示例代码**
+
```json
{
"fun":"fEvtBsSSID",
@@ -764,6 +787,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsKpLanguage",
@@ -784,6 +808,7 @@ MQTT服务器配置结果检查
|+value|string||是|设置键盘显示的语言
1-简体中文
2-英文|
- **示例代码**
+
```json
{
"fun":"setBsKpLanguage",
@@ -808,6 +833,7 @@ MQTT服务器配置结果检查
|+value|string||是|设置键盘显示的语言
1-简体中文
2-英文|
- **示例代码**
+
```json
{
"fun":"fEvtBsKpLanguage",
@@ -831,6 +857,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsTcpipParams",
@@ -854,6 +881,7 @@ MQTT服务器配置结果检查
|+ipAllocation|int||否|基站IP获取方式
0 - 手动指定
1 - DHCP获取|
- **示例代码**
+
```json
{
"fun":"setBsTcpipParams",
@@ -878,6 +906,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsMqttParams",
@@ -902,6 +931,7 @@ MQTT服务器配置结果检查
|+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒|
- **示例代码**
+
```json
{
"fun":"setBsMqttParams",
@@ -934,6 +964,7 @@ MQTT服务器配置结果检查
|+ipAllocation|int||否|基站IP获取方式
0 - 手动指定
1 - DHCP获取|
- **示例代码**
+
```json
{
"fun":"fEvtBsTcpipParams",
@@ -965,6 +996,7 @@ MQTT服务器配置结果检查
|+interval|int|>=10|否|基站连接服务器失败后重连的间隔时长,单位秒|
- **示例代码**
+
```json
{
"fun":"fEvtBsMqttParams",
@@ -992,6 +1024,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun":"getBsLogInfo",
@@ -1020,6 +1053,7 @@ MQTT服务器配置结果检查
|++info|string||否|设置的反馈信息
不同键盘可设置不同反馈信息|
- **示例代码**
+
```json
//分别提示
{
@@ -1067,6 +1101,7 @@ MQTT服务器配置结果检查
|++state|string||是|设置的提示语是否成功
0 - 成功
1 - 失败|
- **示例代码**
+
```json
{
"fun": "fEvtSetKpUserPrompt",
@@ -1101,6 +1136,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun": "startGetKpOnline",
@@ -1119,6 +1155,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun": "stopGetKpOnline",
@@ -1148,6 +1185,7 @@ MQTT服务器配置结果检查
|+keySns|array||否|需要执行指令的键盘SN数组,空数组表示所有键盘|
- **示例代码**
+
```json
{
"fun":"remoteKpSleep",
@@ -1179,6 +1217,7 @@ MQTT服务器配置结果检查
|++info|string||是|设置的绑定信息,一般为学生姓名
最长48个字符,显示在键盘左上角|
- **示例代码**
+
```json
{
"fun": "rtSetKpBindingInfo",
@@ -1209,6 +1248,7 @@ MQTT服务器配置结果检查
|+keySns|array||否|需要清除绑定信息键盘SN数组,
空数组表示清空所有键盘|
- **示例代码**
+
```json
{
"fun": "clearKpBindingInfo",
@@ -1237,6 +1277,7 @@ MQTT服务器配置结果检查
|++state|string||是|设置的绑定信息是否成功
0 - 成功
1 - 失败|
- **示例代码**
+
```json
{
"fun": "fEvtKpBindingInfo",
@@ -1267,6 +1308,7 @@ MQTT服务器配置结果检查
|+state|string||是|设置的绑定信息是否成功
0 - 成功
1 - 失败|
- **示例代码**
+
```json
{
"fun": "fEvtClearKpBindingInfo",
@@ -1293,6 +1335,7 @@ MQTT服务器配置结果检查
|+mode|int|-|是|签到模式
2-PIN码签到,输入pin码后由应用程序决定是否授权|
- **示例代码**
+
```json
{
"fun": "rtStartKpSignIn",
@@ -1314,6 +1357,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun": "rtStopKpSignIn",
@@ -1335,6 +1379,7 @@ MQTT服务器配置结果检查
|+state|int|-|是|1-授权成功
2-授权失败
3-解除已授权|
- **示例代码**
+
```json
{
"fun": "rtSetKpLoginAllowed",
@@ -1365,6 +1410,7 @@ MQTT服务器配置结果检查
|++keyTime|double||是|答题时间,从启动开始计算,单位秒|
- **示例代码**
+
```json
{
"fun": "fEvtKpSignIn",
@@ -1397,6 +1443,7 @@ MQTT服务器配置结果检查
|+state|string||是|0-执行成功
1-执行失败|
- **示例代码**
+
```json
{
"fun": "fEvtKpLoginAllowed",
@@ -1427,6 +1474,7 @@ MQTT服务器配置结果检查
|+tip|string||否|提示的标题,长度不超过16字符|
- **示例代码**
+
```json
{
"fun": "startQATrueFalse",
@@ -1451,6 +1499,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun": "stopQATrueFalse",
@@ -1477,6 +1526,7 @@ MQTT服务器配置结果检查
|++keyTime|double||是|答题时间,从启动开始计算,单位秒|
- **示例代码**
+
```json
{
"fun": "fEvtQATrueFalse",
@@ -1511,6 +1561,7 @@ MQTT服务器配置结果检查
|+tip|string||否|提示的标题,长度不超过16字符|
- **示例代码**
+
```json
{
"fun": "startQAChoice",
@@ -1538,6 +1589,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun": "stopQAChoice",
@@ -1564,6 +1616,7 @@ MQTT服务器配置结果检查
|++keyTime|double||是|答题时间,从启动开始计算,单位秒|
- **示例代码**
+
```json
{
"fun": "fEvtQAChoice",
@@ -1597,6 +1650,7 @@ MQTT服务器配置结果检查
|+tip|string||否|提示的标题,长度不超过16字符|
- **示例代码**
+
```json
{
"fun": "startQANum",
@@ -1624,6 +1678,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun": "stopQANum",
@@ -1650,6 +1705,7 @@ MQTT服务器配置结果检查
|++keyTime|double||是|答题时间,从启动开始计算,单位秒|
- **示例代码**
+
```json
{
"fun": "fEvtQANum",
@@ -1680,6 +1736,7 @@ MQTT服务器配置结果检查
|+tip|string||否|提示的标题,长度不超过16字符|
- **示例代码**
+
```json
{
"fun": "startQAQuicker",
@@ -1704,6 +1761,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun": "stopQAQuicker",
@@ -1730,6 +1788,7 @@ MQTT服务器配置结果检查
|++keyTime|double||是|答题时间,从启动开始计算,单位秒|
- **示例代码**
+
```json
{
"fun": "fEvtQAQuicker",
@@ -1765,6 +1824,7 @@ MQTT服务器配置结果检查
|++count | int||是| 题目数量 |
- **示例代码**
+
```json
//自定义题号
{
@@ -1848,6 +1908,7 @@ MQTT服务器配置结果检查
|dataTag|string|-|否|数据包标识,可为空字符串|
- **示例代码**
+
```json
{
"fun": "stopKpExam",
@@ -1868,6 +1929,7 @@ MQTT服务器配置结果检查
|+keySns|array||是|指定的键盘SN数组,空数组表示全部在线键盘|
- **示例代码**
+
```json
{
"fun": "rtKpAllowEdited",
@@ -1897,6 +1959,7 @@ MQTT服务器配置结果检查
|++keyTime|double||是|答题时间,从启动开始计算,单位秒|
- **示例代码**
+
```json
{
"fun": "fEvtKpExam",
@@ -1930,6 +1993,7 @@ MQTT服务器配置结果检查
|++keyTime|double||是|提交时间,从启动开始计算,单位秒|
- **示例代码**
+
```json
{
"fun": "fEvtFinalSubmit",