BMP280 Hőmérsékleti adatok küldése MQTT-n keresztül

Kedves Olvasó!

 

Ebben a példafeladatban azt nézzük meg, hogy miként készítettem egy külső hőmérőt, ami MQTT-n keresztül küldi a HassIO alá a BMP280 mért hőmérsékleti adatait. Kicsit bővebben: Kint a kertben a kamera miatt rendelkezésre áll még 12V-on pár ampernyi szabad kapacitásom, amit kinti szenzorok elhelyezésére terveztem felhasználni. Innen jött az ötlet, hogy építek egy olcsó Wifis hőmérőt kintre is. Kulcsszavakban: BMP280 – MQTT – Hassio – ESPeasy – ESP-01.

Szükséges eszközök listája:

 

ESP-01S (ESPeasy R120-as Firmware-rel)

BMP280 Altiméter és hőmérő szenzor

LM2596 – Buck converter

AMS1117 – 3.3V

5×7 cm forraszható próbapanel

 

Az ESP-01 firmware-rel történő ellátásáról már írtam korábban, ezért ezt nem részletezném.

— Korábbi leírás —

 
Kapcsolási rajz: BMP280 - MQTT - Hassio - ESPeasy - KapcsolásAz ESP-01 és BMP280 bekötése:

GND — GND — GND

EN vagy CHPD — 3.3 V — VCC

GPIO0 — SDA

GPIO2 — SCL

Én a kapcsolás összeállításánál sima AMS1117-es IC-t használtam nem pedig a Fritzing kapcsolásban látható modult, de annak a bekötése sem nagyon tér el. A lineáris feszültség stabilizátoroknál nem célszerű a maximum értéket belőni a bejövő feszültségnél, mert a 12V és a 3.3 V között elég nagy a különbség. Kis áramerősségű kapcsolásoknál működik a dolog, de itt 8.7 V feszültség esést kellene tolerálnia az AMS-nek úgy, hogy 200-300 mA áramfelvétel van az ESP oldalon. Mondanom sem kell, hogy ha ilyen bekötést választanánk, akkor az AMS egy rövid idő után megsülne.

AMS1117 Schematic

Ezért a legcélszerűbb, ha az LM2596-ot betekergetjük a potméterével 4-5 V közé és arról tápláljuk meg a kapcsolást.

Ha az összeállítással megvagyunk, akkor nézzük meg az ESPeasy Firmware beállításait:

 

GPIO Beállításai:

 ESP01 GPIO settings

BMP280 Szenzor beállításai:

 

BMP280 sensor settings

 

MQTT Kliens beállításai:

 

Itt amire figyelni kell, az az hogy mindenképp adjunk meg egy Unit Number-t. Továbbá a bejelentkezési adatokat, mint például Controller User és Passoword mindenképp meg kell adni, ha az MQTT szervernél a beállításoknál nem állítjuk át az anonymus-t “true” értékűre.

A későbbiekben nem szeretném bemutatni az MQTT szerver beállítását ezért ebben a leírásban az elejéről kezdem az Add-On telepítéstől.

 

MQTT szerver telepítése Home Assistant alá:

 

A Supervisor menüben válasszuk ki az “AddOn Store”-t, vagy ha magyarra állítottuk, akkor a Bővítményboltot, és keressük ki a Mosquitto broker-t a képen látható módon:

 

BMP280 - MQTT - Hassio - ESPeasy - Mosquitto Broker

 

Ha ezzel megvagyunk, akkor nyissuk meg és telepítsük. A telepítés után nem árt újraindítani rendszert, nekem első alkalommal el sem indult a broker hiába indítottam újra a Core-t és a Supervisor-t. Továbbá hozzunk létre egy felhasználót is, mert nem tanácsos a broker-t Supervisor fiókkal futtatni.

Ha a felhasználói fiókot létrehoztuk, akkor állítsuk be a Broker-t. A Konfiguráció menüpont alatt az integrációk között keressük ki az MQTT-t és adjuk hozzá a rendszerhez.

 


BMP280 - MQTT - Hassio - ESPeasy - MQTT integráció

Itt a beállításoknál adjuk meg a felhasználói fiókot, amit létrehoztunk a többi pedig adja magát.

Szerencsére már csak két lépés van hátra a konfigurációból. A következő lépés az, hogy a “Supervisor” menüpont alatt a Mosquitto Brokert megnyitva válasszuk ki a “Konfiguráció” fület felül. 

 

BMP280 - MQTT - Hassio - ESPeasy - Broker konfiguráció

Itt a képen látható módon kell szerkeszteni a konfigurációs fájlt és a létrehozott felhasználó adatait be kell illeszteni. 

Végül de nem utolsó sorban a “configuration.yaml” fájlba illesszük be a következő sorokat:

mqtt:
  broker: 192.168.0.150
  port: 1883
  discover: true

sensor BMP280:
  platform: mqtt
  name: "Kerti hőmérséklet"
  state_topic: "BMP280/BMP280/Temperature"
  qos: 0
  unit_of_mesurement: "°C"

 

Ha friss a telepítésünk és még sohasem csináltunk ilyet, akkor “Supervisor” menüpont alatt a bővítményboltból válasszuk ki a “File Editor” bővítményt és telepítsük. Ezután a File Editor segítségével az alábbi képen látható módon nyissuk meg a “configuration.yaml” fájlt.

 

BMP280 - MQTT - Hassio - ESPeasy - Configuration.yaml

A szerkesztés után mindenképpen indítsuk újra a Core-t és a Supervisor-t is. Lehet elég lenne a Yaml fájl újratöltése, de én fölösleges hibakeresés helyett szeretek biztosra menni.

Elviekben ha mindent jól csinálunk akkor az MQTT logjában a következőket fogjuk látni:

 

BMP280 - MQTT - Hassio - ESPeasy - MQTT log

 

Most már tényleg utolsó lépésben, a vezérlőpultnál adjuk hozzá a szenzort. Elviekben megjelent az Entitások között és simán hozzáadható. Sajnos már így is túl nyúltam a tervezett terjedelmen ezért ezt már nem szeretném részletezni. Így állt össze a projekt: BMP280 – MQTT – Hassio – ESPeasy – ESP-01

Egyébként hasznos alkalmazásként én ajánlanám az MQTT explorer-t, nekem elég sokat segített a hiba detektálásokban.

Remélem érthető volt a leírás, és elég részletes. Akinek kérdése van, nyugodtan forduljon hozzám mailben.

(Statisztika: 170 megtekintés)