休眠唤醒服务

更新时间:2025-01-24 10:20:02下载pdf

低功耗模式选择

  • 模组支持四种工作模式:长供电、断电快连、深度休眠(Deep sleep)、长保活(dtm = 10)。
  • 默认为长供电模式,如果需要设备工作在低功耗模式,可在 查询产品信息 命令字中配置 sm 字段。
  • 断电快连、深度休眠模式,若需要设备永久在线,PID 需要开通 低功耗永久在线 能力。

断电快连

sm = 0,需要 MCU 控制模组电源上电和断电逻辑。

深度休眠

sm = 1, 需同时配置 wkwkp,用来唤醒模组。唤醒 IO (wk)在有效电平,不进休眠。唤醒 IO(wk)在无效电平,检测是否在 OTA(或文件下载)任务中,不在该状态则进入休眠。该模式下休眠后被唤醒,模组会重新启动。

长保活

sm = 2,需同时配置 wkwkp,用来唤醒模组。
唤醒 IO(wk)在有效电平,不进休眠。 唤醒 IO(wk)在无效电平,检测是否在 OTA(或文件下载),不在该状态通知 MCU 进入休眠并关闭串口通信。若需要唤醒模组,MCU 需把唤醒 IO(wk)拉至有效电平后模组唤醒,收到模组唤醒状态通知后,方可和模组通信。若 MCU 支持休眠,可配置 mwkmwkpt,用于模组唤醒 MCU。

注意事项

长保活模式下:

  • 蓝牙只用于配网,局域网控制、蓝牙控制、蓝牙遥控功能不可用。
  • 不支持工作模式为自处理(设备进入睡眠会关闭外设,按键和 LED 功能异常)。
  • 关闭应用 Wi-Fi 进出低功耗逻辑(low 字段)。
  • 模组休眠后串口会关闭;若 MCU 需要和模组通信需先设置唤醒 IO 为有效电平,收到模组唤醒通知后方可和模组串口通信。
  • 建议使用超时配网(查询产品信息字段 m 设置为 1)来降低待机功耗。
  • 深度休眠模式,唤醒后模组重启,无唤醒通知。

指令列表

休眠唤醒服务涉及以下协议指令:

命令字 命令说明
0x91(子命令 0x00) 休眠状态通知
0x91(子命令 0x01) 唤醒状态通知
0x91(子命令 0x02) 请求进入休眠

休眠状态通知(0x9100)

通知 MCU 模块进入休眠状态,MCU 回复模组是否可休眠。如 MCU 不回复,模组 5 秒后自动进入休眠。

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x91
数据长度 2 0x0001
数据 1 子命令:0x00
校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余

MCU 返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x91
数据长度 2 0x0002
数据 1 子命令:0x00
1 0:不允许进入睡眠,还有数据未同步,再等待 5s
1:允许进入睡眠,立即进入睡眠
校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余

唤醒状态通知(0x9101)

模组被唤醒后,主动发送唤醒状态给 MCU

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x91
数据长度 2 0x0001
数据 1 子命令:0x01
校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余

MCU 返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x91
数据长度 2 0x0001
数据 1 子命令:0x01
校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余

请求模组进入休眠(可选)(0x9102)

MCU 可通过该指令快速请求模组进入休眠。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x91
数据长度 2 0x0001
数据 1 子命令:0x02
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

模组返回

字段 长度 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x91
数据长度 2 0x0002
数据 1 子命令:0x02
1 1 字节 8 个位分别示意不同的任务。0 表示允许进入睡眠,1s 后进入睡眠状态。其他字节位表示任务处理中,不允许进入睡眠,请 5s 后再试。具体如下所示:
  • Bit 0:唤醒 IO 未设置为无效电平,1:任务状态;0:非任务中
  • Bit 1:OTA(Over-the-Air,空中下载技术)任务,1:任务状态;0:非任务中
  • Bit 2:设备状态同步,1:任务状态;0:非任务中
  • Bit 3:其他任务处理,1:任务状态;0:非任务中
  • Bit 4 - Bit 7:预留,默认 0
校验和 1 从帧头开始按字节求和得出的结果对 256 求余