Sokan kérdezitek tőlem, miért nem elég egy dobozos okosotthon központ. A válasz egyszerű: a saját fejlesztésű, elosztott számítási kapacitású smart otthon vezérlő: Hogyan építs szerver-fürtöt a lakásod villanykapcsolóiból ESP32-alapú edge computinggal? pont az a hobbi, ami megmutatja, mi rejlik a dolgok internete mélyén. Nem a kész megoldásokról van szó, hanem arról, hogy az otthoni infrastruktúrát hogyan tehetjük stabilabbá és gyorsabbá egy okosabb hálózati architektúrával.
A központi szerverek legnagyobb átka, hogy ha bedöglenek, az egész ház megáll. Én ezt untam meg, ezért alakítottam át a villanykapcsolókat apró, számítási feladatokat ellátó csomópontokká.
A legtöbb lakásban a villanykapcsolók dobozaiban van a legtöbb hely. Amikor az ESP32-es chipek befutottak, azonnal láttam, hogy ezekben a kis eszközökben több van, mint egy szimpla relé vezérlése. Az elosztott számítás lényege, hogy a logikai döntéseket nem egy nagy központ hozza meg, hanem azok az eszközök, amelyek a legközelebb állnak a fizikai történésekhez. Ezt nevezzük edge computingnak, azaz peremhálózati számítástechnikának.
Amikor megnyomsz egy kapcsolót, az ESP32 nem csak a lámpát kapcsolja fel, hanem kommunikál a többi kapcsolóval a fürtben. Ha az egyik kiesne, a hálózat többi tagja azonnal átveszi a feladatát. Ez a redundancia adja meg azt a megbízhatóságot, amit a drága, bolti rendszerekből sokszor hiányolok.
Az ESP32 nem csupán egy olcsó mikrokontroller. Képes kezelni WiFi-t, Bluetooth-t, és ami a legfontosabb, rendelkezik olyan számítási kapacitással, amivel a saját mikroszolgáltatásait futtatni tudja.
A rendszerem alapja a következő három pillérre épül:
Hogy ez a gyakorlatban hogyan néz ki, azt az alábbi támpontok szemléltetik:
Egy elosztott hálózatnál a legnagyobb kihívás a sávszélesség és a csomagvesztés menedzselése. A hagyományos HTTP kérések itt nem válnak be, mert túl nagy a rezsijük. A MQTT vagy a kifejezetten mikrovezérlőkre tervezett bináris protokollok sokkal jobban teljesítenek.
Nálam minden ESP32 modul egy-egy önálló csomópontként viselkedik, amelyek úgynevezett gossiping protokollal osztják meg egymással a környezeti adatokat. Ez annyit jelent, hogy a kapcsolók pletykálnak egymásnak: ha az előszobai kapcsoló érzékeli a mozgást, rövid üzenetben értesíti a hálószobai és a nappali kapcsolókat, hogy készüljenek fel a fényerő szabályozására.
A stabil rendszerhez ezeket a szempontokat érdemes szem előtt tartani:
Az elosztott rendszerek nem mentesek a nehézségektől. Amikor harminc ESP32 modul szaladgál a WiFi hálózaton, az router szinten is igényel némi odafigyelést.
A szinkronizáció hiánya az egyik leggyakoribb hibaforrás. Ha a kapcsolók nem látják pontosan ugyanazt az időbélyeget, a döntések ütközhetnek. Ezért beépítettem egy egyszerű NTP szinkronizációt minden kapcsolóba, így minden eszköz milliszekundum pontossággal tudja, mikor történt az esemény.
Néhány dolog, amit érdemes elkerülni:
Amikor a kapcsolódobozokba építed az elektronikát, a legnagyobb ellenséged a helyhiány. A miniatürizálás nem luxus, hanem szükséglet. Az ESP32-WROOM modulok mérete ideális, de a feszültségszabályozókat is jól kell megválasztani, hogy ne fűtsenek feleslegesen a falban.
A huzalozásnál mindig használj megfelelő keresztmetszetű vezetéket a 230V-os oldalon, és soha ne keverd a nagyfeszültséget az adatkábelekkel. Én optocsatolókat használok a fizikai kapcsoló és az ESP32 bemenetei között, így az elektromos zaj nem tudja megbolondítani a processzort.
Amióta a lakásom kapcsolói egy fürtöt alkotnak, sokkal nyugodtabban alszom. Ha a központi vezérlőm – ami nálam csak egy opcionális vizualizációs eszköz – leáll, a világítás és a fűtés automatizációja akkor is tovább működik. Ez az igazi szabadság a smart otthon világában.
Nem arról van szó, hogy mindenki kezdjen el szerver-fürtöt építeni, de a koncepció megértése segít abban, hogy ne legyünk kiszolgáltatva a felhő alapú megoldásoknak. Amikor a házad okos, legyen az tényleg a tiéd, minden egyes adatcsomaggal és minden egyes kapcsolással együtt.
A technológia adott, az eszközök olcsók, a tudás pedig ott hever a dokumentációkban. Egy kis kísérletező kedvvel bárki képes átalakítani a környezetét, és egy olyan robusztus hálózatot létrehozni, ami hosszú évekig kiszolgálja az igényeit.