转换盒MCU代码
更新日志
MCU协议
转换盒Android与MCU串口通讯协议(V2.2)
通信参数
- 接 口:UART(二线制)
- 波特率:115200
- 数 据:8位
- 校 验:无
- 格 式:ASCII,采用报文头($)+数据体+校验符+报文结束符(#)
下发(Android→MCU)
1. 心跳信号
要求Android每5秒内发送1次。若MCU在50秒内没有收到信号,将自动重启Android。
报文头 |
命令 |
分隔符 |
随机数 |
校验符 |
报文结束符 |
$ |
1 |
, |
1-F |
F-动态字符 |
# |
响应:Y#
2. 系统重启
报文头 |
命令 |
分隔符 |
数据 |
校验符 |
报文结束符 |
$ |
2 |
, |
状态值 |
F-动态字符 |
# |
注:状态值 0:核心板复位 1:断电
3. SIP注册状态
报文头 |
命令 |
分隔符 |
数据 |
校验符 |
报文结束符 |
$ |
3 |
, |
状态值 |
1 |
# |
说明:状态值 0:表示注册中,1表示注册成功,2表示注册失败!
4. SIP呼入(主机呼叫分机、主机应答分机)
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
4 |
, |
AABB |
F-数据字符 |
# |
说明:每个模拟分机都有一个2Bytes的地址码(0x0001-0xFFFE)
5. SIP挂断(关闭广播模式时地址FFFF)
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
5 |
, |
AABB |
F-数据字符 |
# |
6. 开启广播模式
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
6 |
, |
FFFF |
F-数据字符 |
# |
7. 打开指定门灯
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
7,G,W |
, |
AABB |
F-数据字符 |
# |
注:
- 命令"7"表示打开红色灯
- 命令"G"表示打开绿色灯
- 命令"W"表示打开白灯
8. 关闭指定门灯
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
8 |
, |
AABB |
F-数据字符 |
# |
9. 取消紧急呼叫
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
9 |
, |
AABB |
F-数据字符 |
# |
10. 设备注册请求命令
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
D |
, |
AABB |
F-数据字符 |
# |
11. 当前转换盒注册状态
报文头 |
命令 |
分隔符 |
地址(固定) |
数据 |
校验符 |
报文结束符 |
$ |
E |
, |
FFFF |
Y or N |
1 |
# |
说明:
- 数据Y:表示转换盒已在系统中注册(通过Web请求判别),N表示转换盒未在当前系统中注册!
- 所有分机在上电之后默认为非注册状态,只有主动发送Y之后才进入呼叫准备状态。
12. 通话双工模式选择
报文头 |
命令 |
分隔符 |
地址(固定) |
数据 |
校验符 |
报文结束符 |
$ |
F |
, |
FFFF |
0 or 1 |
1 |
# |
说明:
- 默认为0:双工通话,分机和主机可以同时双向通话,双向接听
- 1:单工通话,任一时刻分机和主机只有一方可以讲话,另一方接听
13. RALAY
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
O/P |
, |
AABB |
F-数据字符 |
# |
注:O-打开,P-关闭
上传(MCU→Android)
14. 分机呼叫主机
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
A |
, |
AABB |
F-数据字符 |
# |
15. 分机挂断主机
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
B |
, |
AABB |
F-数据字符 |
# |
16. 卫生间紧急呼叫
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
C |
, |
AABB |
F-数据字符 |
# |
17. 设备注册回复命令
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
D |
, |
AABB |
F-数据字符 |
# |
18. 设备请求注册命令
报文头 |
命令 |
分隔符 |
设备地址(4) |
设备序列号(15) |
校验符 |
报文结束符 |
$ |
E |
, |
AABB |
CSMNI1806120001 |
@ |
# |
19. 设备版本号
发送时机:收到心跳包后MCU上报Android。
报文头 |
命令 |
分隔符 |
版本号(15字节) |
校验符 |
报文结束符 |
$ |
V |
, |
XXXX |
F-数据字符 |
# |
版本号规划:
- 硬件版本(4个字节,例如HV10)
- 软件版本(4个字节,例如SV10)
- 软件更新日期(190705,6个字节)
- 序列号(1个字节)
20. 设备请求签到命令
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
Q |
, |
AABB |
F-数据字符 |
# |
21. 设备收到反馈
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
S |
, |
AABB |
F-数据字符 |
# |
22. 增援
发送时机:MCU上报Android。
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
Z |
, |
AABB |
F-数据字符 |
# |
23. 护理
发送时机:MCU上报Android。
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
H |
, |
AABB |
F-数据字符 |
# |
24. 换药
发送时机:MCU上报Android。
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
Y |
, |
AABB |
F-数据字符 |
# |
25. 清除所有事件
发送时机:MCU上报Android。
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
R |
, |
AABB |
F-数据字符 |
# |
26. 拔针
发送时机:MCU上报Android。
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
? |
, |
AABB |
F-数据字符 |
# |
27. 紧急按钮取消按键
发送时机:MCU上报Android。
报文头 |
命令 |
分隔符 |
设备地址(4) |
校验符 |
报文结束符 |
$ |
P |
, |
AABB |
F-数据字符 |
# |
注:Android收21到24的指令,如需反馈,同样格式发回数据。