Depuis quelques années je me suis mis à Home Assistant pour gérer des automatisations dans mon bureau. Cette plateforme est simple, efficace, régulièrement mise à jour et surtout… gratuite!
Je fais donc tourner ce système dans une VM sur mon petit homelab:

M’étant récemment équipé d’une imprimante 3D et m’intéressant à la plateforme ESPHome qui permet d’intégrer des équipements à base d’ESP32 dans Home Assistant, j’ai donc entrepris de me fabriquer un petit capteur de température et d’humidité connecté pour quelques euros.
Choix du matériel
J’ai sous la main quelques modules ESP32 qui me servent pour d’autres projets. Ceux-là sont des Diymore NodeMCU (https://amzn.to/49Ho5EL) mais je pense que d’autres modèles pourrait s’adapter.

Pour le capteur de température, j’ai choisi un module DHT22, un DHT11 marchait aussi mais il est moins précis et ça ne coûte vraiment pas cher (AZDelivery 3X DHT22 AM2302). J’ai choisi un produit fixé sur un PCB, avec les broches, ça m’évite de faire des soudures et d’ajouter une résistance (flemme).

En bonus, je suis tombé sur des lots de petits écrans OLED de moins d’un pouce qui sont compatibles. Pour le fun je les ai pris (moins de 20€ les 6!). Module d’écran OLED de 0,96 pouces.

On arrive donc à un coût total par appareil de 21€:
- ESP32 : 7,5€ pièce
- Capteur : 11,5€ pièce
- Ecran : environ 3€ pièce
Assemblage
Comme je ne veut pas faire de soudure, j’assemble tout avec des câbles dupont (re-flemme).
- ESP32 (3v3) sur le + du capteur
- ESP32 (GND) sur le – du capteur
- ESP32 (PIN 19) sur le ‘OUT’ du capteur
- ESP32 (5V) sur le VCC de l’écran
- ESP32 (GND) sur le GND de l’écran
- ESP32 (22) sur le SDA de l’écran
- ESP32 (23) sur le SCL de l’écran
Il y a plusieurs GND sur les ESP32, chacun le sien. J’ai choisi d’alimenter l’écran en 5v, il pouvait aussi l’être aussi en 3.3 mais ça m’obligeait à faire une dérivation.
Code
J’ai choisi d’installer tout avec ESPHome car c’est tout intégré à HomeAssistant et que c’est très simple. Il suffit de suivre le process d’installation sur leur site (https://esphome.io/guides/getting_started_hassio/) et de rédiger le code sur ESPHome Builder qui apparait dans l’interface Home Assistant.
Je vérifie la valeur des capteurs toutes les minutes et les affiches sur l’écran en dessous du nom de la pièce défini en haut du fichier
Si vous vouler reproduire le même capteur, je vous partage mon code:
substitutions:
area_name: "bureau"
esphome:
name: "capteur${area_name}"
friendly_name: "capteur${area_name}"
esp32:
board: nodemcu-32s
framework:
type: arduino
logger:
level: verbose
api:
port: 6053
batch_delay: 50ms # Reduce latency for real-time applications
encryption:
key: "PTe337+xBl8Ap1AAqfCODEHzLU695mJbfkDfR367ESA="
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ota:
- platform: esphome
password: "caeaa610fd9d2cebb073ac915752xxxx"
sensor:
- platform: dht
pin: 19
temperature:
id: temperature
name: "Temperature ${area_name}"
humidity:
id: humidity
name: "Humidité ${area_name}"
update_interval: 60s
i2c:
sda: 22
scl: 23
scan: True
id: bus_a
font:
- file: "arial.ttf"
id: arial_font
size: 14
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3C
lambda: |-
it.print(0, 0, id(arial_font), "${area_name}");
it.printf(0, 14, id(arial_font), "Temp: %.1f°C", id(temperature).state);
it.printf(0, 28, id(arial_font), "Humi: %.1f/100", id(humidity).state);
Il suffit de définir le nom de la pièce (area_name), votre clé pour l’api et votre mot de passe pour l’OTA (pour pouvoir mettre à jour via HomeAssistant). J’ai poussé le code via ESPHome Web pour la première fois, pour les mises à jour je pousse tout via le wifi.
Boitier
Pour ranger tout ça, et comme j’ai ma petite Bambulab, j’ai dessiné une boite pour tout caser. C’est perfectible mais ça a le mérite d’exister. Après quelques essais et un bon moment passé sur Fusion 360, j’ai enfin quelque chose de pratique:

En moins d’une heure pour une impression de bonne qualité, voici le résultat assemblé:

Pas de colle (mais c’est possible), pas de soudure et ça fonctionne! Je peux désormais commencer à créer mes automatisations.
Si ce type de projets vous plait, je peux en réaliser d’autre. Dites le moi!
Les prix sont à jour à la création de l’article, ils peuvent varier en fonction des promotions
Les liens sont affiliés (pas de modifications des prix pour vous mais je peux toucher une petite commission sur vos achats)







Laisser un commentaire