实测中,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