1、本协议是针对与设备的数据通信,目前通信节点包括:设备、云端和APP终端三方。WIFI上的协议采用MQTT协议框架,串口上的通信采用包含包头和校验的二进制协议,通信包采用二进制格式传输,高位在前低位在后。 此协议定义的MQTT Topic类型有以下2种:1 单播,unicast/u/TargetType/TargetID2 广播,broadcast/b/SourceType/SourceID注释:TargetType:目标设备类型,TargetID:目标设备编码SourceType:源设备类型,SourceID:源设备编码3.2.2 通讯命令格式设备与云端、APP的通讯命令分为4种:请求与回应、
2、通知命令、广播命令,具体的命令以及格式在后面章节介绍。3.2.2 连接流程设备连接云端的步骤如下图:3.3 数据包格式定义数据包的格式根据通讯双方的不同、数据链路的差异会有不同的包格式,本协议为尽量保证数据包格式的统一,做了几点规划:1. 数据包格式中核心的部分包括CMD ID和CMD Payload,这两部分格式所有的包中保持一致,CMD ID 1个字节,CMD Payload紧跟CMD ID长度N字节。2. 设备间通讯,包括内部命令、外部转发命令等的数据包格式虽然可能不一样,但是都可以通过包头中的Option字节进行区分,可以公用相同的解析函数3. 外部串口通讯的命令格式与设备间通讯格式保
3、持一致。3.3.1 设备间通讯数据格式3.3.1.1 Fix header固定帧头,格式如下表:Head Option2Byte1Byte12 Byte同步头:0x5CFEHead Option:Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0预留CheckSum校验广播类型链路CRC校验加密选项typedef enum OPTIONAL_ENCRYPT_BIT = (10), OPTIONAL_CRC_BIT = (11), OPTIONAL_BROADCAST_DATALINK_BIT = (12), OPTIONAL_CHECKSUM_BIT = (1设备源设备GUID目
4、标设备GUID34字节上行数据格式,设备-PAD4. 公共命令定义下表是公共命令码以及命令数据的定义,此表仅涉及到上文提到的CMD ID和命令信息码(或回复码),命令中的其他部分数据请参考上文中的数据包定义。命令描述通信方命令组成设备内部命令起始请求配对从设备-主设备 CMD Key1Byte,0x01 CMD ID1Byte 业务设备类型5Byte 当前的内部设备类型1Byte 当前的内部设备编码3Byte,全0表示未配置过,非全0表示之前配置过 设备业务编码长度1Byte 设备业务编码N Byte 5个字节的业务设备类型,需要向乐君申请,并且保存在从设备中设备业务编码是用从设备自行定义的设
5、备ID字符串,不超过32字节请求配对回应主设备-从设备 CMD Key,0x01 RC1Byte,参考RC表 分配的设备类型1Byte 分配的设备ID3ByteMCU/从设备- CMD Key1Byte, 0x01 版本号1Byte 子设备类型1Byte,参考5.3章节:子设备类型表 内部设备类型1Byte 内部设备编码3Byte设备启动通知的回应MCU/从设备 RC1Byte, 参考RC表WiFi模块上电通知WiFi模块-MCUWiFi模块上电后定时发送上电通知给MCU,直至MCU上报上线通知给WiFi模块(适用于用于透传模式) RC1Byte,0成功,3超时,4退出MCU-WiFi模块 R
6、C1Byte,0成功,1失败 Baudrate4ByteBaudrate取值:9600192003840057600115200其他值返回fail默认值是9600返回值以新设置的波特率发送WiFi模块命令起始设备信息上报 Cloud/APP Num1Byte,设备个数 设备拥有者的小智IDstring, 10字节 WiFi模块Mac地址ASCII,12字节 GUIDASCII,17字节、设备业务编码长度1Byte、设备业务编码N Byte、固件版本1BYTE、设备硬件架构类型1BYTE、设置是否在线1Byte,若干MQTT主题:第一个设备是主设备设备硬件架构类型参考“设备硬件架构类型编码表”设
7、备是否在线,0不在线,1在线APP 设备GUIDASCII,17字节 用户的小智IDstring, 10字节获取WiFi模块监控数据Cloud/APP-获取WiFi模块监控数据回应Cloud/APP WiFi模块连接信号强度1Byte,有符号的1个字节,一般范围在-100Dbm0Dbm WiFi模块型号16byte, 小于16字节的字符串设置WiFi配置信息APP/Cloud/串口控制端- 是否设置拥有者ID1Byte,0不设置,1设置 是否设置路由器信息1Byte,0不设置,1设置 SSID Len,用户名长度1 BYTE,用户名长度小于等于32字节 PWD Len,密码长度1 BYTE,密
8、码小于等于64字节 SSID PWD设置WiFi配置信息回应设备-APP/Cloud/串口控制端 RC(参考命令回应编码表:0成功,1失败 GUIDASCII,17字节 APP/Cloud/串口控制端获取设备列表主设备 获取设备列表回应设置设备进入配对模式App/Cloud/串口控制端-设置设备进入配对模式回应 App/Cloud/串口控制端0成功,1失败) BYTE47设置设备退出配对模式48设置设备退出配对模式回应49请求同步时间Cloud50请求同步时间回应Cloud- RTC时间67Byte,格式是秒-分-时-日-月-年-星期几,各一个字节星期几的范围从17,1表示星期一51扫描AP列表控制端-52扫描AP列表回应设备到控制端 AP Number1Byte,扫描到的AP数量 AP信息 32Byte,SSID1Byte,RSSI信号强度若干SSID为字符串,最大32字节,返回数据中固定32字节位置存放SSID。信号强度取值范围0100 总包数2Byte 当前包号2Byte 包内容N BYTE,最大长度10240成功,1失败,32包号错误,33数据校验错误) 1 BYTE设置出厂信息App/Cloud- 设备ID12 Byte 设备业务ID长度1 Byte 设备业务IDN Byte设备业务ID长度为0表示不需要设备业务ID暂时只需要工厂测试程序支持设置出厂信息回应设
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1