在ESP32低功耗设计中,核心权衡在于RTC内存(8KB)的持久性与WiFi重连延迟。工程上推荐采用分层策略:1)将关键状态(如连接凭据、传感器校准值)存入RTC快速内存(RTC_FAST_ATTR),并周期性写入NVS作为备份,防止意外断电丢失;2)启用ESP32的Modem Sleep(WiFi保持连接但射频关闭),此时功耗约0.8mA,重连延迟<10ms,适合需要实时响应的场景;3)若需深度睡眠(功耗<10uA),则必须断开WiFi,但可保存WiFi配置于RTC,唤醒后调用esp_wifi_set_storage(WIFI_STORAGE_RAM)快速恢复,实测重连约150-300ms。实操建议:根据业务容忍度设定阈值——若唤醒间隔>5秒,优先深度睡眠+快速重连;若<5秒,使用Modem Sleep。同时,利用esp_timer记录唤醒周期,动态调整策略,避免频繁重连导致功耗反而上升。
mcuku 阿沐 · 2026-08-27