O que é o Deep Sleep no ESP32?
Share
O Deep Sleep no ESP32 é a funcionalidade integrada de suspensão profunda do SoC da Espressif que desliga os núcleos da CPU Xtensa e o rádio Wi-Fi/Bluetooth, mantendo ativa apenas a unidade de controle de baixa potência (ULP) e a memória de dados de backup RTC.
Como Programar e Configurar o Deep Sleep no ESP32
O ESP32 é a placa padrão para construir sistemas de internet das coisas conectados. O desenvolvimento de nós de sensores climáticos móveis utilizando o Módulo ESP32 NodeMCU exige configurar o Deep Sleep de forma correta. Métodos fundamentais:
-
Despertar por Timer de Hardware: Utiliza o comando
esp_deep_sleep_enable_timer_wakeup(tempo_em_us)para definir um tempo de contagem exato para acordar a placa. - Despertar por Pinos Físicos (Ext0 e Ext1): Permite acordar o ESP32 aplicando níveis lógicos específicos em pinos GPIO de entrada (ex: clique de um botão).
-
RTC Slow Memory (Variáveis persistentes): As variáveis marcadas no código com o atributo
RTC_DATA_ATTRmantêm seus valores gravados na RAM de backup ao acordar.
Ao despertar do Deep Sleep, o ESP32 executa o programa desde o início (reiniciando a função setup), atuando como um reset de hardware limpo.
Perguntas Frequentes (FAQ)
- As conexões Wi-Fi do ESP32 permanecem ativas sob Deep Sleep?
- Não. O rádio interno do Wi-Fi e do Bluetooth é totalmente desligado. Ao acordar, o código deve reestabelecer a conexão física com o roteador para enviar dados de sensores.
- Qual a utilidade do co-processador ULP do ESP32 no Deep Sleep?
- O ULP (Ultra-Low Power co-processor) é um pequeno núcleo de processamento secundário que pode rodar pequenos programas Assembly simples lendo sensores sob consumo mínimo enquanto os núcleos da CPU principal estão totalmente desligados.