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.
Quer aplicar esse conceito em um projeto real?