diff --git a/海亮定制.md b/海亮定制.md
index 290eaf2..bb663e7 100644
--- a/海亮定制.md
+++ b/海亮定制.md
@@ -178,7 +178,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /client/${client}/operate | 备注 |
| --- | --- | --- |
-|``` { "i": 19, "t": 1634802943} ```:|:| t 当前时间轴 秒 |
+||``` { "i": 19, "t": 1634802943} ```| t 当前时间轴 秒 |
### 基站管理
@@ -190,7 +190,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /client/${clientId}/online | 备注 |
| --- | --- | --- |
-| { "i": 40} | 基站上线 |
+| |``` { "i": 40} ``` | 基站上线 |
#### 基站下线
@@ -199,7 +199,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /client/${clientId}/offline | 备注 |
| --- | --- | --- |
-| { "i": 41} | 基站下线 |
+| |``` { "i": 41} ``` | 基站下线 |
#### 基站信息设置与读取
@@ -208,8 +208,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /client/${client}/operate | 备注 |
| --- | --- | --- |
-| { "i": 20, "m": { "f": 0, "ap": 0, "rssi": 0, "khs": "on", "mm": 1, "pm": 0, "arti": 30, "mqtt\_ip": "edunew.sunvotecloud.cn", "mqtt\_port": 8443, "mqtt\_username": "admin", "mqtt\_password": "1223456789", "heartbeat":0, "keypad\_af":0, "keypad\_ap":0 }} | f 基站频点ap 考勤功率 rssi 答题器考勤的RSSI阈值 khs 键盘心跳开关 mm 基站配对模式arti 考勤上报时间间隔 pm 键盘关机模式 mqtt\_ip:连接服务器的IP(只能是IP,不能是域名) mqtt\_port:连接mqtt服务器的端口 mqtt\_username: 连接mqtt服务器的用户名 Mqtt\_password:连接mqtt服务器的密码 heartbeat: 心跳 0 关闭 1 开启 Keypad\_af:考勤频率(0-3) keypad\_ap:考勤功率(0-5)注意:如果没有该字段则不设置该值,保持原值下发对有需要修改的值设置完成后,基站信息会自动上报一次
- |
+| |``` { "i": 20, "m": { "f": 0, "ap": 0, "rssi": 0, "khs": "on", "mm": 1, "pm": 0, "arti": 30, "mqtt\_ip": "edunew.sunvotecloud.cn", "mqtt\_port": 8443, "mqtt\_username": "admin", "mqtt\_password": "1223456789", "heartbeat":0, "keypad\_af":0, "keypad\_ap":0 }} ``` | f 基站频点ap 考勤功率 rssi 答题器考勤的RSSI阈值 khs 键盘心跳开关 mm 基站配对模式arti 考勤上报时间间隔 pm 键盘关机模式 mqtt\_ip:连接服务器的IP(只能是IP,不能是域名) mqtt\_port:连接mqtt服务器的端口 mqtt\_username: 连接mqtt服务器的用户名 Mqtt\_password:连接mqtt服务器的密码 heartbeat: 心跳 0 关闭 1 开启 Keypad\_af:考勤频率(0-3) keypad\_ap:考勤功率(0-5)注意:如果没有该字段则不设置该值,保持原值下发对有需要修改的值设置完成后,基站信息会自动上报一次 |
#### 基站信息上报
@@ -218,10 +217,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /client/${client}/report | 备注 |
| --- | --- | --- |
-| { "i": 21,"cId":"2024010282" "m": { "f": 1, "ap": 1, "rssi": 1, "khs": "off", "mc": "AFCEABCD", "mm": 4, "sn": "32121234", "arti": 30, "pm": 1, "cm": "1.0.0", "cv": "1.0.0", "mqtt\_ip": "edunew.sunvotecloud.cn", "mqtt\_port": 8443, "mqtt\_username": "admin", "mqtt\_password": "1223456789", "heartbeat":0, "keypad\_af":0, "keypad\_ap":0
-
- }} | f 基站频点ap 考勤功率 rssi 答题器考勤的RSSI阈值 khs 键盘心跳开关 mc 基站配对码 mm 基站配对模式arti 考勤上报时间间隔 sn 基站sn号 cm 客户端设备型号 cv 客户端设备版本 pm 键盘关机模式读取时,会全部返回值 mqtt\_ip:连接服务器的IP mqtt\_port:连接mqtt服务器的端口 mqtt\_username: 连接mqtt服务器的用户名 Mqtt\_password:连接mqtt服务器的密码 heartbeat: 心跳 0 关闭 1 开启 Keypad\_af:考勤频率(0-3 0关闭) keypad\_ap:考勤功率(0-5) cId 基站编号
- |
+| |{``` "i": 21,"cId":"2024010282" "m": { "f": 1, "ap": 1, "rssi": 1, "khs": "off", "mc": "AFCEABCD", "mm": 4, "sn": "32121234", "arti": 30, "pm": 1, "cm": "1.0.0", "cv": "1.0.0", "mqtt\_ip": "edunew.sunvotecloud.cn", "mqtt\_port": 8443, "mqtt\_username": "admin", "mqtt\_password": "1223456789", "heartbeat":0, "keypad\_af":0, "keypad\_ap":0 }} ```| f 基站频点ap 考勤功率 rssi 答题器考勤的RSSI阈值 khs 键盘心跳开关 mc 基站配对码 mm 基站配对模式arti 考勤上报时间间隔 sn 基站sn号 cm 客户端设备型号 cv 客户端设备版本 pm 键盘关机模式读取时,会全部返回值 mqtt\_ip:连接服务器的IP mqtt\_port:连接mqtt服务器的端口 mqtt\_username: 连接mqtt服务器的用户名 Mqtt\_password:连接mqtt服务器的密码 heartbeat: 心跳 0 关闭 1 开启 Keypad\_af:考勤频率(0-3 0关闭) keypad\_ap:考勤功率(0-5) cId 基站编号 |
#### 基站错误信息上报
@@ -230,7 +226,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /client/${client}/error | 备注 |
| --- | --- | --- |
-| { "i": 22, "m": { "et": 1, "em": "3" }} | et 错误类型 et = 1 :基站频点冲突 em 错误消息 em=3 :3号频点示例 基站频点3冲突 |
+| |``` { "i": 22, "m": { "et": 1, "em": "3" }} ```| et 错误类型 et = 1 :基站频点冲突 em 错误消息 em=3 :3号频点示例 基站频点3冲突 |
### 键盘管理
@@ -242,7 +238,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /client/${clientId}/card/online | 备注 |
| --- | --- | --- |
-| { "i":14, "m":[{ "c":"12345", "el":0.75, "t":1626016299 }]} | i = 14 键盘上线 el 电量信息答题器编号和上线时间及电量信息 |
+| |``` { "i":14, "m":[{ "c":"12345", "el":0.75, "t":1626016299 }]} ``` | i = 14 键盘上线 el 电量信息答题器编号和上线时间及电量信息 |
#### 键盘下线
@@ -251,42 +247,14 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /client/${clientId}/card/offline | 备注 |
| --- | --- | --- |
-| { "i":15, "m":[{ "c":"12345", "t":1626016299 }]} | i = 15 键盘下线
-答题器编号和下线时间 |
+| |``` { "i":15, "m":[{ "c":"12345", "t":1626016299 }]} ```| i = 15 键盘下线
答题器编号和下线时间 |
#### 键盘在线检测
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i":16} | i = 16应用主动通知键盘发送在线键盘信息。键盘上线参考"键盘上线3.3.3.1" |
-
-
-#### 键盘遥控指令
-
-应用程序发送给基站
-
-| 主题 | /lesson/class/${clinetId}/receive | 备注 |
-| --- | --- | --- |
-| { "i":52, "m"{ "cmd":"shutdown" }} | i = 52通知遥控指令 Cmd 不超过16个字符 Cmd = "shutdown"遥控关机Cmd="reset" 遥控重启 |
-
-
-#### 开启白名单
-
-应用程序发送给基站
-
-| 主题 | /lesson/class/${clinetId}/receive | 备注 |
-| --- | --- | --- |
-| { "i":1} | i = 1 开启白名单 |
-
-
-#### 关闭白名单
-
-应用程序发送给基站
-
-| 主题 | /lesson/class/${clinetId}/receive | 备注 |
-| --- | --- | --- |
-| { "i":2} | i = 2 关闭白名单 |
+| |``` { "i":16} | i = 16应用主动通知键盘发送在线键盘信息。键盘上线参考"键盘上线3.3.3.1" ```||
#### 读取白名单
@@ -295,13 +263,13 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i":30,} | i = 30 读取白名单 |
+| |``` { "i":30,} ```| i = 30 读取白名单 |
基站发给应用程序
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i": 31, "total": 1, "current": 1, "m": ["2126932551"]} | i = 31 白名单上传 |
+| |``` { "i": 31, "total": 1, "current": 1, "m": ["2126932551"]} ```| i = 31 白名单上传 |
#### 添加白名单
@@ -310,8 +278,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i":3, "m":["12345","56789"]
-} | i = 3 添加白名单m内包含白名单键盘按编号 |
+| |``` { "i":3, "m":["12345","56789"]} ```| i = 3 添加白名单m内包含白名单键盘按编号 |
#### 删除白名单
@@ -320,8 +287,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i":4, "m":["12345","56789"]
-} | i = 4 删除白名单m内包含白名单键盘按编号 |
+| |``` { "i":4, "m":["12345","56789"]} ```| i = 4 删除白名单m内包含白名单键盘按编号 |
#### 清空白名单
@@ -330,7 +296,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i":5} | i = 5 清空白名单 |
+| |{ "i":5} | i = 5 清空白名单 |
### 签到
@@ -342,9 +308,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i": 12, "en": "12340", "qm": 7, "m": { "tp":"pin", "content":"hex: c7ebbbd8b4f0cfc2c3e633b5c0cad4cce2" }} | qm= 7 签到 en 序号(事务)ID,每个任务需要变化 Tp 签到模式 pin表示pin签到 Ok 表示按ok键签到,默认按OK键签到
-
- |
+| |{ "i": 12, "en": "12340", "qm": 7, "m": { "tp":"pin", "content":"hex: c7ebbbd8b4f0cfc2c3e633b5c0cad4cce2" }} | qm= 7 签到 en 序号(事务)ID,每个任务需要变化 Tp 签到模式 pin表示pin签到 Ok 表示按ok键签到,默认按OK键签到 |
#### 接收签到信息
@@ -353,7 +317,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/send | 备注 |
| --- | --- | --- |
-| { "i":13, "en":"12340", "qm":7, "m":[{ "c":"12345", "a":"6542", "t":1626016299 }] } | qm = 7 签到 en 发起的序号ID c 键盘sn号 t 表示时间A 签到附带信息 |
+| |{ "i":13, "en":"12340", "qm":7, "m":[{ "c":"12345", "a":"6542", "t":1626016299 }] } | qm = 7 签到 en 发起的序号ID c 键盘sn号 t 表示时间A 签到附带信息 |
#### 停止签到
@@ -362,7 +326,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i": 11, "en": "12340"} | 停止对序号12340的签到 |
+| |{ "i": 11, "en": "12340"} | 停止对序号12340的签到 |
#### 签到结果下发
@@ -371,7 +335,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i": 62, "en": "12340" "sn":["1","2"], "m":{ "success":0 "text":"hex:shjdfhkjhkjfd" }} | Pin 签到的签到结果下发 Success 签到状态结果Text 签到信息(例如签到失败) |
+| |{ "i": 62, "en": "12340" "sn":["1","2"], "m":{ "success":0 "text":"hex:shjdfhkjhkjfd" }} | Pin 签到的签到结果下发 Success 签到状态结果Text 签到信息(例如签到失败) |
### 单题
@@ -383,8 +347,8 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i": 12, "en": "12340", "qm": 1, "m": { "qt": 0, "on": 4, "content":"hex: c7ebbbd8b4f0cfc2c3e633b5c0cad4cce2" }} | 示例为单题模式的字母单选。题目内容必须要转成GBK 16进制hex进行传输,并且在内容前面标记为hex: qm =1 单题模式 i=12 下发答题/签到指令 qt 字母单选on 选项数content 题目主干内容 |
-| { "i": 12, "en": "12340", "qm": 1, "at": 1, "m": { "qt": 0, "on": 4, "content":"hex: c7ebbbd8b4f0cfc2c3e633b5c0cad4cce2" }} | 添加 at = 1 自动测试,键盘固定答案上传 |
+| |{ "i": 12, "en": "12340", "qm": 1, "m": { "qt": 0, "on": 4, "content":"hex: c7ebbbd8b4f0cfc2c3e633b5c0cad4cce2" }} | 示例为单题模式的字母单选。
题目内容必须要转成GBK 16进制hex进行传输,并且在内容前面标记为hex:
qm =1 单题模式
i=12 下发答题/签到指令
qt 字母单选
on 选项数
content 题目主干内容 |
+
#### 接收答题数据
@@ -393,7 +357,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/send | 备注 |
| --- | --- | --- |
-| { "i":13, "en":"12340", "qm":1, "c":"12345", "m":[{ "qn":1, "a":"A", "t":1626016299 }] } | 按照题号(qn)来上报答题数据,单题题号固定为1, t为提交答案时间文本题:hex: 标记是gbk编码的hex内容 I = 13 上报信息 qm 字母单选题 c 键盘编号 qn 第几题 单选固定是1t 答题时间 |
+| |{ "i":13, "en":"12340", "qm":1, "c":"12345", "m":[{ "qn":1, "a":"A", "t":1626016299 }] } | 按照题号(qn)来上报答题数据,单题题号固定为1, t为提交答案时间文本题:hex: 标记是gbk编码的hex内容 I = 13 上报信息 qm 字母单选题 c 键盘编号 qn 第几题 单选固定是1t 答题时间 |
#### 停止答题
@@ -402,7 +366,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| { "i": 11, "en": "12340"} | 停止对序号12340的测验 |
+| |{ "i": 11, "en": "12340"} | 停止对序号12340的测验 |
### 多题
@@ -414,8 +378,7 @@ ${clinetId} clinetId 是基站编号,为替换字符串。
| 主题 | /lesson/class/${clinetId}/receive | 备注 |
| --- | --- | --- |
-| "i":12, "en":"12341", "qm":2, "m":{ "qt":0, "on": 4, "qs":20, "content":"hex: c7ebbbd8b4f0cfc2c3e633b5c0cad4cce2" }} | 示例为多题模式不带内容的快速20道字母单选。 qm =2 多题模式 Qt 题目模式 qt = 0 字母单选 On 选项数量 Qs 题目数量
- |
+| |{"i":12, "en":"12341", "qm":2, "m":{ "qt":0, "on": 4, "qs":20, "content":"hex: c7ebbbd8b4f0cfc2c3e633b5c0cad4cce2" }} | 示例为多题模式不带内容的快速20道字母单选。 qm =2 多题模式 Qt 题目模式 qt = 0 字母单选 On 选项数量 Qs 题目数量|
#### 接收答题数据