设备通讯协议 .docx
《设备通讯协议 .docx》由会员分享,可在线阅读,更多相关《设备通讯协议 .docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、设备通讯协议设备通信协议书目。 适用范围 错误! 未定义书签。2。 协议框架 . 错误 错误! 未定义书签。3。协议内容 误错 错误! 未定义书签。3。1 设备内部组网协议(或者 MCU 透传模式协议) 误错 错误! 未定义书签。3、.1 通讯吩咐格式误错 错误! 未定义书签。1、2 配对机制误错 错误! 未定义书签。. 连接机制误错 错误! 未定义书签。3、1、 心跳机制误错 错误! 未定义书签。3。 设备与云端通讯协议 . 错误 错误! 未定义书签。3。1 通讯吩咐格式误错 错误! 未定义书签。.2。2 连接流程 . 错误! 未定义书签。3、3 数据包格式定义 . 错误 错误! 未定义书签
2、。3。3、1 误错式格据数讯通间备设 错误! 未定义书签。3.3.2 设备与云、PP 通讯数据格式误错 错误! 未定义书签。4. 公共吩咐定义 . 10.编码表 误错 错误! 未定义书签。1 节点类型表 误错 错误! 未定义书签。5、2 吩咐回应编码表 . 错误 错误! 未定义书签。1. 围范用适 适用范围 本协议定义 Wii 模块与CU 限制单元,Wii 模块与云 A间,以及主从模块之间得通讯协议框架。2. 协议框架 协议基于二进制协议框架,完成吩咐发送接收、吩咐上报、内部组网等功能。3. 协议内容 3 、1 设备内部组网协议( 或者 MCU 透传模式协议) 备内部组网协议包括设备配对、连接
3、、心跳机制等,目得就是将一个子设备加入到设备组中,并保持连接。3 、1 、 通讯 吩咐格式 采纳二进制得通讯协议格式,包格式如下表: 同步头 Had Oi 包 长 度 ( 变长) 加 密 随机 数 (Oton) 源 设 备类型(pion) 源 设 备编 码 (Oion) M e MD D Payl a CRC( ption) 2B 1B 12 B 1 B 1B 1B N B 具体得包格式在后续章节介绍 3 。1.2 配对机制 配对机制仅适用于设备内组网模式,U 透传模式不须要组网协议。进入配对模式由主从设备分别触发,只有在进入配对模式后,才处理相关得配对吩咐、 从设备进入配对模式后定时发送配对
4、恳求,直到收到恳求回应。主设备收到恳求后安排一个设备 ID 给从设备,标识此 ID 被占用,并等待采集器得上线通知,肯定时间内收到通知之后确认存入设备列表,假如没有上线通知,则认为设备没有配对胜利,从子设备中删除、 从设备收到配对回应后存储设备 ID,并且发送上线通知,收到上线通知后完成配对。配对得过程如下图所示: 主模块 从模块主设备回应恳求从设备发送配对恳求从设备上线进入配对模式配对结束主设备回应设备上线3.1.3 连接机制 设备每次上电连接须要发送上线通知以及连接所须要得参数给主设备,如下图所示: WiFi模块 MCU/从模块上线通知上线通知回应云连接胜利(仅用于透传模式)WiFi通路配
5、置(仅用于透传模式)吩咐交互状态上报 3 。1.4 心跳机制 运用对等得心跳机制,主设备与从设备都可以发觉对方得异样状态。3 、2 设备与云端 通讯协议 设备与云端通讯协议基于MQT协议,数据包运用MQT协议传输,数据加密方式采纳SL加密,吩咐码采纳进制吩咐格式同设备间通讯协议、 、2 、1 MQTT 通讯框架 本协议就是针对与设备得数据通信,目前通信节点包括:设备、云端与PP 终端三方、WII 上得协议采纳 MQT 协议框架,串口上得通信采纳包含包头与校验得二进制协议,通信包采纳二进制格式传输,高位在前低位在后、 此协议 定义得 MQ T Topi 类型有以下 2 种: 单播,unicat
6、/u/TagetType/TrgetI 广播,racat/b/SurceT/SourcD 注释: TrgetType:目标设备类型,TaretID:目标设备编码 Soueype:源设备类型,SurcID:源设备编码 3 、2 、2通讯吩咐格式 设备与云端、A得通讯吩咐分为种: 恳求与回应、通知吩咐、广播吩咐,详细得吩咐以及格式在后面章节介绍。3. .2 连接流程 设备连接云端得步骤如下图: WiFi模块 云建立MQTT连接订阅设备主题吩咐交互状态上报等待连接路由等待MCU上电,获得密钥https获得server信息https发送server信息。3 数据包格式定义 数据包得格式依据通讯双方得不
7、同、数据链路得差异会有不同得包格式,本协议为尽量保证数据包格式得统一,做了几点规划: 1. 数据包格式中核心得部分包括 CD I与 CMD Palod,这两部分格式全部得包中保持一样,CD D 个字节,CMD ayloa紧跟 CMD I长度字节。2. 设备间通讯,包括内部吩咐、外部转发吩咐等得数据包格式虽然可能不一样,但就是都可以通过包头中得 Option 字节进行区分,可以公用相同得解析函数 3. 外部串口通讯得吩咐格式与设备间通讯格式保持一样。3.3.1 设备间通讯数据格式 同步头 ad ptin 包 长 度 ( 变长) 加 密 随机数(Opin) 源 设 备类 型(Option) 源 设
8、 备编 码(Opt on) CMD Key MD D Paload C(Option) B 1B 1 B 1 1B 3B 1B B NB 2B 3 。3. .1 Fix header 固定帧头,格式如下表: 同步头 Had ptin 包长度(变长) 2y 1Byt 2 yte 同步头: 0x C E ead Opin: Bi Bit t Bt4 it3 i Bi1 it0 预留 预留 预留 预留 Ch ckSu 校验 广 播 类型链路 CC 校验 加密选项 ypedfen OTIONAL_ENYPT_B (10), OINAL_C_BT = (1<), TIONAL_BADT_AALIN
9、BIT = (12), OTINAL_CHEKSUM_BT = (1<3), OptinalBi; 包长度: 长度包括本字节之后得全部数据得长度 长度就是 12 个字节 字节数 取值 长度范围 007 01272 00180FF 1216383 长度得编码方式参考 MQT: 如长度就是=(6 + 228) ,那么会被编码为两个字节,低字节为65+28 = 193。高字节为。、3 。1 、 可变包格式 可变包格式须要通过 Hea Otio来解析,格式如下表: Opin Bit0 ption Bit2Opton Bt Opti Bit 加密随机数 设备类型 设备编码 消 息体。、。CRC 校
10、验 ChckSum Byte 1te 3e 。.、。2ye 1Byt 异或随机数: 如Hed Option中得加密选项为,那么加密随机数这个字节不存在,同时数据不会进行加密 源设备信息: 用于广播类型得数据链路,须要标识数据得来源、 C 校验: 采纳6bit 得 C算法,RC 算法参照附录。ecS: 采纳 8it 得与校验,用于对数据长度比较敏感,但就是又须要进行数据校验得场景 设备编码与设备类型: aload 中可能须要用到得内部设备 Tye 与D 得定义: 内部设备 Type 与设备 ID 在设备配对时由主设备安排给从设备, 其中 Type 由主设备获得到从设备得 Deve pe 之后映射
11、一个数值,并安排给从设备,建立映射关系、 ID 得字节构成为: Byt3 B2 Byte 随机数,避开不同子网得D 冲突 I序号,由主设备维护 3 、. 。3 吩咐消息体 结构如下表 CD CM I Palo Bte Byt N Byte CM Key: 吩咐标识,主要作用就是标识吩咐得类型以及编号,由主设备生成,发送给从设备,从设备将 ky 返回给主设备,另外在还标识吩咐得类型 MD Key 描述 备注 设备内部消息(组网、透传模式得内部消息) 这些吩咐没有重发机制,不能保障肯定到达 Noy 类消息3 Bodst 类消息 41 预留eserved 3225 动态安排得ky,用于数据得转发、透
12、传 此范围得吩咐假如没有回复会重发,重发肯定次数后丢弃,所以此消息可能会多次到达CMD D: 吩咐码,1 个字节 吩咐码 描述 配对恳求 2 配对恳求回应 3 设备启动通知 设备启动回应 5 WiFi 就绪通知 iF断开通知 7 云就绪通知 云断开通知 9 Wi 上电通知 0 WiFi 模块配置完成通知 11 退出 WFi 模块配置 12 退出 WiFi 模块配置回应 3 重新配置 WiFi 模块 重新配置 WiFi 模块回应 5 设置 WF模块串口波特率 16 设置 Wii 模块串口波特率回应 1 查询 WF模块串口波特率 18 查询 WiFi 模块串口波特率回应 WiFi 模块消息起始32
13、 设备上线通知 3 WiF配置完成通知 获得设备iF模块监控信息 35 获得设备 WFi 模块监控信息回应 36 设置路由器信息 37 设置路由器信息得回应 3 删除子设备 39 删除子设备回应 4 获得在线设备列表 41 获得在线设备列表回应 42 设置设备拥有者 4 设置设备拥有者回应 44 设置配对模式4 设置配对模式回应 46 在线设备列表变更通知 473 Fi 模块预留 全部设备公共吩咐起始64 主 MCU T传输文件 65 主 MCU OTA 传输文件回应 66 设置出厂参数 67 设置出厂参数回应 68 bug Lo输出限制 69 Dg o输出限制回应 70 eugLog 信息输
14、出 71 从 TA 传输文件 2 从CU OTA 传输文件回应 3 云端推送通知信息 76 OTA 完成通知上报 79 设备公共吩咐预留 设备业务吩咐起始27 设备自定义设备内部消息 12255 设备自定义设备与云端/APP 通讯消息 Payloa: 吩咐数据, N 字节 5、4 实例 一个全部 Opi都打开得包结构如下: 同步头 ea Opti n 包 长 度 ( 变长) 加 密 随机 数(Option) 源 设 备类型(ption) 源 设 备编 码(Option) CMD Key CMD D ayload C C(Opt on) 2 1B 12 B 1B 3B 1B 1 NB 2B 3
15、。3. 、4 数据组包实例 以下就是运用 CRC 校验,并且加密得数据包得组包过程: 假设吩咐包就是 2 4,4 个字节,现在要组包 :CR 第一步计算这 4 个字节得c 值,假设算出来就是 5、6 第一步 C之后得数据包就变成了、2、3、5、6, 6 个字节 2:加密加密第一步: 加入一个随机数,假设这个随机数就是 , 现在包就就是个字节了,0、3、4、6加密其次步: 异或 ,将除加密随机数外得其她数据都与加密随机数进行异或,得到得数据应当就是 0、2、5、 机密第三步:查表加密,假设表中0对应得就是6、1对应得就是5依次类推,那么查表之后得数据变为了、5、4、3、1、0 加密结束,alod
16、 最终就就是 6、5、2、1、了 3:加入包头 aylad 就是 7 个字节,optionl 就是 CRC 与加密,那么包头为 FE 5C 03 07 最终包数据为:FE 5C 07 06 0 04 0 02 01 0 解包得过程与组包相反 . 。2 设备与云、A 通讯数据格式 吩咐数据格式: 源设备类型 源设备 C ID 5Byte 1yt 1yte N Bte 3.3.2 Pad 串口通讯数据格式 下行数据格式,PA>设备 同步头 Hea O tion 包 长 度 ( 变长) 加 密 随机 数(Opt ) 源 设 备类 型 (O ti ) 源 设 备编 码(Opti n) 源设备 G
17、UID 目标设备 GUID C I Payoa CRC( t) 2B 1B 2 B 1 1B 3B 34 字节 1B B 2B 上行数据格式,设备-PAD 同步头 He Op ion 包 长 度 ( 变长) 加 密 随机 数 (Oion) 源 设 备类 型(Opti ) 源 设 备编 码(Option) 源设备UID MD ID a ad RC(Opin) 2B 1B 1 B B B 3B 34 字节 1B B B 4. 公共吩咐定义 下表就是公共吩咐码以及吩咐数据得定义,此表仅涉及到上文提到得 CMD I与吩咐信息码(或回复码),吩咐中得其她部分数据请参考上文中得数据包定义。吩咐码吩咐描述通
18、信方吩咐 组成备注设备内部吩咐起始1 恳求配对 从设备—主设备 CMD eyB,00 CMD IDte 5 个字节得业务设备类型,须要向乐君申请,并且保存在从设 业务设备类型5Byte 当前得内部设备类型1Byt 当前得内部设备编码3By,全 0 表示未配置过,非全 0 表示之前配置过 设备业务编码长度1Byt 设备业务编码N B 备中 设备业务编码就是用从设备自行定义得设备 ID 字符串,不超过3字节 恳求配对回应 主设备—>从设备 CD e,001 MD IByte C1yte,参考 R表 安排得设备类型1te 安排得设备 ID3Byte 3 设备启动通知 C
19、U/从设备主设备 C Key1Byt, x1 CM ID1Bye 版本号1Byte 子设备类型1By,参考 5。3 章节:子设备类型表 业务设备类型5Byt 内部设备类型1Be 内部设备编码3Byt 设备业务编码长度1yt 设备业务编码N Bte 设备启动通知得回应 主设备-CU从设备 MD Key1Bt, x01 MD ID1Bye RCyte, 参考 RC 表 WiFi 就绪通知 主设备-MCU从设备 CMD Key1Byte, x01 M ID1Byte 6 Fi 断开通知 主设备-MC/从设备 CM y1Be, 0x01 CMD ID1Byt 云就绪通知 主设备->MC/从设备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设备通讯协议 设备 通讯 协议
限制150内