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
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.
Kapcsolási rajz:
Az 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.
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:
BMP280 Szenzor beállításai:
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:
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.
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.
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.
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:
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.