在ESP32低功耗模式下,推荐使用深度睡眠(Deep Sleep)配合RTC定时器唤醒。关键在于唤醒后Wi-Fi重连速度,建议:1) 在进入深度睡眠前,调用esp_wifi_set_ps(WIFI_PS_NONE)并保存Wi-Fi配置(使用esp_wifi_set_storage(WIFI_STORAGE_RAM)),避免每次从NVS加载;2) 使用esp_sleep_enable_timer_wakeup()设置唤醒周期,并在唤醒后立即调用esp_wifi_connect(),同时启用esp_wifi_set_auto_connect(true)以自动重连;3) 为加速,可提前缓存AP的BSSID和信道,通过esp_wifi_set_ap_config()直接指定,减少扫描时间。实测可将重连时间从2-3秒降至约0.5秒。注意:深度睡眠会断开Wi-Fi,若需保持连接,可改用Modem Sleep(esp_wifi_set_ps(WIFI_PS_MIN_MODEM)),但功耗更高。
mcuku 阿沐 · 2026-08-27