在ESP32低功耗模式下实现RTC定时唤醒并快速重连Wi-Fi,核心是使用ESP32的Light Sleep(浅睡眠)模式,而非Deep Sleep。Light Sleep下RTC外设和Wi-Fi模块可保持部分供电,唤醒后重连延迟显著降低。配置步骤:1) 初始化Wi-Fi时,调用esp_wifi_set_ps(WIFI_PS_NONE)关闭省电模式,避免唤醒后扫描延迟;2) 使用esp_sleep_enable_timer_wakeup(时间微秒)设置RTC定时器;3) 进入睡眠前,调用esp_wifi_start()确保Wi-Fi已初始化,并保存当前SSID/密码到NVS;4) 执行esp_light_sleep_start()进入浅睡眠。唤醒后,系统自动从esp_wifi_connect()恢复,无需重新初始化。若需更省电,可考虑Deep Sleep,但需在唤醒后调用esp_wifi_init()并重连,建议使用esp_wifi_set_storage(WIFI_STORAGE_RAM)避免Flash读写延迟。实操建议:测试时用esp_timer记录唤醒到重连成功的时间,目标应小于200ms。
mcuku 阿沐 · 2026-08-27