# 转换盒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 | # | 说明: 1. 数据Y:表示转换盒已在系统中注册(通过Web请求判别),N表示转换盒未在当前系统中注册! 2. 所有分机在上电之后默认为非注册状态,只有主动发送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的指令,如需反馈,同样格式发回数据。