更新时间:2024-06-28 02:18:54下载pdf
本文介绍 Wi-Fi 和 Wi-Fi & 蓝牙标准协议接入串口协议基础功能、工作流程、相关指令及对应的指令格式。更多信息,可参考 串口协议。
基本功能主要包括设备配网、移除、设备状态获取、数据上报下发等,其他复杂功能可在 扩展功能 中查询。
模组在与 MCU 建立通讯后,首先进行的是初始化流程。只有先完成初始化流程,模组才可以响应 MCU 进行配网、数据处理及拓展功能的实现。
该流程包括但不限于以下协议指令:
模组上电会不断发送心跳包,MCU 正确回复心跳响应帧后,模组将启动下图中的初始化流程。
数据段 | 长度(字节) | 说明 | |||
---|---|---|---|---|---|
dpid | 1 | 功能点序号 | |||
type | 1 | 对应平台上某功能点具体的数据类型,通过如下 表示值 标识 | |||
类型 | 表示值 | 长度(字节) | 说明 | ||
raw | 0x00 | N | 对应 raw 型 datapoint | ||
bool | 0x01 | 1 | value 范围:0x00/0x01 | ||
value | 0x02 | 4 | 对应 int 类型,大端表示 | ||
string | 0x03 | N | 对应于具体字符串 | ||
enum | 0x04 | 1 | 枚举类型,范围 0-255 | ||
bitmap | 0x05 | 1/2/4 | 长度大于 1 字节时,大端表示 | ||
len | 2 | 长度对应 value 的字节数 | |||
value | 1/2/4/N | hex 表示,大于 1 字节采用大端传输 |
Wi-Fi 模组上电后,将会以 1 秒/次的频率持续发送心跳包,等待 MCU 回复。模组若收到正确的心跳包回复,心跳包发送间隔变为 15 秒/次,继续执行其余初始化指令。模组若未收到正确回复,将保持 1 秒/次心跳包发送频率,直到收到正确回复。
MCU 也可依据心跳,定期检测模组是否正常工作。若模组无心跳下发,则 MCU 可通过模组提供的硬件复位引脚复位 Wi-Fi 模组。若模组在超时时间(3s)内,未收到 MCU 的回应,则认为 MCU 离线。
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x00 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
发送示例:55 aa 00 00 00 00 ff
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x00 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
55 aa 03 00 00 01 00 03
55 aa 03 00 00 01 01 04
产品信息由产品 ID 和 MCU 软件版本构成:
x.x.x
,其中 x
为十进制数,取值范围为 0-99。模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x01 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 01 00 00 00
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x01 |
数据长度 | 2 | N |
数据 | N | {"p":"AIp08kLIftb8x***", "v":"1.0.0", "m":1, "mt":10, "n":0, "ir":"5.12", "low":0,"ma":[{"t":x1,"v":"y1"},{"t":x2,"v":"y2”},…]} |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:{"p":"AIp08kLIftb8x***", "v":"1.0.0", "m":1,"mt":10,"n":0,"ir":"5.12", "low":0,"ma":[{"t":x1,"v":"y1"},{"t":x2,"v":"y2"}]}
产品信息示例字段说明:
字段 | 说明 |
---|---|
p | 表示产品 ID 为 AIp08kLIftb8x*** ,即您在涂鸦开发者平台上创建的产品的 PID。 |
v | 表示 MCU 版本为 1.0.0,MCU 版本号格式必须按照 x.x.x 的格式定义。 |
m | 表示模组工作模式:
|
mt | 设置安全模式和防误触模式的状态切换时间,如果没有上传该字段,则统一按老机制(三分钟)处理。可以支持的设置时间范围:3 分钟—10 分钟。 |
n | 表示模组的配网模式,如果没有该字段,则保持传统(两种配网方式互相切换)的模式。
|
ir | 启用模组的红外功能并告知模组红外的收发脚使用哪些 IO 口,没有该字段红外能力默认关闭。5.12 :红外发送脚为 IO5,红外接收脚为 IO12。注意:如果工作模式中使用模组自处理模式,请勿与按键和 Wi-Fi 指示灯设置的 IO 口重复。部分模组跨组 IO 设置,需要在设置组 IO 脚基础上加 32,PB20 设置序号为 20+32。红外发送脚需要用到 PWM 资源,接收需要使用 IO 中断。具体模组支持的 IO 口,请参考模组资料。若需要模组自处理工作状态指示红外工作状态指示灯,可通过命令字 设备新功能设置通知命令(可选) 设置。 |
low | 模组是否开启保持长连接的低功耗模式,没有该字段低功耗模式默认关闭。对于有些产品在没有网络控制的情况下,在模组保持和路由的连接下需要让模组的平均功耗低于 15mA,通过该字段可以打开模组该能力。产品对于功耗没有要求的话,不需要关心该字段。
|
ma(可选) | 表示附属 MCU 固件信息,t 为通道号,范围 10-19,v 为版本号。
|
ma
字段内容一定要与涂鸦开发者平台创建的固件类型数据匹配,否则会出现无法接收 OTA 信息或接收到错误的 OTA 升级信息,导致 OTA 升级异常。
0x01
命令后就发送此命令,设置所需要的功能。ir
:红外工作状态指示灯,红外状态指示灯使能即有效,可复用 Wi-Fi 网络状态指示灯,但注意不可与 02
命令的其它功能 GPIO 冲突。红外工作指示灯,工作时指示规则如下:
buf
:MCU 串口资源 BUF 可承受的最大数据量。RF 遥控器功能在下发多键值的情况下,以此字段数据参考是否分包发送键值。b_nm
: 蓝牙 local name ,最大长度 5 字节。MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x37 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 子命令:0x00 |
{ "mcu_ota":xx, "abv":x, "ir":xx, "buf":xx, "b_nm":"xx" } |
ir :红外工作状态指示灯,设置模组自处理时红外工作状态指示灯的 GPIO。数据内容规则与 0x02 命令字相同,指示规则请看 红外工作指示。buf :MCU 串口接收 BUF 大小,最小值为 256(字节),模组默认 MCU 可支持任何长度数据。b_nm :蓝牙 local name,最大长度 5 字节。 |
|
校验和 | 1 | 从帧头开始按字节求和得出的结果对 256 求余 |
示例:MCU 有程序暂存区,abv
使能 RF 遥控器功能,BUF 为 1024。{"mcu_ota":0,"abv":3,"buf":1024}
55 aa 03 37 00 21 00 7b 22 6d 63 75 5f 6f 74 61 22 3a 30 2c 22 61 62 76 22 3a 33 2c 22 62 75 66 22 3a 31 30 32 34 7d ac
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x37 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 子命令:0x00 |
1 | Ret :
|
|
校验和 | 1 | 从帧头开始按字节求和得出的结果对 256 求余 |
示例:55 aa 03 37 00 02 00 00 3b
产品信息示例字段说明:
字段 | 是否必选 | 说明 |
---|---|---|
mcu_ota | 可选 | 设置 MCU 无程序暂存区 OTA,暂时只有 HomeKit 通用对接支持该功能。 |
abv | 可选 | 新增功能使能字段,1 个字节 8 个 bit,按位表示不同的功能
|
ir | 可选 | 红外工作状态指示灯,设置模组自处理时红外工作状态指示灯的 GPIO。GPIO 引脚编码规则同 02 命令字。示例:5 :表示红外工作状态指示灯引脚为 IO5。 |
buf | 可选 | MCU 串口接收 BUF 大小,最小值为 256(字节)。 |
模组的配网触发及指示方式由 MCU 选择设定。模组工作模式主要针对如何指示 Wi-Fi 的工作状态以及如何重置配网 Wi-Fi 而言,主要分两种情况:
MCU 与模组配合处理模式:
MCU 检测配网触发信号,通过串口指令使 Wi-Fi 模组重置配网。模组通过串口通知 MCU,Wi-Fi 当前的工作状态由 MCU 提供显示支持,家电类产品通常建议选择此模式。
模组自处理模式:
Wi-Fi 模组的工作状态通过 Wi-Fi 的 GPIO 引脚驱动 LED 状态显示。Wi-Fi 重置配网通过检测 GPIO 输入需求处理。
模组自处理 Wi-Fi 重置方法为:Wi-Fi 检测 GPIO 引脚低电平持续 5s 以上,触发 Wi-Fi 重置。指示灯与按钮所使用的 GPIO 管脚由以下命令配置。
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x02 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 02 00 00 01
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x02 |
数据长度 | 2 |
|
数据 | 0/2/3 | 数据长度为 2:
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:
MCU 与模组配合处理:
55 aa 03 02 00 00 04
模组自处理,指示灯 0x0c
:GPIO12,复位按钮 0x0d
:GPIO13
55 aa 03 02 00 02 0c 0d 1f
设备联网状态 | 描述 | 状态值 |
---|---|---|
状态 1 | Wi-Fi 快连配网配置状态(Wi-Fi & 蓝牙 LE 模组:蓝牙也处于配网状态) | 0x00 |
状态 2 | 热点联网配置状态(Wi-Fi & 蓝牙 LE 模组:蓝牙也处于配网状态) | 0x01 |
状态 3 | Wi-Fi 已配置但未连上路由器 | 0x02 |
状态 4 | Wi-Fi 已配置且连上路由器 | 0x03 |
状态 5 | 设备成功连接到云端 | 0x04 |
状态 6 | 主联网设备处于低功耗模式 | 0x05 |
状态 7 | Wi-Fi 设备处于 Wi-Fi 快连配网和热点联网配置状态(Wi-Fi & 蓝牙 LE 模组:蓝牙也处于配网状态) | 0x06 |
设备联网状态:
模组自处理工作模式相应的 LED 显示分别为:
当模组检测到 MCU 重启或 MCU 断线再上线的过程,则主动下发 Wi-Fi 状态至 MCU。
当模组的联网状态发生变化,则主动下发设备联网状态至 MCU。
如设置模组工作模式为模组自处理,则 MCU 无需实现该协议。
0x00
、0x01
或 0x06
时,蓝牙也处于可配网状态中。0x04
时,则表示设备已经成功接入云端,不论是通过 Wi-Fi 还是通过蓝牙方式接入云端。当通过蓝牙方式接入云端时,需结合蓝牙连接状态来判断是否 App 可控。模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 指示 Wi-Fi 工作状态:
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 03 00 01 00 03
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x03 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 03 00 00 05
配网相关命令,模组收到该指令后会重启,初始化相关命令交互完成后模组进入配网模式,可以使用 App 进行配网。
重置 Wi-Fi 后模组工作状态转化如下图所示:
如设置模组工作模式为模组自处理,则 MCU 无需实现该协议。
模组自处理 Wi-Fi 重置方法为:Wi-Fi 检测 GPIO 入口低电平持续 5s 以上,触发 Wi-Fi 重置。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x04 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 04 00 00 06
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x04 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 04 00 00 03
配网相关命令,与重制 Wi-Fi 命令功能类似。
相对于 重置 Wi-Fi 而言,此帧提供 MCU 根据自身需求选择重置 Wi-Fi 后的配置方式。
MCU 接入用户可选择性地实现该协议。
如设置模组工作模式为模组自处理,则 MCU 无需实现该协议。
n
设置后,则此命令的指定切换功能无效。MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x05 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:进入 Wi-Fi 快连配网配置模式
55 aa 03 05 00 01 00 08
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x05 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 05 00 00 04
目前,模组支持本地重置、App 远程重置和 App 恢复出厂设置。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x034 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x04(子命令) |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x034 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 0x04(子命令) |
1 | 执行结果
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x034 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 0x05(子命令) |
1 | 重置状态
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x034 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x05(子命令) |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x06 |
数据长度 | 2 | 取决于 DP 数据 类型及个数 |
数据 | N | DP 数据 组 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:系统开关对应 3 号 DP,使用 bool 型变量,开机数值为 1
55 aa 00 06 00 05 03 01 00 01 01 10
该协议为异步处理协议,状态上报触发机制有三类:
状态上报可含多个 data points。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x07 |
数据长度 | 2 | 取决于 DP 数据 类型以及个数 |
数据 | N | DP 数据 组 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:
湿度对应 5 号 DP,使用 value 型变量,湿度为 30℃
55 aa 03 07 00 08 05 02 00 04 00 00 00 1e 3a
多个状态数据单元上报样例:
DP 109 bool 型变量,数值为 1
DP 102 string 型变量,201804121507
(具体传输对应 ASCII 值)
55 aa 03 07 00 15 6d 01 00 01 01 66 03 00 0c 32 30 31 38 30 34 31 32 31 35 30 37 62
非统计类型 DP 不建议使用该命令上报,该命令无 DP 缓存。
此命令为同步指令,MCU 数据状态上报后,需要等待模组返回结果。
每次状态上报,模组都会有响应。模组未响应前,不可多次上报。
网络环境差、数据难以及时上报时,模组会在 5 秒后返回失败。此时,MCU 需要等待 5 秒以上。
状态上报可含多个 data point。
p
字段同步的 PID 在 涂鸦开发者平台 下设置的 DP 内容信息一致,不多报任何不存在的 DP。p
字段同步的 PID 在 涂鸦开发者平台 下设置的 DP 内容信息一致。MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x22 |
数据长度 | 2 | 取决于 DP 数据 类型以及个数 |
数据 | N | DP 数据 组 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:上报 bool 型 DP 1,状态为 true
55 aa 03 22 00 05 02 01 00 01 01 2e
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x23 |
数据长度 | 2 | 0x0001 |
数据 | Data |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 23 00 01 01 24
此协议为同步指令,MCU 数据状态上报后,需要等待模组返回结果。
每次状态上报,模组都会有响应。模组未响应前,不可多次上报。
网络环境差、数据难以及时上报时,模组会在 5 秒后返回失败。此时,MCU 需要等待 5 秒以上。
状态上报可含多个 data point 命令数据单元。
对于类似门锁、电量统计插座等有记录或数据统计功能的设备,包含部分 DP 数据需要服务端统计记录的,可使用本条命令上报。当 MCU 需要记录数据是由多个 DP 组合的整条数据,MCU 则需要整体上报。
目前此功能在使用 Wi-Fi 通信方式时支持,蓝牙通信方式暂未迭代支持。但支持蓝牙通信方式后,您无需修改 MCU 代码,更新模组固件即可。
使用此功能时,请核对模组固件版本是否支持。
p
字段同步的 PID 在 涂鸦开发者平台 下设置的 DP 内容信息一致,不多报任何不存在的 DP。p
字段同步的 PID 在 涂鸦开发者平台 下设置的 DP 内容信息一致。MCU 发送
字段 | 长度 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 取决于 DP 数据组 类型及个数 |
数据 | 1 | 0x0b(子命令) |
1 | 0x01(默认填充此数据) | |
1 | 上报时间类型
|
|
6 | 上传时间格式
|
|
N | 状态数据单元 组 | |
校验和 | 1 | 从帧头开始按字节求和得出的 结果 N 对 256 求余 |
例 1:上报 bool 型 DP,DP ID 为 1,状态为 true
,格林时间 2022.02.18.16:27:06
,可采用 55 aa 03 34 00 0e 0b 01 02 16 02 12 10 1b 06 01 01 00 01 01 b1
例 2:上报 Value 型 DP,DP ID 为 2,状态为 100 和 Enum 型 DP,DP ID 为 3,状态为 3,本地时间 2022.02.22.11:22:33
,可采用 55 aa 03 34 00 16 0b 01 01 16 02 16 0b 16 21 02 02 04 00 00 00 64 03 04 01 03 40
模组返回
字段 | 长度 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 0x0b(子命令) |
1 | 上报状态
|
|
校验和 | 1 | 从帧头开始按字节求和得出的 结果对 256 求余 |
示例:55 aa 00 34 00 02 0b 00 40
状态查询为异步处理协议,主要用于模组查询 MCU 所有的 obj 类型的 data point 状态。当 MCU 收到此帧时,通过 状态上报 帧上报 data point 状态。
状态查询发送时机主要有三种:
0x3700
命令的 abv
字段 bit3 使能。0x3700
命令的 abv
字段 bit3 使能。模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x08 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 08 00 00 07
获取 Wi-Fi 模组剩余内存。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x0f |
数据长度 | 2 | 0x0000 |
数据 | Data | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 0f 00 00 11
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x0f |
数据长度 | 2 | 0x0004 |
数据 | 4 | 数据长度为 4 字节,大端格式,例如 0x00 0x00 0x28 0x00 代表剩余 10240 字节内存 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:MemorySize: 53328 Byte:55 aa 00 0f 00 04 50 d0 00 00 32
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x24 |
数据长度 | 2 | 0 |
数据 | N | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 24 00 00 26
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x24 |
数据长度 | 2 | 0x0001 |
数据 | Data |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:RSSI:-20:55 aa 00 24 00 01 ec 10
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x25 |
数据长度 | 2 | 0 |
数据 | N | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 25 00 00 27
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x25 |
数据长度 | 2 | 0 |
数据 | N | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 25 00 00 24
对于需要休眠降低功耗的 MCU 模组,可在休眠前发送该指令关闭 Wi-Fi 模组心跳,方便进入休眠状态。请勿在设备刚上电时发送该命令,Wi-Fi 模组上电后需要和 MCU 建立心跳连接。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x2A |
数据长度 | 2 | xx |
数据 | Data | {"s":"xxx", "p":"yyy", "t":"zzz"}
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:{"s":"xxx", "p":"12345678", "t":"zzz"}
55 aa 03 2a 00 24 7b 22 73 22 3a 22 78 78 78 22 2C 22 70 22 3a 22 31 32 33 34 35 36 37 38 22 2c 22 74 22 3a 22 7a 7a 7a 22 7d B7
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2A |
数据长度 | 2 | 0x0001 |
数据 | x |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 2a 00 01 01 2b
设备联网状态 | 描述 | 状态值 |
---|---|---|
状态 1 | Wi-Fi 快连配网配置状态(Wi-Fi & 蓝牙 LE 模组:蓝牙也处于配网状态) | 0x00 |
状态 2 | 热点联网配置状态(Wi-Fi & 蓝牙 LE 模组:蓝牙也处于配网状态) | 0x01 |
状态 3 | Wi-Fi 已配置但未连上路由器 | 0x02 |
状态 4 | Wi-Fi 已配置且连上路由器 | 0x03 |
状态 5 | 设备成功连接到云端 | 0x04 |
状态 6 | 主联网设备处于低功耗模式 | 0x05 |
状态 7 | Wi-Fi 设备处于 Wi-Fi 快连配网和热点联网配置状态(Wi-Fi & 蓝牙 LE 模组:蓝牙也处于配网状态) | 0x06 |
与 报告设备联网状态 保持一致。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x2B |
数据长度 | 2 | 0x0000 |
数据 | Data | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例: 55 aa 03 2b 00 00 2d
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2B |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:状态 4(已连上路由器且连接到云端): 55 aa 00 2b 00 01 04 2f
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x2d |
数据长度 | 2 | 0x0000 |
数据 | Data | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 2d 00 00 2f
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x2d |
数据长度 | 2 | 0x0007 |
数据 | Data |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:MAC:508A0E3A2D9
55 aa 00 2d 00 07 00 50 8a 06 e3 a2 d9 71
合规风险提醒
请注意,收集此类信息是客户自主决定的行为,需要客户在其自己的《隐私政策》中清楚描述以下内容:
说明:
0x3407
来获取。0xff
编码即可。SmartLife
时,此命令只返回 SmartLife
信息,实际热点名称为 SmartLife_XXXX
,其中 XXXX
为设备 MAC 地址后四位。注意事项:
返回数据格式为 JSON 字符串的形式,Data
数据长度不定。
MCU 发送命令的数据长度至少有 2 个字节,即子命令+1 字节 Data
编码。若长度不对,则返回失败。
数据编码是一一对应关系,请勿使用错误,且不可使用预留编码。
名称 | 编码 |
---|---|
获取所有当前支持的数据信息 | 0xff |
AP SSID 名称 | 0x01 |
国家码 | 0x02 |
SN 信息 | 0x03 |
FFS 授权信息 | 0x04 |
模组版本号 | 0x05 |
Wi-Fi 配置信息 | 0x06 |
模组返回数据字段说明
字段 | 名称 | 支持选项 | 获取 | 设置 |
---|---|---|---|---|
ap | AP SSID名称 | 字符型数据 | 支持 | 不支持 |
cc | 国家码 |
|
支持 | 不支持 |
sn | SN 信息 | 获取模组内部经过授权后写入的 SN 信息 | 不支持 | 不支持 |
ffs | FFS 授权信息 |
|
支持 | 不支持 |
sw | 模组版本 | x.x.x ,参考版本号规则 |
支持 | 不支持 |
wcfg | Wi-Fi 配置信息 |
|
支持 | 不支持 |
ffs
字段,且内容为 0
。1
,并携带 SN 信息用于辅助校验信息合法性。MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 0x0001+ N |
数据 | 1 | 子命令 0x07 |
Data(1) |
|
|
Data(2) | … | |
Data(N) | … | |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:获取AP SSID名称55 AA 03 34 00 02 07 01 40
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 0x0002 + N |
数据 | 1 | 0x07(子命令) |
1 | 执行结果
|
|
Data(N) | { “ap”:“xxxx”, “cc”:xx, “sn”:“xxxx”, “ffs”:xx, “sw”:“x.x.x”, “wcfg”:{“ssid”:“xxxx”,“pwd”:“xxxx”} } |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈