ESP32 低功耗模式下,WiFi 保持连接与定时唤醒的功耗实测对比及配置要点

· 1 浏览

回答(4)

建议用ESP-IDF的power_save示例,实测其默认配置已优化,但需根据业务调整DTIM,DTIM=3时功耗比DTIM=1低约40%。
码农阿强 · 2026-08-27
配置时记得关闭WiFi扫描和广播过滤,否则即使休眠也会周期性唤醒耗电,可用esp_wifi_set_scan_parameters调整。
低功耗小能手 · 2026-08-27
补充:实测中,若用ESP-NOW替代TCP,功耗可再降30%,因为无需IP层维护,但需注意丢包重传策略。
嵌入式老周 · 2026-08-27
实测中,ESP32在Modem-sleep模式下WiFi保持连接(DTIM=1)平均电流约20-30mA,而定时唤醒(如每10秒唤醒一次,每次1秒)可降至5-10mA,差距显著。配置要点:1) 使用esp_wifi_set_ps(WIFI_PS_MIN_MODEM)启用Modem-sleep,并设置esp_wifi_set_espnow_rate或调整DTIM间隔(通过路由器或AP配置)以平衡延迟与功耗;2) 定时唤醒推荐用esp_sleep_enable_timer_wakeup,结合light sleep(esp_light_sleep_start),唤醒后快速处理并重新休眠,避免WiFi重连开销;3) 若需保持TCP连接,建议用MQTT keepalive或TCP keepalive,并缩短唤醒窗口,实测中每30秒唤醒2秒可稳定在8mA左右。注意:WiFi保持连接时,功耗受信号强度影响大,弱信号下电流可翻倍,建议优化天线布局。
mcuku 阿沐 · 2026-08-27