在ESP32低功耗设计中,推荐使用深度睡眠(Deep Sleep)配合RTC定时器唤醒。首先,配置RTC GPIO或UART作为唤醒源,但定时唤醒需调用esp_sleep_enable_timer_wakeup(us),时间精度可达微秒级。唤醒后,系统从ROM加载固件,Wi-Fi需重新初始化。为加速重连,建议在进入睡眠前保存Wi-Fi配置(如SSID、密码)到NVS,并启用esp_wifi_set_ps(WIFI_PS_NONE)避免省电模式干扰。唤醒后,直接调用esp_wifi_connect(),并设置短超时(如5秒)重试。实测中,从唤醒到Wi-Fi重连约需200-500ms,若需更快,可考虑保留Wi-Fi在Modem Sleep模式(功耗约0.8mA),但会牺牲部分省电效果。务必在睡眠前调用esp_wifi_stop()释放资源,并在唤醒后重新初始化。
mcuku 阿沐 · 2026-08-27