Rólunk Cikkek Galéria Projektek Tagok Tudásbázis Tanfolyam Workshopok 3D Nyomtatás

Otthon okosítás, avagy a SmartHome projekt

Írta: Juhász Előd Illés
2019.10.30.

Az okos otthonoknak sok fajtája létezik. Már nem elvetekedett gondolat manapság egy építkezés során, hogy egy ház kivitelezése eleve így történjen. Alapvetően a huzalozott rendszerrel létrejövő megoldások nevezhetők a legstabilabbnak, legmegbízhatóbbnak ezen a téren, azonban egy ilyesfajta megvalósítás egy idősebb lakásban, házban elég költséges, körülményes lehet. Nem feltétlenül a rendszer ára, hanem a kiépítés pluszmunkálatai (pl. fal megbontása) miatt is. A SmartHome projekt keretein belül a tagok (Juhász Előd, Hodvogner Szilvia, Ugrin Dániel, Meggyesi János) nem a vezetékes, hanem a vezeték nélküli megoldással foglalkoznak.

A hálózat felépítése

Fő eszközük az ESP32 mikrokontroller NODEMCU boardon. Az alapötlet, hogy a lakás különböző pontjain elhelyeznek ilyen ESP-ket, melyek önállóan, jelerősség alapján (WiFi) felépítenek magukból egy úgynevezett „mesh hálózatot”. Ezt úgy kívánják megvalósítani, hogy kihasználják az ESP32 azon tulajdonságát, hogy képes „access point” (ap), és station (sta) módban is működni. Előbbi mód gyakorlatilag egy vezeték nélküli hozzáférési pontként értelmezhető, az utóbbi mód lényege pedig, hogy a már meglévő hálózatban keres ap-kat.

Az ESP32 NODEMCU board

A hálózat úgy épülne fel, hogy adott 1 db ESP ap módba állítva. Az összes többi ESP sta módban van, ők keresik a már meglévő ap-kat. Amint találnak egyet, (amennyiben többet, akkor a legnagyobb jelerősségűre) rácsatlakoznak, és önmagukat is ap módba állítják. Ez addig zajlik, amíg az összes ESP ap módban nem lesz.

Szenzorok, perifériák

A kihelyezett mikrokontrollerekre mindenféle szenzort ráköthetünk (pl.: hőmérséklet-/levegőnedvességmérőt, mozgásérzékelőt, stb…). Ezek lesznek a bemeneteink. Ez már jó alap arra, hogy adatokat gyűjtsünk, melyeket tárolhatunk egy web-/localszerveren. Természetesen elemezhetjük, és vizualizálhatjuk is ezeket az adatokat. A SmartHome projekt ötlete a szenzorok, és perifériák bekötéséhez az I2C protokollú buszrendszer használata. Ez azért jó, mert több ki-és bemenetünk lehet, mintha az ESP32 GPIO (General Purpose Input/Output) portjait használnánk. A kivitelezéshez 2 panelre van szükségünk.

Az egyik panel az ESP32 boardot foglalja magába, annak lábait vezeti ki RJ12-es csatlakozású aljzatokhoz. Illetve a tápellátás miatt egy DC-jack táp is található rajta.

A másik panel 1 db RJ12-es aljzattal rendelkezik, amivel összeköthető a fentebb említett panellal, és erre köthetjük rá tüskesoros csatlakozással a kívánt szenzorokat, perifériákat.

Programozás

A szenzorok elhelyezése és bekötése után tudatnunk kell az ESP-vel, hogy mik is kerültek rá. Ennek megvalósítása a Google Blockly rendszerének használatával történik a mellékelt ábrán is látható módon. Minden ESP azonosítható a MAC (Media Access Control) címén keresztül. Az így azonosított eszköznek pedig már meg tudjuk mondani, hogy egyes szenzorok valamilyen állapota esetén mit tegyen az egyes kimenetein.

A frontend Blazor segítségével készül.

Modellház

A csapat jelenlegi terve egy modellház megépítése, melynek célja elsősorban nem a felépülő mesh hálózat, hanem a szenzorhálózat bemutatása lenne, az alábbi látványtervek szerint: