更新时间:2025-03-14 09:27:17下载pdf
涂鸦 Wi-Fi 串口协议是针对涂鸦 Wi-Fi 模组定制的串口协议,主要用于涂鸦 Wi-Fi 模组与其它 MCU 串口直连完成串口通信。
串口协议通信示意图如下。
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 固定为 0x55aa |
版本 | 1 | MCU 软件版本号,升级扩展时使用 |
命令字 | 1 | 具体的命令字 |
数据长度 | 2 | 采用大端模式 |
数据 | N | 传输的数据 |
校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余。 |
产品信息由 PID(产品 ID)和 MCU 软件版本号构成。
x.x.x
,x 为十进制数并且 0<=x<=99。模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x01 说明:网关 Pro 只支持获取产品 PID,不带默认 PID |
命令字 | 1 | 0x01 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,然后将得出的结果对 256 求余 |
示例:0x55aa 00 01 0000 00
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x01 |
命令字 | 1 | 0x01 |
数据长度 | 2 | N |
数据 | N | 参见示例 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:{"v":"1.0.0", "m":0, "cap":0, "p":"mhnmpqzf7ntzm***", "s":0,}
v
:MCU 版本号。示例为:1.0.0。
m
:配网方式。(网关 Pro 只支持默认配网)
常配网工作模式。模组出厂上电后处于待配网状态,如果不对模组进行配网操作改变网络状态,模组会一直保持。
cap
:设备支持的能力,取值为十六进制转十进制后的数值。比特位对应功能如下:
sub_id
例如,设备不支持本地群组(bit0 为 0),但支持功能点(bit2 为 1),即十六进制数据为 0000 0000 0000 0100
,即 cap 值为 4。
p
:产品 PID。示例中 PID 为 mhnmpqzf7ntz****
。
s
(可选):是否为安防网关,需要安防能力支持,默认不支持安防能力。
a
(可选):设备支持的扩展能力,取值为十六进制转十进制后的数值。比特位对应功能如下:
0
表示不支持;1
表示支持。0
。模组联网状态 | 描述 | 状态值 |
---|---|---|
状态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 状态恢复到热点模式配置状态。网关只会移除配网,并不会删除子设备信息。下次配回到原家庭时,子设备信息仍会在 App 上显示。
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。硬件开发 > 新增自定义固件 > 升级通道号。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 |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x09 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
网关模组定时查询子设备心跳。查询周期和子设备数量相关,子设备数量越多,子设备心跳查询间隔越频繁。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0A |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
在线的设备需要回复心跳,连续 2 个心跳周期不回复,则识别为设备离线。
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0A |
数据长度 | 2 | N |
数据 | 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 |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
子设备接收到命令下发后进行回复或接收到状态变化后主动推送该指令。
功能点命令数据格式如下所示。
数据段 | 长度(字节) | 说明 |
---|---|---|
dpid | 1 | 功能点序号 |
type | 1 | 对应开发者平台上功能点具体的数据类型:
|
len | 2 | 长度对应 value 的字节数(大端) |
value | 1/2/4/N | hex 表示,大于 1 字节采用大端传输 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0D |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
将子设备添加到本地群组。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0E |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0E |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
将子设备从本地群组删除。群组删除时,模组将群组 ID 下发给 MCU,MCU 再下发给子设备本地删除。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0F |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0F |
数据长度 | 2 | N |
数据 | 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 求余 |
批量添加同一个 PID 的多个子设备。单次批量添加的子设备的上限为 32 。
当前版本暂不支持子设备 OTA。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x12 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x12 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
设备添加完成后,通知 MCU 添加结果。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x13 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x13 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
功能点命令数据格式如下所示。
数据段 | 长度(字节) | 说明 |
---|---|---|
dpid | 1 | 功能点序号 |
type | 1 | 对应开发者平台上功能点具体的数据类型:
|
len | 2 | 长度对应 value 的字节数(大端) |
value | 1/2/4/N | hex 表示,大于 1 字节采用大端传输 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x14 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x14 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
扫描指定的 SSID: tuya_mdev_test
,返回扫描结果和信号强度百分比。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x15 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x15 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组联网状态 | 描述 | 状态值 |
---|---|---|
状态 2 | 热点模式配置状态 | 0x01 |
状态 3 | Wi-Fi 已配置但未连上路由器 | 0x02 |
状态 4 | Wi-Fi 已配置且连上路由器 | 0x03 |
状态 5 | 已连上路由器且连接到云端 | 0x04 |
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 |
数据 | 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 |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
涂鸦开发者平台提供可视化配置选项,支持用户自行选择升级方式。模组仅作为支持 MCU 升级的数据传输通道,不对数据内容进行解析。
Wi-Fi 模组发送完所有的升级包后发送命令字 0x01 查询产品信息,MCU 需要在一分钟内回复产品信息中的软件版本号和升级后的 MCU 版本号的合集。版本号需要和在涂鸦后台配置升级的版本号保持一致。
MCU 远程升级方式:
App 自动升级(原静默升级):App 端不提供提醒弹窗,固件上电后一分钟内进行升级检测,如果检测到高版本升级包则自动升级包下载和安装。自第一次上电后,每隔 24 小时进行升级检测。
MCU 升级相关流程图:
MCU 启动升级
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1D |
数据长度 | 2 | 0x0004 |
数据 | 4 | 升级文件大小,大端模式 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1D |
数据长度 | 2 | 0x0001 |
数据 | 1 | 升级包分包传输大小:
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 升级包传输
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 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 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x1F |
数据长度 | 2 | 0x0001 |
数据 | 1 | 升级包分包传输大小:
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
子设备升级包传输
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x20 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 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 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x21 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
sub_id
)功能点命令数据格式如下所示。
数据段 | 长度(字节) | 说明 |
---|---|---|
dpid | 1 | 功能点序号 |
type | 1 | 对应开发者平台上功能点具体的数据类型:
|
len | 2 | 长度对应 value 的字节数(大端) |
value | 1/2/4/N | hex 表示,大于 1 字节采用大端传输 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x22 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x22 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x29 |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回(状态上报)
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2A |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2A |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
返回的是 Wi-Fi 的 MAC 地址。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2B |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2B |
数据长度 | 2 | 0x0007 |
数据 | 7 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
功能点命令数据格式如下所示。
数据段 | 长度(字节) | 说明 |
---|---|---|
dpid | 1 | 功能点序号 |
type | 1 | 对应开发者平台上功能点具体的数据类型:
|
len | 2 | 长度对应 value 的字节数(大端) |
value | 1/2/4/N | hex 表示,大于 1 字节采用大端传输 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2C |
数据长度 | 2 | 7+N |
时间 | 7 |
|
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2C |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2D |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2D |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2E |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2E |
数据长度 | 2 | N |
数据 | N | 示例:{"gid":"xxx","sub_id":"xxxx" } |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2F |
数据长度 | 2 | N |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2F |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
w.a.new
,并且实时天气与预报天气要分开请求,若同时请求则只回复预报天气。MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x33 |
数据长度 | 2 | (1+1+(L+K)+(L+K)…) |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:55 AA 00 33 00 09 00 1E 06 77 2E 74 65 6D 70 BA
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x33 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
开启定时更新天气功能后,模组定时下发天气数据。定时开启成功后会即时触发数据下发,后续以设置的定时更新间隔下发。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x33 |
数据长度 | 2 | (1+1+(LKTLV)+(LKTLV)+…) 或 0x0003 |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
示例:55 AA 00 33 00 0F 01 01 06 77 2E 74 65 6D 70 00 04 00 00 00 06 AE
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x33 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x01 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
该指令用于确认数据请求,数据下发还是通过 0x3301 的下发天气数据的命令。
MCU 发送
字段 | 长度 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x33 |
数据长度 | 2 | (1+(L+K)+(L+K)…) |
数据 | N |
|
校验和 | 1 | 从帧头开始按字节求和得出的 结果对 256 求余 |
示例:55 AA 00 33 00 08 02 06 77 2E 74 65 6D 70 9D
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x33 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 子命令:0x02 |
1 | 执行结果: 0x00:成功 0x01:失败 |
|
校验和 | 1 | 从帧头开始按字节求和得出的 结果对 256 求余 |
以下示例,以中国大陆地区的设备为参考示例。
MCU 发送:{"w.temp","w.humidity"}
或 {"w.temp","w.humidity","w.currdate"}
模组返回:
{
"w.temp":13,
"w.humidity":100
}
查询返回的数据,为预报型数据,请将当天的预报数据,与实时数据做好区别使用。
MCU 发送:{"w.humidity","w.date.1"}
模组返回:
{
"w.humidity.0":100
}
MCU 发送:{"w.humidity","w.date.3"}
模组返回:
{
"w.humidity.0":100,
"w.humidity.1":100,
"w.humidity.2":100
}
格林时间(以 UTC +8 时区为例)
MCU 发送:{ "w.humidity","w.sunrise","w.sunset","t.unix","w.date.3" }
模组返回:
{
"w.humidity.0":100,
"w.sunrise.0":"2019-12-27 00:05",
"w.sunset.0":"2019-12-27 10:54",
"w.humidity.1":100,
"w.sunrise.1":"2019-12-28 00:05",
"w.sunset.1":"2019-12-28 10:54",
"w.humidity.2":100,
"w.sunrise.2":"2019-12-29 00:05",
"w.sunset.2":"2019-12-29 10:54"
}
本地时间(以 UTC +8 时区为例)
MCU 发送:{ "w.humidity","w.sunrise","w.sunset","t.local","w.date.3" }
模组返回:
{
"w.humidity.0":100,
"w.sunrise.0":"2019-12-27 08:05",
"w.sunset.0":"2019-12-27 18:54",
"w.humidity.1":100,
"w.sunrise.1":"2019-12-28 08:05",
"w.sunset.1":"2019-12-28 18:54",
"w.humidity.2":100,
"w.sunrise.2":"2019-12-29 08:05",
"w.sunset.2":"2019-12-29 18:54"
}
MCU 发送:{ "w.temp","w.humidity","w.pm10","w.pm25","w.date.3" }
模组返回:
{
"w.pm10.0":14,
"w.pm25.0":7,
"w.humidity.0":100,
"w.humidity.1":100,
"w.humidity.2":100
}
若 MCU 的入参 w.date.n
中,n
>7 或者 n
<=0 时,云端按照数据入参异常,此时无返回数据。
通过 MCU 重启模组的方式。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x09 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
本功能只对支持 4G 的网关有效。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0003 |
数据 | 3 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x02 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
设备支持多种网络连接方式。配合命令字 0x01 查询产品信息 中字段 a 的 bit1 位使能。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令 0x03 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0003 |
数据 | 3 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 0x0002 或 0x0013 |
数据 | 2 或 19 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
面板支持子设备网络拓扑图的显示。当存在中继子设备时,MCU 需要依次返回终端子设备以及中继子设备的 ID 和信号强度。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x05 |
N |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x72 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x05 |
N |
则MCU返回的数组元素填充顺序如下: [ {“sub_id”:“子设备 A 的 ID”,“rssi”:子设备 A 的 rssi}, {“sub_id”:“子设备 B 的 ID”,“rssi”:子设备 B 的 rssi}, {“sub_id”:“子设备 C 的 ID”,“rssi”:子设备 C 的 rssi}, … ] |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
此部分协议为安防相关功能指令,只描述指令内容。关于详细的对接流程,请参考 安防网关对接流程说明。
用于设置当前的布防撤防模式。
sub_id
字段传 NULL
代表网关本身。MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x00 |
N |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
用于获取当前的安防信息。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x01 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x01 |
N |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
当通过 App 设置安防信息后,模组以此条指令同步状态给 MCU。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x02 |
N |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x02 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
收到撤防事件后,需要通过 DP32 上报取消报警,并 设置模组报警状态。
安防事件模组通过本指令同步状态至 MCU。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x03 |
N |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC0 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x03 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
App 设置延迟报警,报警倒计时结束后,应设置模组报警状态,触发 App 报警。(未设置报警状态也能触发 App 报警,为云端容错逻辑,不建议这样使用。)
MCU 通过安防标准 DP32 有状态变化时,需要将状态同步给模组。
MCU 发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
模组返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
设备处于报警延时状态时,会通过此命令同步报警延时状态给 MCU。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 0x0002 |
数据 | 2 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x03 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
此命令为新的设备报警信息同步,配合命令字 0x01 查询产品信息 中字段 a
的 bit0 位使能,且使能后安防 0xc101 和 0xc102 命令字无需处理。
目前预留多防区网关功能的字段。当前设备不返回此字段。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x04 |
N |
|
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x04 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
此命令为新的设备报警状态同步,配合命令字 0x01 查询产品信息 中字段 a 的 bit0 位使能。
模组发送
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 0x0002 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
MCU 返回
字段 | 长度(字节) | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0xC1 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x05 |
校验和 | 1 | 从帧头开始按字节求和,将得出的结果对 256 求余 |
天气数据参数 | 含义 | 中国大陆 | 其他国家或地区 | 是否支持预报 | 长度 | 十六进制 |
---|---|---|---|---|---|---|
w.temp | 大气温度,单位:摄氏度 ℃ | 支持 | 支持 | 支持 7 天内数据,中国大陆地区不支持 | 6 | 77 2e 74 65 6d 70 |
w.humidity | 空气湿度 | 支持 | 支持 | 支持 7 天内数据 | 10 | 77 2e 68 75 6d 69 64 69 74 79 |
w.conditionNum | 天气概况数字编码 | 支持 | 支持 | 支持 7 天内数据 | 14 | 77 2e 63 6f 6e 64 69 74 69 6f 6e 4e 75 6d |
w.pressure | 大气气压,单位:毫巴 mbar | 支持 | 支持 | 支持 7 天内数据,中国大陆地区不支持 | 10 | 77 2e 70 72 65 73 73 75 72 65 |
w.realFeel | 体感温度 | 支持 | 支持 | 不支持 7 天内数据 | 10 | 77 2e 72 65 61 6c 46 65 65 6c |
w.uvi | 紫外线指数 | 支持 | 支持 | 支持 7 天内数据 | 5 | 77 2e 75 76 69 |
w.sunrise | 日出 | 支持 | 支持 | 支持 7 天内数据 | 9 | 77 2e 73 75 6e 72 69 73 65 |
w.sunset | 日落 | 支持 | 支持 | 支持 7 天内数据 | 8 | 77 2e 73 75 6e 73 65 74 |
t.unix | 格林时间,搭配日出(w.sunrise )和日落(w.sunset )使用 |
- | - | - | 6 | 74 2e 75 6e 69 78 |
t.local | 本地时间,搭配日出(w.sunrise )和日落(w.sunset )使用 |
- | - | - | 7 | 74 2e 6c 6f 63 61 6c |
w.windSpeed | 风速,单位:米/秒(m/s) | 支持 | 支持 | 支持 7 天内数据 | 11 | 77 2e 77 69 6e 64 53 70 65 65 64 |
w.windDir | 风向 | 支持 | 支持 | 支持 7 天内数据 | 9 | 77 2e 77 69 6e 64 44 69 72 |
w.windLevel | 风级 | 仅中国大陆地区支持 | 不支持 | 支持 7 天内数据 | 11 | 77 2e 77 69 6e 64 4c 65 76 65 6c |
w.aqi | 空气质量指数,采用美国 EPA 标准:0 ~ 500 | 支持 | 支持 | 仅有当天数据 | 5 | 77 2e 61 71 69 |
w.rank/w.quality | 详细 AQI 实况及全国排名 | 仅中国大陆地区支持 | 不支持 | 仅有当天数据 | 6 | 77 2e 72 61 6e 6b / 77 2e 71 75 61 6c 69 74 79 |
w.pm10 | 可吸入颗粒物 PM10,单位:µg/m³ | 支持 | 支持 | 仅有当天数据 | 6 | 77 2e 70 6d 31 30 |
w.pm25 | 细颗粒物 PM2.5,单位:µg/m³ | 支持 | 支持 | 仅有当天数据 | 6 | 77 2e 70 6d 32 35 |
w.o3 | 臭氧浓度,单位:µg/m³ | 支持 | 支持 | 仅有当天数据 | 4 | 77 2e 6f 33 |
w.no2 | 二氧化氮浓度,单位:µg/m³ | 支持 | 支持 | 仅有当天数据 | 5 | 77 2e 6e 6f 32 |
w.co | 一氧化碳浓度,单位:µg/m³ | 支持 | 支持 | 仅有当天数据 | 4 | 77 2e 63 6f |
w.so2 | 二氧化硫浓度,单位:µg/m³ | 支持 | 支持 | 仅有当天数据 | 5 | 77 2e 73 6f 32 |
w.thigh | 最高温度,单位:摄氏度 ℃ | 支持 | 支持 | 仅有预报数据 | 7 | 77 2e 74 68 69 67 68 |
w.tlow | 最低温度,单位:摄氏度 ℃ | 支持 | 支持 | 仅有预报数据 | 6 | 77 2e 74 6c 6f 77 |
w.date.n | 需要预报的天数,用 n 来表示天数,要求 1 ≤ n ≤ 7 |
支持 | 支持 | - | 8 | 77 2e 64 61 74 65 2e 6e |
w.currdate | 实时天气获取 | 支持 | 支持 | - | 10 | 77 2e 63 75 72 72 64 61 74 65 |
标识 | 描述 | 类型 | 长度 | 十六进制 |
---|---|---|---|---|
c.area | 区县或城市名称 | 字符串 | 6 | 63 2e 61 72 65 61 |
c.city | 城市名称 | 字符串 | 6 | 63 2e 63 69 74 79 |
c.province | 省 | 字符串 | 10 | 63 2e 70 72 6f 76 69 6e 63 65 |
当天气服务访问时返回的数据仅有城市服务字段,且内容为空时,则说明设备无经纬度信息,无法获取天气数据。可打开手机应用的获取定位功能后,重新进行设备配网。
标识 | 描述 | 类型 | 是否支持实时 | 是否支持预报 |
---|---|---|---|---|
w.temp | 温度 | 整数 | 是 | 仅中国大陆地区不支持 |
w.humidity | 湿度 | 整数 | 是 | 是 |
w.conditionNum | 天气概况数字编码 | 字符串 | 是 | 是 |
w.pressure | 气压 | 整数 | 是 | 仅中国大陆地区不支持 |
w.realFeel | 温度实感 | 整数 | 是 | 否 |
w.uvi | 紫外线指数 | 整数 | 是 | 是 |
w.windDir | 风向 | 字符串 | 是 | 是 |
w.windLevel | 风等级 | 整数 | 仅中国大陆地区支持 | 否 |
w.windSpeed | 风速 | 字符串,数据格式为 1.0;0.5 |
是 | 是 |
w.sunrise | 日出时间 | 字符串,数据格式为 2017-04-24 05:24 | 是 | 是 |
w.sunset | 日落时间 | 字符串,数据格式为 2017-04-24 18:32 | 是 | 是 |
w.aqi | 空气质量指数 | 整数 | 是 | 否 |
w.pm25 | PM 2.5 | 整数 | 是 | 否 |
w.so2 | 二氧化硫浓度 | 整数 | 是 | 否 |
w.rank/w.quality | 空气评分 | 字符串,数据格式为 447/609 | 仅中国大陆地区支持 | 否 |
w.pm10 | PM 10 | 整数 | 是 | 否 |
w.o3 | 臭氧(O3)浓度 | 整数 | 是 | 否 |
w.no2 | 二氧化氮(NO2)浓度 | 整数 | 是 | 否 |
w.co | 一氧化碳(CO)浓度 | 整数 | 是 | 否 |
w.qualityLevel | 空气质量评分等级 | 整型 | 是 | 否 |
w.thigh | 最高温度 | 整型 | 否 | 是 |
w.tlow | 最低温度 | 整型 | 否 | 是 |
1.0;0.9
。w.date.n
字段访问时,若需要实时天气数据请携带 w.currdate
字段。具体实时数据的访问方式,请参考 天气使用示例。w.date.n
字段时,返回预报数据。编码表示(ASCII 码) w.conditionNum |
十六进制 | 天气状况 |
---|---|---|
120 | 31 32 30 | 晴 |
101 | 31 30 31 | 大雨 |
102 | 31 30 32 | 雷暴 |
103 | 31 30 33 | 沙尘暴 |
104 | 31 30 34 | 小雪 |
105 | 31 30 35 | 雪 |
106 | 31 30 36 | 冻雾 |
107 | 31 30 37 | 暴雨 |
108 | 31 30 38 | 局部阵雨 |
109 | 31 30 39 | 浮尘 |
110 | 31 31 30 | 雷电 |
111 | 31 31 31 | 小阵雨 |
112 | 31 31 32 | 雨 |
113 | 31 31 33 | 雨夹雪 |
114 | 31 31 34 | 尘卷风 |
115 | 31 31 35 | 冰粒 |
116 | 31 31 36 | 强沙尘暴 |
117 | 31 31 37 | 扬沙 |
118 | 31 31 38 | 小到中雨 |
119 | 31 31 39 | 大部晴朗 |
121 | 31 32 31 | 雾 |
122 | 31 32 32 | 阵雨 |
123 | 31 32 33 | 强阵雨 |
124 | 31 32 34 | 大雪 |
125 | 31 32 35 | 特大暴雨 |
126 | 31 32 36 | 暴雪 |
127 | 31 32 37 | 冰雹 |
128 | 31 32 38 | 小到中雪 |
129 | 31 32 39 | 少云 |
130 | 31 33 30 | 小阵雪 |
131 | 31 33 31 | 中雪 |
132 | 31 33 32 | 阴 |
133 | 31 33 33 | 冰针 |
134 | 31 33 34 | 大暴雨 |
136 | 31 33 36 | 雷阵雨伴有冰雹 |
137 | 31 33 37 | 冻雨 |
138 | 31 33 38 | 阵雪 |
139 | 31 33 39 | 小雨 |
140 | 31 34 30 | 霾 |
141 | 31 34 31 | 中雨 |
142 | 31 34 32 | 多云 |
143 | 31 34 33 | 雷阵雨 |
144 | 31 34 34 | 中到大雨 |
145 | 31 34 35 | 大到暴雨 |
146 | 31 34 36 | 晴朗 |
风向简码(字符串) | 十六进制 | 描述 |
---|---|---|
N | 4e | 北 |
NNE | 4e 4e 45 | 东北偏北 |
NE | 4e 45 | 东北 |
ENE | 45 4e 45 | 东北偏东 |
E | 45 | 东 |
ESE | 45 53 45 | 东南偏东 |
SE | 53 45 | 东南 |
SSE | 53 53 45 | 东南偏南 |
S | 53 | 南 |
SSW | 53 53 57 | 西南偏南 |
SW | 53 57 | 西南 |
WSW | 57 53 57 | 西南偏西 |
W | 57 | 西 |
WNW | 57 4e 57 | 西北偏西 |
NW | 4e 57 | 西北 |
NNW | 4e 4e 57 | 西北偏北 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈