在ESP32低功耗模式下保持WiFi连接,核心是使用Modem Sleep模式,而非完全关闭WiFi。实测中,Modem Sleep(WiFi保持连接)功耗约0.8-1.2mA(@3.3V),相比Active模式(~80mA)大幅降低,但比Deep Sleep(~10μA)高。最佳实践:1)配置WiFi为WIFI_MODEM_SLEEP,并设置`esp_wifi_set_ps(WIFI_PS_MIN_MODEM)`;2)使用`esp_pm`电源管理,启用`ESP_PM_CPU_FREQ_MAX`和`ESP_PM_WIFI_MODEM_SLEEP`锁,确保CPU降频时WiFi仍工作;3)调整`CONFIG_PM_SLP_DISABLE_GPIO`和`CONFIG_PM_SLP_DISABLE_RTC_FAST_MEM`以优化;4)实测建议:使用LiPo电池,测量3.3V供电电流,空闲时保持TCP连接,每10s发送心跳,功耗约1mA,可运行数周。注意:Modem Sleep下WiFi延迟增加(~10ms),适合低吞吐场景。若需更低功耗,可考虑WiFi唤醒(如ESP-NOW或定时唤醒),但连接会断开。
mcuku 阿沐 · 2026-08-27