ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:93.99KB ,
资源ID:12271974      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12271974.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(设备通讯协议.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

设备通讯协议.docx

1、设备通讯协议设备通信协议目录1.适用范围本协议定义WiFi模块与MCU控制单元,WiFi模块与云APP间,以及主从模块之间的通讯协议框架。2.协议框架协议基于二进制协议框架,完成命令发送接收、命令上报、内部组网等功能。3.协议内容3.1设备内部组网协议(或者MCU透传模式协议)备内部组网协议包括设备配对、连接、心跳机制等,目的是将一个子设备加入到设备组中,并保持连接。3.1.1 通讯命令格式采用二进制的通讯协议格式,包格式如下表:同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)CMD KeyCMD IDPayloadCRC(

2、Option)2B1B12 B1B1B3B1B1BNB2B详细的包格式在后续章节介绍3.1.2 配对机制配对机制仅适用于设备内组网模式,MCU透传模式不需要组网协议。进入配对模式由主从设备分别触发,只有在进入配对模式后,才处理相关的配对命令。从设备进入配对模式后定时发送配对请求,直到收到请求回应。主设备收到请求后分配一个设备ID给从设备,标识此ID被占用,并等待采集器的上线通知,一定时间内收到通知之后确认存入设备列表,如果没有上线通知,则认为设备没有配对成功,从子设备中删除。从设备收到配对回应后存储设备ID,并且发送上线通知,收到上线通知后完成配对。配对的过程如下图所示:3.1.3连接机制设备

3、每次上电连接需要发送上线通知以及连接所需要的参数给主设备,如下图所示:3.1.4心跳机制使用对等的心跳机制,主设备和从设备都可以发现对方的异常状态。3.2 设备与云端通讯协议设备与云端通讯协议基于MQTT协议,数据包使用MQTT协议传输,数据加密方式采用SSL加密,命令码采用2进制命令格式同设备间通讯协议。3.2.1MQTT通讯框架本协议是针对与设备的数据通信,目前通信节点包括:设备、云端和APP终端三方。WIFI上的协议采用MQTT协议框架,串口上的通信采用包含包头和校验的二进制协议,通信包采用二进制格式传输,高位在前低位在后。此协议定义的MQTT Topic类型有以下2种:1单播,unic

4、ast/u/TargetType/TargetID2广播,broadcast/b/SourceType/SourceID注释:TargetType:目标设备类型,TargetID:目标设备编码SourceType:源设备类型,SourceID:源设备编码3.2.2 通讯命令格式设备与云端、APP的通讯命令分为4种:请求与回应、通知命令、广播命令,具体的命令以及格式在后面章节介绍。3.2.2 连接流程设备连接云端的步骤如下图:3.3数据包格式定义数据包的格式根据通讯双方的不同、数据链路的差异会有不同的包格式,本协议为尽量保证数据包格式的统一,做了几点规划:1.数据包格式中核心的部分包括CMD I

5、D和CMD Payload,这两部分格式所有的包中保持一致,CMD ID 1个字节,CMD Payload紧跟CMD ID长度N字节。2.设备间通讯,包括内部命令、外部转发命令等的数据包格式虽然可能不一样,但是都可以通过包头中的Option字节进行区分,可以公用相同的解析函数3.外部串口通讯的命令格式与设备间通讯格式保持一致。3.3.1设备间通讯数据格式同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)CMD KeyCMD IDPayloadCRC(Option)2B1B12 B1B1B3B1B1BNB2B3.3.1.1 Fi

6、x header固定帧头,格式如下表:同步头Head Option包长度(变长)2Byte1Byte12 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设备同步头HeadOption包长度(变长)加

7、密随机数(Option)源设备类型(Option)源设备编码(Option)源设备GUID目标设备GUIDCMD IDPayloadCRC(Option)2B1B12 B1B1B3B34字节1BNB2B上行数据格式,设备-PAD同步头HeadOption包长度(变长)加密随机数(Option)源设备类型(Option)源设备编码(Option)源设备GUIDCMD IDPayloadCRC(Option)2B1B12 B1B1B3B34字节1BNB2B4.公共命令定义下表是公共命令码以及命令数据的定义,此表仅涉及到上文提到的CMD ID和命令信息码(或回复码),命令中的其他部分数据请参考上文中

8、的数据包定义。命令码命令描述通信方命令组成备注设备内部命令起始1请求配对从设备-主设备CMD Key1Byte,0x01CMD ID1Byte业务设备类型5Byte当前的内部设备类型1Byte当前的内部设备编码3Byte,全0表示未配置过,非全0表示之前配置过设备业务编码长度1Byte设备业务编码N Byte5个字节的业务设备类型,需要向乐君申请,并且保存在从设备中设备业务编码是用从设备自行定义的设备ID字符串,不超过32字节2请求配对回应主设备-从设备CMD Key,0x01CMD ID1ByteRC1Byte,参考RC表分配的设备类型1Byte分配的设备ID3Byte3设备启动通知MCU/

9、从设备-主设备CMD Key1Byte, 0x01CMD ID1Byte版本号1Byte子设备类型1Byte,参考5.3章节:子设备类型表业务设备类型5Byte内部设备类型1Byte内部设备编码3Byte设备业务编码长度1Byte设备业务编码N Byte4设备启动通知的回应主设备-MCU/从设备CMD Key1Byte, 0x01CMD ID1ByteRC1Byte, 参考RC表5WiFi就绪通知主设备-MCU/从设备CMD Key1Byte, 0x01CMD ID1Byte6WiFi断开通知主设备-MCU/从设备CMD Key1Byte, 0x01CMD ID1Byte7云就绪通知主设备-M

10、CU/从设备CMD Key1Byte, 0x01CMD ID1Byte8云断开通知主设备-MCU/从设备CMD Key1Byte, 0x01CMD ID1Byte9WiFi模块上电通知WiFi模块-MCUCMD Key1Byte, 0x01CMD ID1ByteWiFi模块上电后定时发送上电通知给MCU,直至MCU上报上线通知给WiFi模块(适用于用于透传模式)10WiFi模块配置完成通知WiFi模块-MCUCMD Key1Byte, 0x01CMD ID1ByteRC1Byte,0成功,3超时,4退出11退出WiFi模块配置MCU-WiFi模块CMD Key1Byte, 0x01CMD ID

11、1Byte12退出WiFi模块配置回应WiFi模块-MCUCMD Key1Byte, 0x01CMD ID1ByteRC1Byte,0成功,1失败13重新配置WiFi模块MCU-WiFi模块CMD Key1Byte, 0x01CMD ID1Byte14重新配置WiFi模块回应WiFi模块-MCUCMD Key1Byte, 0x01CMD ID1ByteRC1Byte,0成功,1失败15设置WiFi模块串口波特率MCU-WiFi模块CMD Key1Byte, 0x01CMD ID1ByteBaudrate4ByteBaudrate取值:9600192003840057600115200其他值返回

12、fail默认值是960016设置WiFi模块串口波特率回应WiFi模块-MCUCMD Key1Byte, 0x01CMD ID1ByteRC1Byte,0成功,1失败返回值以新设置的波特率发送17查询WiFi模块串口波特率MCU-WiFi模块CMD Key1Byte, 0x01CMD ID1Byte18查询WiFi模块串口波特率回应WiFi模块-MCUCMD Key1Byte, 0x01CMD ID1ByteRC1Byte,0成功,1失败Baudrate4ByteWiFi模块命令起始32设备信息上报WiFi模块- Cloud/APPCMD ID1ByteNum1Byte,设备个数设备拥有者的小

13、智IDstring, 10字节WiFi模块Mac地址ASCII,12字节GUIDASCII,17字节、设备业务编码长度1Byte、设备业务编码N Byte、固件版本1BYTE、设备硬件架构类型1BYTE、设置是否在线1Byte,若干MQTT主题:/b/SourceType/SourceID第一个设备是主设备设备硬件架构类型参考“设备硬件架构类型编码表”设备是否在线,0不在线,1在线33WiFi配置完成通知WiFi模块-APPCMD ID1Byte设备GUIDASCII,17字节用户的小智IDstring, 10字节设备业务编码长度1Byte设备业务编码N ByteMQTT主题:/u/Targe

14、tType/TargetID34获取WiFi模块监控数据Cloud/APP-WiFi模块CMD ID1Byte35获取WiFi模块监控数据回应WiFi模块-Cloud/APPCMD ID1ByteWiFi模块连接信号强度1Byte,有符号的1个字节,一般范围在-100Dbm0DbmWiFi模块型号16byte, 小于16字节的字符串36设置WiFi配置信息APP/Cloud/串口控制端-设备CMD ID1Byte是否设置拥有者ID1Byte,0不设置,1设置设备拥有者的小智IDstring, 10字节是否设置路由器信息1Byte,0不设置,1设置SSID Len,用户名长度1 BYTE,用户名

15、长度小于等于32字节PWD Len,密码长度1 BYTE,密码小于等于64字节SSIDPWD37设置WiFi配置信息回应设备-APP/Cloud/串口控制端CMD ID1ByteRC(参考命令回应编码表:0成功,1失败38删除子设备APP/Cloud/串口控制端-设备CMD ID1ByteGUIDASCII,17字节39删除子设备回应设备- APP/Cloud/串口控制端CMD ID1ByteRC(参考命令回应编码表:0成功,1失败40获取设备列表APP/Cloud/串口控制端-主设备CMD ID1Byte41获取设备列表回应主设备-APP/Cloud/串口控制端CMD ID1ByteNum1

16、Byte,设备个数设备拥有者的小智IDstring, 10字节WiFi模块Mac地址ASCII,12字节GUIDASCII,17字节、设备业务编码长度1Byte、设备业务编码N Byte、固件版本1BYTE、设备硬件架构类型1BYTE、设置是否在线1Byte,若干设备是否在线,0不在线,1在线44设置设备进入配对模式App/Cloud/串口控制端-设备CMD ID1Byte45设置设备进入配对模式回应设备- App/Cloud/串口控制端CMD ID1ByteRC(参考命令回应编码表:0成功,1失败) BYTE47设置设备退出配对模式App/Cloud/串口控制端-设备CMD ID1Byte4

17、8设置设备退出配对模式回应设备- App/Cloud/串口控制端CMD ID1ByteRC(参考命令回应编码表:0成功,1失败) BYTE49请求同步时间设备-CloudCMD ID1Byte50请求同步时间回应Cloud-设备CMD ID1ByteRC(参考命令回应编码表:0成功,1失败) BYTERTC时间67Byte,格式是秒-分-时-日-月-年-星期几,各一个字节星期几的范围从17,1表示星期一51扫描AP列表控制端-设备CMD ID1Byte52扫描AP列表回应设备到控制端CMD ID1ByteRC(参考命令回应编码表:0成功,1失败) BYTEAP Number1Byte,扫描到的

18、AP数量AP信息32Byte,SSID1Byte,RSSI信号强度若干SSID为字符串,最大32字节,返回数据中固定32字节位置存放SSID。信号强度取值范围0100所有设备公共命令起始64主MCU OTA传输文件Cloud-设备CMD ID1Byte总包数2Byte当前包号2Byte包内容N BYTE,最大长度102465主MCU OTA传输文件回应设备-CloudCMD ID1ByteRC(参考命令回应编码表:0成功,1失败,32包号错误,33数据校验错误) 1 BYTE当前包号2Byte66设置出厂信息App/Cloud-设备CMD ID1Byte设备ID12 Byte设备业务ID长度1 Byte设备业务IDN Byte设备业务ID长度为0表示不需要设备业务ID暂时只需要工厂测试程序支持67设置出厂信息回应设备-App/CloudCMD ID1ByteRC(参考命令回应编码表:0成功,1失败68Debug Log输出控制App/Cloud-设备CMD ID1ByteDebug Log开关1Byte,0关,1开是否掉电保存1Byte,0掉电不保存,1掉电保存暂时云端实现69D

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1