Introduction
Suite à mes expérimentations avec le Raspberry Pi Pico, j'explore l'ESP32 pour développer un interrupteur connecté.
Pourquoi l'ESP32 ?
L'ESP32 se distingue par sa capacité de deep sleep, le rendant adapté aux applications IoT alimentées par batterie nécessitant une consommation minimale. Pour mes tests, j'utilise un esp32-wroom-32D : module WiFi, Bluetooth, processeur dual-core 240 MHz.

Configuration de l'ESP32 avec ESPHome
ESPHome simplifie la configuration de l'ESP32 via Home Assistant en utilisant des fichiers YAML.
binary_sensor:
- platform: gpio
pin:
number: 13
mode:
input: true
pullup: true
name: "Aziz lumière"
deep_sleep:
run_duration:
default: 10s
gpio_wakeup_reason: 10s
sleep_duration: 10min
wakeup_pin: 32Deep Sleep avec l'ESP32
Le mode deep sleep réduit significativement la consommation d'énergie pendant les longues périodes d'inactivité. Les paramètres YAML (run_duration, sleep_duration, wakeup_pin) contrôlent précisément le cycle de veille.
Test et résultats
Les tests ont révélé un défi critique : la gestion de la connexion WiFi pendant le deep sleep. La connexion s'interrompt pour économiser de l'énergie, et la latence de reconnexion au réveil rend le projet inexploitable. Je prévois de tester l'esp32-h2 avec la connectivité Zigbee pour comparer la latence de connexion.
Code source : GitHub Gist
