一、通讯模型
设备主控MCU 通过串口和通讯模组(WIFI、4G)进行通讯
串口的通讯参数如下:
波特率:9600
数据位:8
奇偶校验:无
停止位:1
数据流控:无
WIFI模组供电电压:3.3V,电流(MAX):150mA
二、约定
长度:由两个字节(2B)组成,采用大端编码方式,即高字节在前,低字节在后。
指令格式:指令由以下部分按顺序构成。
注:所有指令接收方需确认,如发送方300ms内没有收到确认,发送方需重发该指令,每条指令最多重发3次。
三、通讯协议
3.1获取设备基本信息
通讯模块上电后,将向MCU查询设备信息。
通讯模块 >>> MCU
MCU回复: MCU >>> 通讯模块
3.2通讯模组向MCU发送业务指令
业务指令一般为控制指令,如开关设备、设置模式、设置温度、请求状态等
通讯模组 >>> MCU
MCU回复: MCU >>> 通讯模组
3.3MCU向通讯模组发送业务指令
应用场景一般为故障上报、开关状态/模式等通过其他方式如红外遥控、产品集成的功能按键改变之后,主动上报给通讯模组。
MCU >>> 通讯模组
通讯模组回复: 通讯模组 >>> MCU
3.3心跳
当通讯模组超过60秒没有收到MCU的数据包,将向MCU发送心跳包。MCU收到心跳包后应立即回复。当通讯模组连续3次没有收到MCU的心跳回复,则重启自身。如MCU 在180秒内没有收到通讯模组的心跳请求,则应通过硬件引脚重启通讯模组。
通讯模组向MCU发送心跳:通讯模组 >>> MCU
MCU回复: MCU >>> 通讯模组
3.4 MCU通知通讯模组(WIFI)进入配网模式
当WIFI模组收到进入配网模式指令后,需判断当前是否已成功连接上无线路由器,如已连接,则让设备处于可绑定模式,否则,让设备进入对应的SoftAP或AirLink等配网模式。
MCU >>> WIFI模组
WIFI模组回复: WIFI >>> MCU
3.5 重置WIFI模组
重置的内容包括WIFI 模组已保存的局域网WIFI SSID和密码,DID,Passcode等信息。
MCU >>> WIFI模组
WIFI模组回复: WIFI >>> MCU
3.6 重启MCU
通讯模组可以请求重启MCU,当做MCU OTA升级时可能使用该指令。
MCU向通讯模组确认重启: MCU >>> 通讯模组
为避免通讯模组没有收到确认而重发指令造成MCU多次重启,则MCU回复通讯模组后需等待600ms再进行重启操作。
3.7 WIFI模块通知MCU网络连接成功
通讯模组通知MCU网络连接成功
MCU向通讯模组确认收到: MCU >>> 通讯模组
3.8 非法包回复
通讯模块回复MCU非法数据包 通讯模块 >>> MCU
MCU回复通讯模块非法数据包 MCU >>> 通讯模块