El consumo en modo normal vs Deep Sleep
El ESP32 activo con WiFi consume aproximadamente 80-240 mA según la potencia de transmisión. Una batería de 2000 mAh duraría menos de 24 horas. En modo Deep Sleep, el consumo cae a apenas 10 µA (0.01 mA). La misma batería duraría más de 2 años si el dispositivo solo despierta por breves instantes para enviar datos.
Esta capacidad hace al ESP32 de Especificar.cl perfecto para sensores remotos alimentados por baterías o paneles solares pequeños.
Modos de sleep del ESP32
- Modem Sleep: WiFi/BT apagado, CPU activa. ~20 mA
- Light Sleep: CPU en pausa, RAM preservada. ~0.8 mA
- Deep Sleep: Solo RTC activo. ~10 µA. RAM principal se pierde.
- Hibernation: Solo RTC timer activo. ~2.5 µA. Más ahorro aún.
Deep Sleep con wakeup por timer
Con esp_sleep_enable_timer_wakeup(60 * 1000000ULL) configuras el ESP32 para despertar después de 60 segundos. Luego esp_deep_sleep_start() inicia el sleep. Al despertar, el ESP32 reinicia desde setup() (no desde donde se durmió). Usa la memoria RTC (RTC_DATA_ATTR) para guardar variables que persisten durante el sleep, como contadores o el valor del último sensor.
Wakeup por interrupción externa
Con esp_sleep_enable_ext0_wakeup(GPIO_NUM_33, 1) el ESP32 despierta cuando el GPIO 33 sube a HIGH. Perfecto para sensores de movimiento PIR: el ESP32 duerme hasta que alguien pasa, despierta, toma una foto con la cámara OV2640, la sube a un servidor y vuelve a dormir. Todo en 3-5 segundos activos versus horas durmiendo.