基础系统指令
设备初始化(0x01)
模组未初始化,或收到格式错误的初始化信息,每2秒向mcu发送一次。
收到mcu 的回复且验证参数格式正确后,初始化完成,停止发送。
模组发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x01 |
长度 | 2 | 0x000b |
mac/imei | 6/15 | 模组mac或imei |
version | 5 | 模组固件版本,xx.xx,0x30≤x≤0x39,“.”的编码为0x2e |
校验 | 1 | 校验和 |
mcu返回:
注意!mcu收到0x23指令后,不回复此命令
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x01 |
长度 | 2 | 0x0019 |
产品ID | 4 | 云平台生成,4字节的无符号整型数字,大端法 |
产品秘钥 | 16 | 云平台生成,16字节的十六进制编码 |
mcu_version | 5 | mcu固件版本,xx.xx,0x30≤x≤0x39,“.”的编码为0x2e |
校验 | 1 | 校验和 |
查询模组时间(0x02)
mcu发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x02 |
长度 | 2 | 0x0000 |
校验 | 1 | 校验和 |
模组返回:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x02 |
长度 | 2 | 0x000c |
是否有效 | 1 | 0x00:时间有效;0x01:时间无效 |
时间戳 | 4 | 大端法表示 |
年 | 1 | 范围0-99,17表示一七年 |
月 | 1 | 1-12 |
日 | 1 | 1-31 |
时 | 1 | 0-59 |
分 | 1 | 0-59 |
秒 | 1 | 0-59 |
星期 | 1 | 1-7 |
校验 | 1 | 校验和 |
报告模组状态(0x03)
此命令用于wifi模组向mcu报告运行状态,也可作为心跳检测指令。
模组未连上云平台时,每2秒向mcu发送此命令。
模组连上云平台时,若10秒未向mcu发送过数据,则发送一次此命令。
模组状态指示灯控制信号通过GPIO14输出,低电平点亮,高电平熄灭。
模组发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x03 |
长度 | 2 | 0x0005 |
模组当前状态 | 1 | 0x00:smartconfig配网模式(灯快闪) 0x01:ap配网模式(暂不支持) 0x02:wifi配置成功但未连上路由器(灯慢闪) 0x03:wifi配置成功已连上路由器(灯灭) 0x04:连上云服务器(灯长亮) 0x05:产测模式(灯快闪2次) |
时间戳 | 4 | 大端法表示。上电后,未成功连接过服务器,此字段为0 |
校验 | 1 | 校验和 |
mcu返回:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x03 |
长度 | 2 | 0x0000 |
校验 | 1 | 校验和 |
重置模组(0x04)
可通过硬件/软件2种方式重置模组,模组重置会先擦除ssid和密码,并解除与APP的绑定关系,之后复位重启。
硬件方式:模组正常运行时会检测GPIO0电压,当检测到持续5秒以上的低电平时,模组复位。
mcu发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x04 |
长度 | 2 | 0x0002 |
重置模式 | 1 | 0x00:重置模组 0x01:smartconfig配网模式 0x02:ap配网模式(暂不支持) |
超时时间 | 1 | 30~240:配网超时时间,重置模式为0x01、0x02时有效 |
校验 | 1 | 校验和 |
模组返回:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x04 |
长度 | 2 | 0x0002 |
重置模式 | 1 | 0x00:重置模组 0x01:smartconfig配网模式 0x02:ap配网模式(暂不支持) |
超时时间 | 1 | 30~240:配网超时时间,重置模式为0x01、0x02时有效 |
校验 | 1 | 校验和 |
产测模式(0x05)
wifi模组上电后15秒内收到此命令,会进入产测模式(灯快闪2次)。
产测模式下,模组搜索周围ssid为 FACTORY-TEST 的测试路由,并将搜索结果和信号强度返回mcu。超时时间为40秒,搜索期间不响应任何串口指令。
mcu发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x05 |
长度 | 2 | 0x0000 |
校验 | 1 | 校验和 |
模组返回:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x05 |
长度 | 2 | 0x0002 |
产测结果 | 1 | 0x00:成功找到产测路由 0x01:超时,未找到产测路由 0x02:模组扫描故障 |
信号强度 | 1 | 产测结果为0,此字段有效,否则无效 范围0-100,0最差,100最强 |
校验 | 1 | 校验和 |
发送数据回调(0x06)
发送数据成功后,模组收到云端回复后调用该指令。当发送4.1节上传数据、6.1节透传自定义数据、7.1节子设备上线、7.2节子设备下线指令后,模组发送这个指令。
模组发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x06 |
长度 | 2 | 0x0004 |
序列号 | 4 | 大端法自增数字,某条数据的序列号。 如不关心何时处理成功,可不做处理 |
校验 | 1 | 校验和 |
用户绑定指令(0x07)
设备端发起允许绑定的指令,在超时时间内可以进行发现绑定。超时未绑定则模组返回绑定失败。(请在设备连云成功后发送此命令。)
mcu发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x07 |
长度 | 2 | 0x0004 |
超时时间 | 4 | 0~4294967295,单位:秒(s) |
校验 | 1 | 校验和 |
当用户绑定成功后,模组返回该指令。
模组返回:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x07 |
长度 | 2 | 0x0001 |
返回类型 | 1 | 0x00:设置允许绑定回复; 0x01:绑定成功 ; 0x02:绑定失败(超时或设备未联网) |
校验 | 1 | 校验和 |
用户解绑指令(0x08)
设备端发起解绑指令。
mcu发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x08 |
长度 | 2 | 0x0004 |
超时时间 | 4 | 0~4294967295,单位:秒(s) |
校验 | 1 | 校验和 |
当用户用设备端/APP解绑成功后,模组返回该指令。
模组返回:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x08 |
长度 | 2 | 0x0000 |
校验 | 1 | 校验和 |
用户分享信息变化指令(0x09)
当分享用户数量增加/减少时,模组返回该指令。
模组返回:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x09 |
长度 | 2 | 0x0001 |
类型 | 1 | 0x00 : 分享用户增加;0x01:分享用户减少 |
校验 | 1 | 校验和 |
获取用户信息指令(0x0a)
设备端发起获取用户信息指令。
mcu发送:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x0a |
长度 | 2 | 0x0001 |
信息类型 | 1 | 0x00:获取绑定用户信息 0x01:获取分享用户信息 0x02:获取设备信息(绑定状态,sdk版本号) |
校验 | 1 | 校验和 |
当设备端发起获取用户信息指令,模组返回该指令。
模组返回:
字段 | 长度 | 说明 |
---|---|---|
帧头 | 1 | 0xa5 |
版本 | 1 | 0x02 |
命令 | 1 | 0x0a |
长度 | 2 | n,(4≤n≤1032),大端法 |
type | 1 | 0x00:获取绑定用户信息 0x01:获取分享用户信息 0x02:获取设备信息(绑定状态,sdk版本号) |
data_len | 2 | n,(1≤n≤1024),大端法,data的长度。 (当n = 0时,表示没有绑定/分享用户。) |
data | n | 自定义数据,仅支持字符型(0≤n≤1024) |
校验 | 1 | 校验和 |
用户信息包括:用户id,邮箱,手机号国家代码,手机号,昵称
用户信息 | 长度 |
---|---|
用户id | <=20 |
邮箱 | <=45 |
手机号国家代码 | 4 |
手机号 | 11 |
昵称 | <=32 |
获取用户信息的OpData值解释:
DataType | 长度(Byte) | OpData值说明 |
---|---|---|
0x00 | >112 | l len l id l len l mail l len l phonecode l len l phone l len l name l |
0x01 | >112*n | l len l id l len l mail l len l phonecode l len l phone l len l name l |
...... | 重复上个字段,可一条指令获取多条分享者信息 | |
0x02 | 6 | l bind status l sdk_version l 绑定状态(1Byte):0x00 为未绑定,0x01为已绑 |