ESP32 低功耗深睡眠与定时唤醒实测
测试环境
使用 ESP32-WROOM-32 模组,供电经由 USB 转 3.3V LDO,用万用表串联在电源回路上测量电流。
Deep Sleep 基本配置
esp_sleep_enable_timer_wakeup(60 * 1000000); // 60秒后唤醒
esp_deep_sleep_start();
功耗测量结果
- 运行态平均电流:约 80mA
- Deep Sleep 电流:约 10μA(RTC 定时器保持工作)
- 外部中断唤醒(EXT0)额外增加约 5μA 静态电流
踩坑记录
- GPIO 在深睡眠期间会被复位为默认状态,需要用
rtc_gpio_hold_en()保持输出电平。 - 外部中断唤醒引脚必须是 RTC GPIO,不是所有引脚都支持。
- 唤醒后
esp_sleep_get_wakeup_cause()可以判断唤醒来源,方便区分定时唤醒和外部中断唤醒。
小结
对于电池供电的低功耗物联设备,deep sleep + RTC 定时唤醒是最基础也最有效的省电手段,实测续航提升非常明显。