更新时间:2024-07-01 08:47:08下载pdf
涂鸦 Wi-Fi 串口协议是针对涂鸦 Wi-Fi 模组定制的串口协议,主要用于涂鸦 Wi-Fi 模组与其它 MCU 串口直连完成串口通信。
串口协议通信示意图如下。
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 固定为 0x55aa |
版本 | 1 | MCU 软件版本号,升级扩展时使用 |
命令字 | 1 | 具体的命令字 |
数据长度 | 2 | 采用大端模式 |
数据 | 取决于具体数据 | 传输的数据 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余。 |
产品信息由 PID(产品 ID)和 MCU 软件版本号构成。
x.x.x
,x 为十进制数并且 0<=x<=99。模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 支持以下两个版本:
|
命令字 | 1 | 0x01 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,然后将得出的结果对 256 求余 |
示例:0x55aa 00 01 0000 00
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 或 0x01 |
命令字 | 1 | 0x01 |
数据长度 | 2 | N |
数据 | 取决于具体数据 | 参见示例 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:{"v":"1.0.0", "m":0, "cap":0, "p":"mhnmpqzf7ntzm***", "s":0,}
v
:MCU 版本号。示例为:1.0.0。
m
:配网方式。(网关 Pro 只支持默认配网)
cap
:设备支持的能力,取值为十六进制转十进制后的数值。比特位对应功能如下:
bit2:支持功能点(网关有DP功能)
bit4:支持 MCU 升级
bit5:群组控制指令支持 sub_id
未用到的位默认置 0
说明:例如,设备不支持本地群组(bit0 为 0),不支持本地场景(bit1 为 0),但支持功能点(bit2 为 1),即十六进制数据为
0000 0000 0000 0100
,即 cap 值为 4。
p
:产品 PID。示例中 PID 为 mhnmpqzf7ntz****
。
s
(可选):是否为安防网关,需要安防能力支持,默认不支持安防能力。
设备联网状态 | 描述 | 状态值 |
---|---|---|
状态2 | AP 配置状态 | 0x01 |
状态3 | Wi-Fi 已配置但未连上路由器 | 0x02 |
状态4 | Wi-Fi 已配置且连上路由器 | 0x03 |
状态5 | 已连上路由器且连接到云端 | 0x04 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 显示 Wi-Fi 工作状态。
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:0x55aa 00 03 0001 00 03
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:0x55aa 00 03 0000 02
说明:将网关解除绑定,Wi-Fi 状态恢复到 AP 配置状态。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x04 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:0x55aa 00 04 0000 03
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x04 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:0x55aa 00 04 0000 03
App 发送允许入网指令至网关,允许子设备在指定时间内接入网络。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x06 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x06 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
App 发送关闭入网指令至网关。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x07 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x07 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
pk_type
为可选字段,默认值为 1。channel
对于子设备需要 OTA 功能时一定要传输,默认为 10。硬件开发 > 新增自定义固件 > 升级通道号。
注意:
- 当前版本暂不支持子设备 OTA。
channel
配置错误可能导致 OTA 功能异常。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x08 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x08 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模块同步子设备删除信息到 MCU。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x09 |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x09 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
网关模组定时查询子设备心跳。查询周期和子设备数量相关,子设备数量越多,子设备心跳查询间隔越频繁。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0A |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
说明: 在线的设备需要回复心跳,连续 2 个心跳周期不回复,则识别为设备离线。
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0A |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
用于同步子设备状态。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0B |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回(状态上报)
控制命令下发。
raw
类型外,其他类型均属于 obj
型。功能点命令或状态数据单元如下所示。
数据段 | 长度(字节) | 说明 |
---|---|---|
dpid | 1 | 功能点序号 |
type | 1 | 对应开放平台上功能点具体的数据类型:
|
len | 2 | 长度对应 value 的字节数(大端) |
value | 1/2/4/N | hex 表示,大于 1字节采用大端传输 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0C |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
子设备接收到命令下发后进行回复或接收到状态变化后主动推送该指令。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0D |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
支持将子设备加入本地群组。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0E |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0E |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
本地群组子设备删除。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0F |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0F |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x10 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 示例:0x55aa 00 10 0000 0F |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x10 |
数据长度 | 2 | 0x0007 |
数据 | 7 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x11 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x11 |
数据长度 | 2 | 0x0008 |
数据 | 8 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
说明:
- 设备在国内激活:返回北京时间(东8区)。
- 设备在国外激活:返回设备所处时区时间。
批量添加同一个 PID 的多个子设备。单次批量添加的子设备的上限为 32 。
注意:当前版本暂不支持子设备 OTA。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x12 |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x12 |
数据长度 | 2 | N |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
设备添加完成后,通知 MCU 添加结果。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x13 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x13 |
数据长度 | 2 | 0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x14 |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x14 |
数据长度 | 2 | 0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
扫描指定的 SSID: tuya_mdev_test
,返回扫描结果和信号强度百分比。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x15 |
数据长度 | 2 | 0x0000 |
数据 | Data | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x15 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 可根据此条命令获取 Wi-Fi 状态。具体 Wi-Fi 状态见 报告设备联网状态。网关在网络初始化完成前不会回复Wi-Fi 状态。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x16 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x16 |
数据长度 | 2 | 0x0001 |
数据 | 1 | Wi-Fi 工作状态:
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
本地(离线)恢复出厂指令,会导致云端信息和本地信息不同步,必须在设备在线状态下使用或者设备第一次激活前使用。
说明:本地恢复出厂(MCU 命令下发),蓝牙子设备不会挂到家庭下,而是直接删除。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x17 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
网关收到移除或者恢复出厂命令时,会向 MCU 报告状态。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x18 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送删除子设备指令。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x19 |
数据长度 | 2 | N |
数据 | 取决于具体数据 | 示例:{ “sub_id”:“xxx” } |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x19 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1A |
数据长度 | 2 | 0x0003 |
数据 | 3 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1A |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 可查询网关下所有子设备(MCU 管理的子设备)的列表。当列表数据大于 255 字节时分包发送。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1C |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1C |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
涂鸦 IoT 开发平台提供可视化配置选项,支持用户自行选择升级方式。模组仅作为支持 MCU 升级的数据传输通道,不对数据内容进行解析。
说明: Wi-Fi 模组发送完所有的升级包后发送 01 命令字查询产品信息 ,MCU 需要在一分钟内回复产品信息中的软件版本号和升级后的 MCU 版本号的合集。版本号需要和在涂鸦后台配置升级的版本号保持一致。
MCU 远程升级方式:
App 自动升级(原静默升级):App 端不提供提醒弹窗,固件上电后一分钟内进行升级检测,如果检测到高版本升级包则自动升级包下载和安装。自第一次上电后,每隔 24 小时进行升级检测。
MCU 升级相关流程图:
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1D |
数据长度 | 2 | 0x0004 |
数据 | 4 | 升级文件大小,大端模式 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1D |
数据长度 | 2 | 0x0001 |
数据 | 1 | 升级包分包传输大小:
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1E |
数据长度 | 2 | 0x0004+m,m 为偏移字节 |
数据 | offset_addr(4byte)+ pack(mbyte) | offset_addr : 包偏移地址 pack : 数据包内容 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
例如,若要升级的文件大小 530Byte。(最后一包数据可不回复。)
第一包数据,包偏移为 0x00000000,数据包长度为 256
0x55aa 00 1e 0104 00000000 xx…xx XX
第二包数据,包偏移为 0x00000100,数据包长度为 256
0x55aa 00 1e 0104 00000100 xx…xx XX
倒数第二包数据,包偏移为 0x00000200,数据包长度为 18
0x55aa 00 1e 0016 00000200 xx…xx XX
最后一包,包偏移为 0x00000212,数据包长度为 0
0x55aa 00 1e 0004 00000212 XX
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1E |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1F |
数据长度 | 2 | 无 |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1F |
数据长度 | 2 | 0x0001 |
数据 | 1 | 升级包分包传输大小:
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x20 |
数据长度 | 2 | 无 |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:sub_id
为 1234,需要升级的文件大小 530 Byte。(最后一包数据可不回复。)
第一包数据,包偏移为 0x00000000,数据包长度为 256。
0x55aa 00 20 0109 04 31 32 33 34 00000000 xx…xx XX
第二包数据,包偏移为 0x00000100,数据包长度为 256。
0x55aa 00 20 0109 04 31 32 33 34 00000100 xx…xx XX
倒数第二包数据,包偏移为 0x00000200,数据包长度为 18。
0x55aa 00 20 001B 04 31 32 33 34 00000200 xx…xx XX
最后一包,包偏移为 0x00000212,数据包长度为 0。
0x55aa 00 20 0009 04 31 32 33 34 00000212 XX
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x20 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x21 |
数据长度 | 2 | 无 |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x21 |
数据长度 | 2 | 无 |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
sub_id
)模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x22 |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x22 |
数据长度 | 2 | 0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x23 |
数据长度 | 2 | 无 |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x23 |
数据长度 | 2 | 0x0001 |
数据 | 无 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x29 |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回状态上报
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2A |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2A |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
说明: 目前返回的是 Wi-Fi 网卡地址。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2B |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2B |
数据长度 | 2 | 0x0007 |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2C |
数据长度 | 2 | N |
时间 | 7 |
|
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2C |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2D |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组回复
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2D |
数据长度 | 2 | 0x0007 |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2E |
数据长度 | 2 | N |
数据 | 取决与具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2E |
数据长度 | 2 | N |
数据 | 取决于具体数据 | 示例:{"gid":"xxx","sub_id":"xxxx" } |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2F |
数据长度 | 2 | N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2F |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x33 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 命令字:0x03 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:55 AA 00 33 00 01 03 36
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x33 |
数据长度 | 2 | 1+2+1+7 |
数据 | 11 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 2 |
数据 | 1 | 子命令:0x09 |
状态 | 0:重启设备 | |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 2 |
数据 | 1 | 子命令:0x09 |
结果 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
说明:本功能只对支持 4G 的模组有效。
MCU发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 2 |
数据 | 1 | 子命令:0x01 |
状态 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 2 |
数据 | 1 | 子命令:0x01 |
结果 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
此部分协议为安防相关功能指令,只描述指令内容。关于详细的对接流程,请参考 安防网关对接流程说明。
用于设置当前的布防撤防模式。
sub_id
字段传 NULL
代表网关本身。MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1+N |
数据 | 取决于具体数据 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 2 |
数据 | 1 | 子命令:0x00 |
1 | 操作结果:
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
用于获取当前的安防信息。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1 |
数据 | 1 | 子命令:0x01 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x01 |
取决于具体数据 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
当通过 App 设置安防信息后,模组以此条指令同步状态给 MCU。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x02 |
取决于具体数据 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1 |
数据 | 1 | 子命令:0x02 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
注意:收到撤防事件后,需要通过 DP32 上报取消报警,并设置模组报警状态。
安防事件模组通过本指令同步状态至 MCU。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1+N |
数据 | 子命令 | 0x03 |
取决于具体数据 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1 |
数据 | 子命令 | 0x03 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
注意:App 设置延迟报警,报警倒计时结束后,应设置模组报警状态,触发 App 报警。(未设置报警状态也能触发 App 报警,为云端容错逻辑,不建议这样使用。)
MCU 通过安防标准 DP32 有状态变化时,需要将状态同步给模组。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 2 |
数据 | 子命令 | 0x00 |
报警状态 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 2 |
数据 | 子命令 | 0x00 |
操作结果 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
设备处于报警延时状态时,会通过此命令同步报警延时状态给 MCU。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 2 |
数据 | 1 | 子命令:0x03 |
1 | 报警延时状态。
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 1 |
数据 | 1 | 子命令:0x03 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
此命令为新的设备报警信息同步,配合 01 命令字中 A 字段的 bit0 位使能,且使能后安防 0xc101 和 0xc102 命令字无需处理。
目前预留多防区网关功能的字段。当前设备不返回此字段。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x04 |
取决于具体数据 |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 1 |
数据 | 子命令 | 0x04 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
此命令为新的设备报警状态同步,配合 01 命令字中 A 字段的 bit0 位使能。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 2 |
数据 | 1 | 子命令:0x05 |
Data |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 1 |
数据 | 1 | 子命令:0x05 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈