fr en fr en en fr fr fr fr de fr fr de en it fr fr nn en fr fr fr de fr de fr en fr fr it fr fr fr fr fr fr fr fr fr fr fr fr en fr fr en fr nn fr fr fr fr fr fr en fr fr fr fr fr fr en fr fr en fr fr en fr
Je viens tout juste de recevoir mon premier “Wemos D1 Mini” ! Ayant un capteur DHT22 qui traine, j’ai décidé de monter un petit capteur connecté avec ces deux éléments.
C’est une carte à base d’un ESP 8266(EX), donc un module fonctionnant sur le Wi-Fi 2,4 GHz. Il peut s’alimenter par l’intermédiaire de son port micro-USB en 5 V. Ce port permet aussi de le flasher en connexion directe sur le PC (par besoin de convertisseur TTL).
Il existe une version dite “pro” sur lequel il y a un connecteur UFL afin d’y connecté une antenne externe (idéal dans un endroit où on ne capte pas bien son Wi-Fi).
C’est un capteur de température et d’humidité. Il se compose de 4 pins servant respectivement, à la tension d’alimentation (3,3 V), la data, à rien et à la masse.
On va donc associer le capteur DHT22 au Wemos afin de créer un capteur de température et d’humidité sur IP (en Wi-Fi bien sûr !).
La documentation du Wemos précise que le pin “D2” est de type SDA (Serial DAta), on va y connecter le pin “DATA” du capteur.
Les documentations que j’ai pu lire préconisent l’utilisation d’une résistance de tirage vers le haut (de “pull-up”) entre le VCC et la DATA afin de maintenir un état haut sur notre entrée de données. En utilisant une résistance forte entre , on va réduire l’impédance du système, et donc, limiter les parasites sur cette patte. Dans notre cas, on va utiliser une résistance de 4,7 kΩ.
DHT22 avec la résistance de tirage
On reliera donc le DHT22 au Wemos de la manière suivante :
On va utiliser ESPHome pour programmer configurer le Wemos D1 Mini.
Lors du premier flashage (en USB), j’ajoute seulement l’interface Web. De cette manière, je fais le flashage final en OTA.
Voici ma configuration finale du module sous ESPHome :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
esphome: name: wemos_d1_mini_1 platform: ESP8266 board: d1_mini wifi: ssid: !secret secret_wifissid password: !secret secret_wifimdp # Enable logging logger: # Enable WebUI web_server: port: 80 # Enable Home Assistant API api: password: !secret secret_wemos_d1_mini_1 ota: password: !secret secret_wemos_d1_mini_1 sensor: - platform: dht model: DHT22 pin: D2 temperature: name: "Wemos1 Temperature" humidity: name: "Wemos1 Humidity" update_interval: 60s
Vous aurez remarqué que j’utilise maintenant les “secrets” pour mes données sensibles. Cela me permet de rappeler facilement les identifiants tels que ceux de mon Wi-Fi sur les différents ESP que j’utilise. Je peux du coup partager mon code plus rapidement sur ce site ! J’ai donc un fichier secrets.yaml dans mon dossier de configuration que je remplis de manière suivante :
1 2 3 4 5 6
# Wi-Fi connexion secret_wifissid: MonSSID secret_wifimdp: MonMDPwifi # OTA password secret_wemos_d1_mini_1: azertyuiop0123456789
À la fin du flashage on redémarre la board en débranchant et rebranchant le câble USB.
Pour avoir laissé en fonctionnement le Wemos pendant un moment, je remarque qu’il chauffe un peu. De ce fait, si le capteur est trop près du module il va nous délivrer de fausses valeurs. Je vais donc mettre des câbles de types jumper afin de déporter le capteur de la carte. De ce fait, je vais souder un pin à chaque point de connexion. Cela me permettra aussi de tester le montage sur une plaquette de prototypage avant de faire le montage final.
J’ai donc soudé les 3 pins nécessaires au projet :
Wemos D1 Mini avec les 3 pins soudé
Ainsi, j’ai monté le tous sur une plaque de prototypage :
Pour l’alimentation, je l’ai connecté sur un port USB de ma box Internet avec un câble USB type-A vers USB micro-B (“micro-USB”) pour récupérer la température de mon salon. J’ai éloigné au maximum le capteur de la box afin de ne pas relever de fausse valeur (car la box chauffe).
En allant sur l’interface Web du Weemos (via son adresse IP ou son nom en résolution mDNS (dans mon cas http://weemos_d1_mini_1.local), on peut consulter les valeurs relevées :
État des capteurs du module
Ayant un thermomètre classique (le truc au mercure), j’ai pu comparer les deux valeurs sur plusieurs jours. Ce module ajoute au maximum 1°C à la valeur du mercure. J’ai donc considéré cette valeur comme réelle.
Intégration dans Home Assistant
On ajoute donc le capteur dans la page d’intégration (composant “ESPHome” si vous avez désactivé la découverte automatique) et on l’ajoute sur Lovelace avec une carte d’entités. Voici le code de ma carte :
1 2 3 4 5 6 7 8
entities: - entity: sensor.weemos1_temperature name: Température - entity: sensor.weemos1_humidity name: Humidité show_header_toggle: false title: Salon type: entities