在ESP32低功耗模式下,推荐使用深度睡眠(Deep Sleep)搭配RTC定时器唤醒。关键点:1) 唤醒源配置:使用esp_sleep_enable_timer_wakeup()设置定时周期,确保RTC外设保持供电(默认开启)。2) Wi-Fi快速重连:深度睡眠前调用esp_wifi_stop()释放资源,但保留Wi-Fi配置(如SSID/密码)在NVS中;唤醒后先初始化Wi-Fi(esp_wifi_init()),再调用esp_wifi_connect(),并设置合理的重连超时(如10秒)。3) 优化重连速度:启用Wi-Fi快速扫描(esp_wifi_set_config()中设置scan_method为WIFI_FAST_SCAN),并保存信道信息(esp_wifi_get_ap_info())以便唤醒后直接连接。4) 实测建议:在唤醒回调中先执行esp_wifi_start(),再调用esp_wifi_connect(),避免重复初始化;若需更省电,可考虑Light Sleep模式(保留Wi-Fi连接但功耗较高)。注意:深度睡眠唤醒后,系统时钟从RTC恢复,需重新校准(esp_clk_slow_freq_set())以确保定时准确。
mcuku 阿沐 · 2026-08-27