预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

设备通信协议目录TOC\o"1-3”1。ﻩ适用范围PAGEREF_Toc416183776\h32。ﻩ协议框架PAGEREF_Toc416183777\h33。协议内容ﻩPAGEREF_Toc416183778\h33。1设备内部组网协议(或者MCU透传模式协议)ﻩPAGEREF_Toc416183779\h33、1.1通讯命令格式ﻩPAGEREF_Toc416183780\h33。1、2配对机制ﻩPAGEREF_Toc416183781\h33。1.3连接机制ﻩPAGEREF_Toc416183782\h43、1、4心跳机制ﻩPAGEREF_Toc416183783\h53。2设备与云端通讯协议PAGEREF_Toc416183784\h53。2。1通讯命令格式ﻩPAGEREF_Toc416183785\h53.2。2连接流程PAGEREF_Toc416183786\h53、3数据包格式定义PAGEREF_Toc416183787\h63。3、1ﻩ设备间通讯数据格式ﻩPAGEREF_Toc416183788\h63.3.2设备与云、APP通讯数据格式ﻩPAGEREF_Toc416183789\h94.ﻩ公共命令定义PAGEREF_Toc416183790\h105.编码表ﻩPAGEREF_Toc416183791\h115、1节点类型编码表ﻩPAGEREF_Toc416183792\h115、2命令回应编码表PAGEREF_Toc416183793\h11ﻬ适用范围本协议定义WiFi模块与MCU控制单元,WiFi模块与云APP间,以及主从模块之间得通讯协议框架。协议框架协议基于二进制协议框架,完成命令发送接收、命令上报、内部组网等功能。协议内容3、1设备内部组网协议(或者MCU透传模式协议)备内部组网协议包括设备配对、连接、心跳机制等,目得就是将一个子设备加入到设备组中,并保持连接。3、1、1通讯命令格式采用二进制得通讯协议格式,包格式如下表:同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)CMDKeyCMDIDPayloadCRC(Option)2B1B1~2B1B1B3B1B1BNB2B详细得包格式在后续章节介绍3。1.2配对机制配对机制仅适用于设备内组网模式,MCU透传模式不需要组网协议。进入配对模式由主从设备分别触发,只有在进入配对模式后,才处理相关得配对命令、从设备进入配对模式后定时发送配对请求,直到收到请求回应。主设备收到请求后分配一个设备ID给从设备,标识此ID被占用,并等待采集器得上线通知,一定时间内收到通知之后确认存入设备列表,如果没有上线通知,则认为设备没有配对成功,从子设备中删除、从设备收到配对回应后存储设备ID,并且发送上线通知,收到上线通知后完成配对。配对得过程如下图所示:3.1.3连接机制设备每次上电连接需要发送上线通知以及连接所需要得参数给主设备,如下图所示:3。1.4心跳机制使用对等得心跳机制,主设备与从设备都可以发现对方得异常状态。3、2设备与云端通讯协议设备与云端通讯协议基于MQTT协议,数据包使用MQTT协议传输,数据加密方式采用SSL加密,命令码采用2进制命令格式同设备间通讯协议、3、2、1MQTT通讯框架本协议就是针对与设备得数据通信,目前通信节点包括:设备、云端与APP终端三方、WIFI上得协议采用MQTT协议框架,串口上得通信采用包含包头与校验得二进制协议,通信包采用二进制格式传输,高位在前低位在后、此协议定义得MQTTTopic类型有以下2种:单播,unicast/u/{TargetType}/{TargetID}广播,broadcast/b/{SourceType}/{SourceID}注释:TargetType:目标设备类型,TargetID:目标设备编码SourceType:源设备类型,SourceID:源设备编码3、2、2通讯命令格式设备与云端、APP得通讯命令分为4种:请求与回应、通知命令、广播命令,具体得命令以及格式在后面章节介绍。3.2.2连接流程设备连接云端得步骤如下图:3。3数据包格式定义数据包得格式根据通讯双方得不同、数据链路得差异会有不同得包格式,本协议为尽量保证数据包格式得统一,做了几点规划:数据包格式中核心得部分包括CMDID与CMDPayload,这两部分格式所有得包中保持一致,CMDID1个字节,CMDPayload紧跟CMD