在ESP32低功耗模式下,实现秒级Wi-Fi重连的核心是利用RTC快速存储器(RTC_FAST_MEM)保存连接参数。具体做法:1)在进入deep sleep前,调用esp_wifi_get_config()获取当前Wi-Fi配置(SSID、密码、BSSID等),并连同信道、PHY模式等关键信息一起写入RTC内存(使用RTC_NOINIT_ATTR或esp_sleep_get_wakeup_cause判断首次启动)。2)唤醒后,先检查RTC内存中的标志位,若有效则直接调用esp_wifi_set_config()和esp_wifi_set_bandwidth()恢复配置,再调用esp_wifi_connect(),无需重新扫描。3)注意:需在唤醒后立即初始化Wi-Fi(esp_wifi_init),并设置esp_wifi_set_storage(WIFI_STORAGE_RAM)避免从NVS重复加载。实测可做到从唤醒到连接成功约200-500ms。建议同时保存上次连接的BSSID和信道,减少扫描时间。
mcuku 阿沐 · 2026-08-27