Le schéma est vraiment simple. On notera la connexion de GPIO16 sur reset pour permettre le réveil après le deepsleep.
Noter les résistances de pull-up sur EN et de pull-down sur GPIO15.
Voici le petit circuit imprimé (Vu coté composants) ; il supporte 2 connecteurs femelles au pas de 2mm car l'ESP est équipé de connecteurs mâles. Cela permet aussi de placer des résistances sous l'ESP.
5 pastilles permettent de connecter la batterie et le capteur DS18B20.
Reste à écrire le fichier YAML de l'appareil dans ESPHome builder.
La particularité est la présence dans Home Assistant d'un switch virtuel (Paramètres --> Appareils --> Entrées) nommé "maj_thermometre_demandee". Ce switch permet d'empêcher l'ESP de
se rendormir après son prochain réveil, ceci afin de pouvoir lui envoyer une mise à jour OTA.
esphome:
name: thermometre-piscine
friendly_name: Thermometre piscine
on_boot:
then:
- wait_until: api.connected
- delay: 3s
- if:
condition:
binary_sensor.is_on: MAJ
then:
- deep_sleep.prevent: deepsleep1
esp8266:
board: esp12e
logger:
esp8266_store_log_strings_in_flash: false
api:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: true
ap:
ssid: "Thermo-piscine Hotspot"
captive_portal:
ota:
- platform: esphome
deep_sleep:
id: deepsleep1
run_duration: 10s
sleep_duration: 60min
binary_sensor:
- platform: status
name: "Statut"
- platform: homeassistant
id: MAJ
name: MAJ
entity_id: input_boolean.maj_thermometre_demandee
one_wire:
- platform: gpio
pin: GPIO2
sensor:
- platform: dallas_temp
name: Temperature
update_interval: 5s
J'ai réalisé en impression 3D un support qui utilise les ancrages de l'ancien circuit imprimé et qui porte la pile et le circuit.
Le capteur plonge dans un logement métallique au fond du boitier et garni d'un peu de graisse thermique.
Et quelques photos de l'appareil et de son boitier.
Les fichiers KiCad, FreeCad et PDF sont disponibles sous licence