Passer au contenu principal

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  

image.png

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 serreserre, à plus de 50°, : il résiste !
De plus, dans sa forme encapsulée (comme sur la photo), il est étanche.é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 : 

image.pngUne 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. 

plan_soudure_DS18B20.svg


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-controleurcontrôleur est dejadé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?

image.png

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"

image.png