设备通讯协议.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设备通讯协议

设备通信协议 目录 1. 适用范围 3 2. 协议框架 3 3. 协议内容 3 3.1设备内部组网协议(或者MCU透传模式协议) 3 3.1.1 通讯命令格式 3 3.1.2 配对机制 3 3.1.3 连接机制 4 3.1.4 心跳机制 5 3.2 设备与云端通讯协议 5 3.2.1 通讯命令格式 5 3.2.2 连接流程 5 3.3 数据包格式定义 6 3.3.1 设备间通讯数据格式 6 3.3.2 设备与云、APP通讯数据格式 9 4. 公共命令定义 10 5. 编码表 11 5.1节点类型编码表 11 5.2命令回应编码表 11 适用范围 本协议定义WiFi模块与MCU控制单元,WiFi模块与云APP间,以及主从模块之间的通讯协议框架。 协议框架 协议基于二进制协议框架,完成命令发送接收、命令上报、内部组网等功能。 协议内容 3.1设备内部组网协议(或者MCU透传模式协议) 备内部组网协议包括设备配对、连接、心跳机制等,目的是将一个子设备加入到设备组中,并保持连接。 3.1.1 通讯命令格式 采用二进制的通讯协议格式,包格式如下表: 同步头 Head Option 包长度(变长) 加密随机数(Option) 源设备类型(Option) 源设备编码(Option) CMD Key CMD ID Payload CRC(Option) 2B 1B 1~2 B 1B 1B 3B 1B 1B NB 2B 详细的包格式在后续章节介绍 3.1.2 配对机制 配对机制仅适用于设备内组网模式,MCU透传模式不需要组网协议。 进入配对模式由主从设备分别触发,只有在进入配对模式后,才处理相关的配对命令。 从设备进入配对模式后定时发送配对请求,直到收到请求回应。 主设备收到请求后分配一个设备ID给从设备,标识此ID被占用,并等待采集器的上线通知,一定时间内收到通知之后确认存入设备列表,如果没有上线通知,则认为设备没有配对成功,从子设备中删除。 从设备收到配对回应后存储设备ID,并且发送上线通知,收到上线通知后完成配对。 配对的过程如下图所示: 3.1.3 连接机制 设备每次上电连接需要发送上线通知以及连接所需要的参数给主设备,如下图所示: 3.1.4 心跳机制 使用对等的心跳机制,主设备和从设备都可以发现对方的异常状态。 3.2 设备与云端通讯协议 设备与云端通讯协议基于MQTT协议,数据包使用MQTT协议传输,数据加密方式采用SSL加密,命令码采用2进制命令格式同设备间通讯协议。 3.2.1 MQTT通讯框架 本协议是针对与设备的数据通信,目前通信节点包括:设备、云端和APP终端三方。WIFI上的协议采用MQTT协议框架,串口上的通信采用包含包头和校验的二进制协议,通信包采用二进制格式传输,高位在前低位在后。 此协议定义的MQTT Topic类型有以下2种: 单播,unicast /u/{TargetType}/{TargetID} 广播,broadcast /b/{SourceType}/{SourceID} 注释: TargetType:目标设备类型,TargetID:目标设备编码 SourceType:源设备类型,SourceID:源设备编码 3.2.2 通讯命令格式 设备与云端、APP的通讯命令分为4种: 请求与回应、通知命令、广播命令,具体的命令以及格式在后面章节介绍。 3.2.2 连接流程 设备连接云端的步骤如下图: 3.3 数据包格式定义 数据包的格式根据通讯双方的不同、数据链路的差异会有不同的包格式,本协议为尽量保证数据包格式的统一,做了几点规划: 数据包格式中核心的部分包括CMD ID和CMD Payload,这两部分格式所有的包中保持一致,CMD ID 1个字节,CMD Payload紧跟CMD ID长度N字节。 设备间通讯,包括内部命令、外部转发命令等的数据包格式虽然可能不一样,但是都可以通过包头中的Option字节进行区分,可以公用相同的解析函数 外部串口通讯的命令格式与设备间通讯格式保持一致。 设备间通讯数据格式 同步头 Head Option 包长度(变长) 加密随机数(Option) 源设备类型(Option) 源设备编码(Option) CMD Key CMD ID Payload CRC(Option) 2B 1B 1~2 B 1B 1B 3B 1B 1B NB 2B 3.3.1.1 Fix header 固定帧头,格式如下表: 同步头 Head Option 包长度(变长) 2Byte 1Byte 1~2 Byte 同步头: 0x5CFE Head Option: Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1

文档评论(0)

bigone123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档