设备类型(1字节) | 设备厂商(1字节) | 协议版本号(8字节) | 命令码(1字节) | 帧序号(4字节) | 发送接收标识(1字节)) | 数据包长度(2字节,高字节在前,低字节在后) | 【数据部分(N字节)】 | CRCL(1字节) | CRCH(1字节) |
- 设备类型:用1字节表示设备类型,例如0X01表示物联网设备。
- 设备厂商:表示底层硬件设备的厂商代码,0X01表示某公司。
- 协议版本号:表示当前设备发送的数据帧所使用的协议版本,协议版本向下兼容。
- 命令码:表示命令类型,如开锁命令、上报告警命令等,在后续的具体协议中详细定义说明。
- 帧序号:从1开始,到0XFFFFFFFF后循环从1开始,每一帧加一,应答数据帧要与接收到的请求数据帧帧序号保持一致。
- 发送接收标识:0XFF-表示发送请求数据帧,0X00-表示接收应答数据帧。
- 数据包长度:2字节表示,高字节在前,低字节在后。
- 数据部分,【】表示此部分可选,在某些协议中,数据部分缺省,数据包长度字段填写0X00 0X00不可省略。
- CRC:CRCL,CRCH:采用通用的MODBUS-RTU校验方式,计算后的CRC值为16bit的整型数,在数据帧中字节序为低字节在前,先发,高字节在后,后发。
常用协议:上报设备状态、上报心跳、上报电池电量、上报告警、查询固件版本信息、查询固件帧数、获取升级包、获取升级结果