在ESP32低功耗模式下,推荐使用ESP-IDF的light sleep模式,配合RTC定时器唤醒,并利用Wi-Fi的modem sleep特性保持连接。关键点:1) 启用CONFIG_PM_ENABLE和CONFIG_FREERTOS_USE_TICKLESS_IDLE,让系统自动进入light sleep;2) 在唤醒后,通过esp_wifi_set_ps(WIFI_PS_MIN_MODEM)保持Wi-Fi modem部分活跃,避免完全断开;3) 使用esp_timer或RTC定时器(如esp_sleep_enable_timer_wakeup)设置唤醒周期,并确保唤醒后不调用esp_wifi_connect(),而是检查wifi状态(如esp_wifi_is_connected())以复用现有连接。为避免重连风暴,可在唤醒回调中增加延时或状态机,仅在连接丢失时触发重连,并设置重连退避(如指数退避)。实操建议:在menuconfig中启用PM,并测试不同sleep周期下的功耗与连接稳定性。
mcuku 阿沐 · 2026-08-31