Mesurer la temperature / l'humidité avec ESPHome
WORK IN PROGRESS/
Mettre en place une mesure de température en passant par un capteur type DS18B20
Le capteur de température DS18B20 est un capteur très utilisé dans les montages électronique. Il s'alimente de 3 à 5 Volts et a une plage de mesure de -55° à +125°
Même dans la serre, à plus de 50° : il résiste !
De plus, dans sa forme encapsulée (comme sur la photo), il est étanche.
Notre objectif sera donc de l'interfacer avec un micro controleur ESP (D1_mini dans notre exemple) pour remonter ses données vers notre serveur Home Assistant, en passant par ESP Home.
Voir Page "Mon premier micro-controleur avec ESP Home"
La soudure :
Une fois équipé de son fer à souder préféré, on soudera le fil rouge (la phase du capteur) sur la broche 3V3 de l'ESP, le fil de donnée (le jaune en général) sur, par exemple, la PIN D2. Le fil noir (la masse du capteur) sera quand à lui soudé sur une des PIns GND (Ground)
On soudera également, entre le fil de donnée et la phase, une résistance de 4.7Kohm (pour stabiliser la tension/le passage des données.
Programmer l'ESP et remonter les Données
Une fois les composants soudés, on va passer par l'interface d'ESPHome pour charger du code dans le micro-contrôleur.
Si notre micro-contrôleur est déjà reconnu et en capacité de communiquer en Wifi (voir module précédent) , on aura qu'a rajouter un bloc de code dans le fichier YAML pour communiquer avec le capteur de température.
one_wire: #précise qu'on utilise le protocole OneWire
- platform: gpio
pin: GPIO4 #La pin D2 du micro-controleur, correspondant à GPIO04 : voir plan du premier module
sensor:
- platform: dallas_temp # On précise utiliser un capteur type dallas_temp
name: "Temperature DS18B20" # On lui choisi un nom
update_interval: 10s # On lui demande de remonter la temperature vers le serveur toutes les 10 secondes
Plusieurs capteurs de température sur une carte?
Le protocole 1-Wire (https://fr.wikipedia.org/wiki/1-Wire) permettant de connecter plusieurs capteurs en même temps, il conviendra de récupérer l'adresse de chaque capteur connecté (dans les Logs) pour ne pas les mélanger.
Il n'y aura plus qu'à ajouter un bloc de code par capteur dans le YAML correspondant
sensor:
- platform: dallas_temp
address: 0x123456789ABCDEF #adresse numérique que l'on a récupéré dans les Logs
name: "Temperature Salon"

