更新时间:2024-06-24 03:25:32下载pdf
本文介绍了涂鸦Zigbee标准通用产测协议规范,使得 PC 端产测工具能够标准化,同时兼容不同 Zigbee 产品的 PCBA 和整机产测的需求。
说明:Zigbee 设备需要配网到指定的产测版专用网关下才能进行产测。
配网操作步骤如下:
涂鸦 Zigbee 标准通用产测协议的产测流程如下图所示:
格式:
长度 | 2 字节 | 1 字节 | 1 字节 | 2 字节 | X 字节 | 1 字节 |
---|---|---|---|---|---|---|
格式 | 帧头 | 版本 | 命令字 | 数据长度 | 数据 | 校验和字段 |
字段说明:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 固定为0x55AA |
版本 | 1 | 升级扩展用 |
命令字 | 1 | 具体帧类型 |
数据长度 | 2 | 如果是JSON格式的字符串则不包括字符串的结束符 |
数据 | XXXX | - |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
已使用的命令字:0x00~0x14;0x80~0x87 ;0x90
Zigbee设备产测协议用于整个测试流程,包括PCBA或整机和产测专用网关之间的RF通信(
使用Zigbee私有cluster )以及PC上位机与产测专用网关之间的TCP通信。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x00 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 00 00 01 00 00
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x00 |
数据长度 | 2 | 0x0001 |
数据 | 2 | 第1字节为信道号,第2字节由以下元素组成:
|
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回示例:
55 AA 00 00 00 01 00 00
55 AA 00 00 00 01 01 01
55 AA 00 00 00 01 02 02
说明:设备在收到私有 Cluster 命令的进入产测命令后,进入网关产测流程。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x01 |
数据长度 | 2 | 0x000E 表示以下字符串长度(不含 0 ) |
数据 | 14 | {“mac”: “read”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 01 00 0E 7B 22 6D 61 63 22 3A 22 72 65 61 64 22 7D 95
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x01 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | 指示待测模组的MAC地址 {“mac”: “XX”}; |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
说明:MAC地址长度固定为8个字节,为设备唯一标识符,必须支持。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x02 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 02 00 01 00 02
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x02 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true} 或 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
55 AA 00 02 00 0C 7B 22 72 65 74 22 3A 74 72 75 65 7D 8E
55 AA 00 02 00 0D 7B 22 72 65 74 22 3A 66 61 6C 73 65 7D DA
说明:GPIO的测试在PCBA和整机测试中不需要。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0xXXXX |
数据 | XX | {“PID”: “XXXXXXXX”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 03 00 12 7B 22 50 49 44 22 3A 22 30 31 32 33 34 35 36 37 22 7D 47
若模组在进入产测模式中返回数据为0x00,则上位机需要写入设备ID。
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true} 或者 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
55 AA 00 03 00 0C 7B 22 72 65 74 22 3A 74 72 75 65 7D 8F
55 AA 00 03 00 0D 7B 22 72 65 74 22 3A 66 61 6C 73 65 7D DB
说明:写入的设备信息为product ID,长度为8
bytes的字符串,写入后需要复位,然后再读取PID校验。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x04 |
数据长度 | 2 | 0x0001 |
数据 | XX | 0x00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对255求余 |
HEX格式发送示例:55 AA 00 04 00 01 00 04
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x04 |
数据长度 | 2 | 0x0001 |
数据 | XX | 0x00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回示例:55 AA 00 04 00 01 00 04
说明:模组返回数据后再复位。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x05 |
数据长度 | 2 | 0x000E 表示以下字符串长度(不含 0 ) |
数据 | 14 | {“PID”: “read”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 05 00 0E 7B 22 50 49 44 22 3A 22 72 65 61 64 22 7D 45
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x05 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“PID”: “XXXXXXXX”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
说明:ID长度为8个字节字符串。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x06 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 |
校验和 | 1 | 从帧头开始按字节求和得出的结果对256求余 |
HEX格式发送示例:55 AA 00 06 00 01 00 06
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x06 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | 串口:{“ret”:true,“firmName”: “XX”,“firmVer”: “X.X.X”} 网关:{“ret”:true,“N”: “XX”,“V”: “X.X.X”} |
校验和 | 1 | 从帧头开始按字节求和得出的结果对256求余 |
说明:产测软件需要对固件返回的指纹信息做校验,即固件名称和固件版本做校验,防止用错授权key
或烧错固件。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0xE0 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | 1 | { “key”: “xxxxxxxxxxxxx” } |
校验和 | 1 | 从帧头开始按字节求和得出的结果对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0xE0 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true} /{“ret”:false} |
校验和 | 1 | 从帧头开始按字节求和得出的结果对256求余 |
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x10 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 10 00 01 00 10
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x10 |
数据长度 | 2 | 0x000C 表示以下字符串长度(不含 0 ) |
数据 | 12 | {“ret”:true} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回示例:55 AA 00 10 00 0C 7B 22 72 65 74 22 3A 74 72 75 65 7D 9C
说明:设备收到离网指令后返回成功,1s后离网。离网后设备在重新上电前不再主动入网。
模组的RF测试方式为DUT(待测设备)和GU(黄金单元)之间通过回环测试的方式进行,即DUT端进行发包,GU端收到之后再转发给DUT,DUT端收到之后进行统计并将结果通过串口上报给PC。
产测软件:
字段 | 长度(bytes) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x07 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ), |
数据 | XX | {“send”:XX} XX表示测试包的数量 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
DUT返回:
字段 | 长度(bytes) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x07 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ), |
数据 | XX | {“ret”:XX} 或 {“ret”:false} XX表示接收到的测试包数量 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
55 AA 00 06 00 09 7B 22 72 65 74 22 3A XX 7D XX
55 AA 00 06 00 0D 7B 22 72 65 74 22 3A 66 61 6C 73 65 7D E3
说明:
- RF测试的时候DUT和GU端都需要进入产测模式,且设置为相同的信道。
- 发送测试包只需要带发送次数即可,包的payload信息预先写入DUT。
- RF测试在PCBA和整机产测中不需要。
由于设备之间功能点的不同,以下协议在产测应用层不是实现所有的条目。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x08 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x08 |
数据长度 | 2 | 0x000C 表示以下字符串长度(不含 0 ) |
数据 | 12 | 正确返回{“ret”:true}/错误不返回 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回示例:55 AA 00 08 00 0C 7B 22 72 65 74 22 3A 74 72 75 65 7D 94
说明:对于灯少的设备使用交替闪烁,对于灯多的设备使用全亮;LED动作需要人为判断。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x09 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00: 全开 0x01: 全关 0x02: 交替开关三次(500ms) |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x09 |
数据长度 | 2 | 0x000C 表示以下字符串长度(不含 0 ) |
数据 | 12 | 正确返回{“ret”:true}/错误不返回 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回示例:55 AA 00 09 00 0C 7B 22 72 65 74 22 3A 74 72 75 65 7D 95
说明:对于继电器少的设备使用交替动作,对于继电器多的设备使用全开动作;继电器动作需要人为判断。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0A |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 0A 00 01 00 0A
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0A |
数据长度 | 2 | 0xXXXX |
数据 | XX | {“keyID”:n} N表示按键值,例如{“keyID”:0} 、{“keyID”:1}、{“keyID”:2} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0B |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 传感器类型标识 门磁:0x00 红外:0x01 光敏:0x02 烟雾:0x03 燃气:0x04 水浸:0x05 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0B |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | 1 | {“Dtn”:true} 或 {“Dtn”:false} ‘t’表示传感器类型 ’n’表示同类型传感器下的个数 例如:两个红外{“D10”:true}和{“D11”:true} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
说明:要区分同一个设备上有多个不同类型开关量传感器,同时还要区分同一类型传感器下的哪一个传感器。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0C |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 传感器类型标识 温湿度:0x00 类目待扩充 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
温湿度HEX格式发送 | 55 AA 00 0C 00 01 00 0C` |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0C |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“S1”:Value, “S2”:Value} 例如:S1: 温度值,S2:湿度值 如果只有一个值则S2为0 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
说明:每次返回两个模拟量值,少于两个模拟量的设备只是用sensor1,多余两个模拟量的设备,分多次返回。模拟量的值使用int32_t传递,传感器需要将float小数点消除后转换为int32_t发送。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0D |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00: 红灯 0x01: 绿灯 0x02: 蓝灯 0x03: 冷(白)光测试 0x04: 暖光测试 0x04: 老化测试(RGB灯要交替闪烁10分钟;冷暖灯要冷色和暖色全功率交替闪烁10分钟) |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0D |
数据长度 | 2 | 0x000C 表示以下字符串长度(不含 0 ) |
数据 | 12 | 正确返回{“ret”:true}/错误不返回 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回示例:55 AA 00 0D 00 0C 7B 22 72 65 74 22 3A 74 72 75 65 7D 99
说明:调色灯的测试先单独测试每个基色,然后进入老化测试。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0E |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00: 正转 0x01: 反转 0x02: 停止 0x03: 往复测试 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0E |
数据长度 | 2 | 0x000C 表示以下字符串长度(不含 0 ) |
数据 | 12 | 正确返回{“ret”:true}/错误不返回 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回示例:55 AA 00 0E 00 0C 7B 22 72 65 74 22 3A 74 72 75 65 7D 9A
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0F |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 0F 00 01 00 0F
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0F |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | 正确返回{“ret”:XX}/错误不返回 XX为RSSI值 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x11 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 10 00 01 00 11
说明:异步测试,最大超时5秒。
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x11 |
数据长度 | 2 | 0xXXXX |
数据 | XX | 正确返回{“ret”:true} 错误返回{“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x12 |
数据长度 | 2 | 0xXXXX |
数据 | XX | v代表电压伏伏特,p代表功率(W),需要上位机软件提供测试人员编辑电压和功率的接口 {“v”:220, “p”:1000} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
说明:同步测试,立即返回结果。
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x12 |
数据长度 | 2 | 0xXXXX |
数据 | XX | 正确返回{“ret”:true} 错误返回{“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
该接口为新版本模拟量传感器测试命令。新传感器测试命令都包含该接口。原来的模拟量传感器测试接口仅用作测试老固件的温湿度传感器。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x13 |
数据长度 | 2 | 0x0003 |
数据 | 3 | {“type”: “PM2.5”,“ch”:0} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
温湿度HEX格式发送示例:55 AA 00 0C 00 01 00 0C
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x13 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“type”: “PM2.5”, “ch”:x,“val”:56.8} val为传感器数值,float类型 ch为传感器编号,从0开始 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模拟量传感器类型及说明:
Type | 说明 | 示例 |
---|---|---|
PM1.0 | PM1.0 浓度 | {“type”: “PM2.5”,“ch”:0} |
PM2.5 | PM2.5 浓度 | {“type”: “PM2.5”,“ch”:0} |
PM10 | PM10 浓度 | {“type”: “PM2.5”,“ch”:0} |
luminance | 亮度 | {“type”: “Iuminance”,“ch”:0} |
SenseDistance | PIR感应距离 | {“type”: " SenseDistance",“ch”:0} |
SensePeriod | PIR感应周期 | {“type”: " SensePeriod",“ch”:0} |
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x14 |
数据长度 | 2 | 0xxxx |
数据 | 3 | {“sleepTime”:5} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
温湿度HEX格式发送示例:55 AA 00 0C 00 01 00 0C
说明:同步测试,立即返回结果。
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x14 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | 正确返回{“ret”:true} 错误返回{“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
说明:模组接收到上位机下发的指令后,立刻进入休眠,在休眠
sleepTime
秒后,自动唤醒并返回结果。
串口会独占命令字。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x80 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | 二进制字节流 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x80 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true,“crc32”: “XXXXXXXX”} 或 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回失败示例:55 AA 00 10 00 0D 7B 22 72 65 74 22 3A 66 61 6C 73 65 7D E8
说明:使用 CRC-32-IEEE 802.3 标准的多项式 0x04C11DB7 或者 0xEDB88320。返回的
crc32
为十六进制字符串,字符串头部不包含字符0x
。
产测软件:
字段 | 长度(byte) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x81 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 00 |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式发送示例:55 AA 00 81 00 01 00 81
模组返回:
字段 | 长度(byte) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x81 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true,“crc32”: “XXXXXXXX”} 或 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
HEX格式返回失败示例:55 AA 00 81 00 0D 7B 22 72 65 74 22 3A 66 61 6C 73 65 7D 59
说明:使用CRC-32-IEEE 802.3 标准的多项式
0x04C11DB7
或者0xEDB88320
。返回的crc32
为十六进制字符串,字符串头部不包含字符0x
。
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x82 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ISN”: “XXXXXXXX”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x82 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true} 或 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x83 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ISN”: “read”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x83 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ISN”: “XXXXXXXX”} 或 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x84 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“CMEI”: “XXXXXXXX”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x84 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true} 或 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
产测软件:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x85 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“CMEI”: “read”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x85 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“CMEI”: “XXXXXXXX”} 或者 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
此命令不是所有固件都支持的,需要根据进产测返回的数据来判断是否支持写入授权码。
如果进产测返回的第二个字节bit3为1,则支持写入授权码,否则不支持该命令。
产测软件:
字段 | 长度(byte) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x86 |
数据长度 | 2 | XXXX |
数据 | 1 | {“auzKey”: “xxxxxxxxx”} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 长度(byte) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x86 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true} 或 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
此命令不是所有固件都支持的,需要根据进产测返回的数据来判断是否支持读取授权码。
如果进产测返回的第二个字节bit3为1,则支持读取授权码,否则不支持该命令。
产测软件:
字段 | 长度(byte) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x87 |
数据长度 | 2 | XXXX |
数据 | 1 | - |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 长度(byte) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x87 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | {“ret”:true,“auzKey”: “xxxxx”} 或 {“ret”:false} |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
产测软件:
字段 | 长度(byte) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x90 |
数据长度 | 2 | XXXX |
数据 | 1 | - |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
模组返回:
字段 | 长度(byte) | 说明 |
---|---|---|
帧头 | 2 | 0x55AA |
版本 | 1 | 0x00 |
命令字 | 1 | 0x90 |
数据长度 | 2 | 0xXXXX 表示以下字符串长度(不含 0 ) |
数据 | XX | { “P”:1, //1:充电状态,0:非充电 “B”:1600//电池电压,单位mv } |
校验和 | 1 | 从帧头累加到数据字段的最后一个字节再对256求余 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈