O que é o Deep Sleep no ESP32?

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_ATTR mantê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.
Voltar para o blog