Skocz do zawartości

Zigbee, Thread i Matter, czyli współczesna komunikacja w IoT


Pomocna odpowiedź

Napisano

Smart-home.thumb.jpg.4e989216f7b21556d9d627bacc332938.jpg

(źródło)

Jeszcze kilkanaście lat temu termin inteligentnego domu, kojarzył się głównie z futurystycznymi wizjami, rodem z filmów science fiction. Dziś sytuacja ta wygląda już nieco inaczej: żarówki sterowane telefonem, czujniki temperatury, zamki, termostaty, rolety czy gniazdka mierzące zużycie energii można kupić praktycznie od ręki, a liczba dostępnych sprzętów rośnie z każdym rokiem. Co ciekawe, sama obsługa i przysłowiowe „podłączenie do internetu” urządzeń IoT nie należy do najtrudniejszych zadań. Często znacznie większym wyzwaniem okazuje się sprawienie, aby wszystkie moduły potrafiły ze sobą odpowiednio współpracować. 

Na pierwszy rzut oka rozwiązanie wydaje się dość proste. Skoro w niemal każdym domu znajduje się router WiFi, to dlaczego nie połączyć wszystkiego właśnie w ten sposób? W przypadku telewizora, kamery czy głośnika rozwiązanie to jest jak najbardziej sensowne. Urządzenia te są zwykle zasilane na stałe i co więcej, mogą potrzebować sporych ilości transferu internetowego. W przypadku niewielkiego czujnika otwarcia okna, który raz na jakiś czas wysyła zaledwie kilka bajtów informacji i przez resztę doby mógłby właściwie „spać”, sytuacja ta wygląda nieco inaczej.

Utrzymywanie pełnego połączenia WiFi tylko po to, aby przesłać komunikat „okno otwarte” albo „temperatura 22,4°C”, będzie działać, ale nie będzie szczególnie eleganckim rozwiązaniem. Zwłaszcza jeśli taki czujnik lub moduł ma czerpać energię z wbudowanego akumulatora. Właśnie z tego powodu powstała cała grupa energooszczędnych technologii przeznaczonych stricte do komunikacji niewielkich urządzeń IoT.

Do najbardziej rozpoznawalnych należą Zigbee, Thread i Matter. Nazwy te bardzo często pojawiają się obok siebie, przez co można odnieść wrażenie, że są trzema konkurencyjnymi standardami, z których użytkownik musi wybrać tylko jeden. W rzeczywistości jest jednak nieco inaczej. Dlatego w tym artykule postaram się pokrótce wyjaśnić, jak działa komunikacja we współczesnych sieciach IoT.

 

Trzy poziomy komunikacji

eyJidWNrZXQiOiJ3ZXZvbHZlci1wcm9qZWN0LWltYWdlcyIsImtleSI6ImZyb2FsYS8xNjQxODA2MzA3ODU4LUlNQUdFIDItMDEg-p7InJlc2l6ZSI6eyJ3aWR0aCI6OTUwLCJmaXQiOiJjb3ZlciJ9fX0.thumb.png.e291428f2e4830bc57cc8cb79e2b0c14.png

Przykładowa sieć komunikacji dla Zigbee i Z-wave. (źródło)

Dość częste jest wrzucanie wszystkich technologii komunikacyjnych do jednego worka. Wi-Fi, Bluetooth, Zigbee, Thread, Matter czy nawet MQTT bywają określane po prostu jako „protokoły bezprzewodowej wymiany danych”. Jest to oczywiście określenie prawdziwe, ale jak to zwykle bywa, upraszcza i nie wyczerpuje tematu.

W rzeczywistości komunikację możemy wyobrazić sobie jako trzy osobne kręgi lub poziomy. Na najniższym z nich mamy fizyczną transmisję bitów – częstotliwość radiową, modulację i sposób dostępu do medium. Wyżej znajdują się mechanizmy adresowania i routingu, dzięki którym pakiety trafiają do właściwego urządzenia. Jeszcze wyżej znajduje się tak zwana warstwa aplikacyjna opisująca, co przesłane dane właściwie oznaczają.

Rozważając sposoby komunikacji, możemy tak naprawdę umieścić każdy z nich w nieco innym miejscu. Zigbee jest rozwiązaniem w zasadzie kompletnym, obejmując sieć typu mesh, mechanizmy wymiany danych oraz wspólny model aplikacyjny urządzeń końcowych. Thread skupia się przede wszystkim na zbudowaniu energooszczędnej sieci IP. Natomiast Matter definiuje wspólny model danych oraz sposób, w jaki urządzenia inteligentnego domu mają wymieniać informacje między sobą. Na ten moment może wyglądać to na nieco skomplikowane i pomieszane, ale rozjaśni się w dalszej części. 

 

IEEE 802.15.4, czyli wspólny fundament

digi-xbee-3-family.thumb.jpg.b8d3e53633ea1be8946d84446afbe13c.jpg

IEEE 802.15.4 zaszyte jest najczęściej w tego typu modułach. (źródło)

Pod względem bazy Zigbee i Thread mają ze sobą całkiem sporo wspólnego. Oba rozwiązania wykorzystują standard IEEE 802.15.4, który opisuje warstwę fizyczną i sposób dostępu do medium transmisji danych. Innymi słowy, to właśnie tutaj określono kwestie takie jak: kanały radiowe, sposób nadawania ramek czy podstawowe mechanizmy transmisji.

W przypadku Zigbee najbardziej rozpowszechnionym pasmem jest 2,4GHz. W tym wariancie surowa przepływność wynosi 250kb/s. Dostępne jest także pasmo sub-GHz, między innymi 868MHz w Europie i około 915MHz w obu Amerykach. Thread w klasycznej formie korzysta tylko z kanału 2,4GHz.

Ćwierć megabita na sekundę może wydawać się dość słabym wynikiem. Dla przykładu domowa sieć WiFi potrafi wymieniać dane z prędkością liczonych w setkach megabitów. Tyle tylko, jak już wcześniej wspominałem czujnik temperatury nie przesyła filmów w 4K. Dla krótkiej informacji o stanie urządzenia, wartości wilgotności czy poziomie naładowania baterii 250kb/s jest w zupełności wystarczające.

IEEE 802.15.4 można potraktować jako pewien wspólny fundament. To dopiero na jego bazie Zigbee i Thread budują swoje własne rozwiązania sieciowe. Jest to istotne, ponieważ dwa urządzenia korzystające z tego samego pasma i nawet podobnego chipa radiowego nie muszą wcale potrafić wymieniać danych między sobą.

 

Zigbee – klasyka inteligentnego domu

Zigbee-architecture-768x575.thumb.jpg.921334424483f9cdd629c69819453550.jpg

Architektura Zigbee (źródło)

Zigbee to znany i rozwijany już od prawie dwóch dekad standard komunikacji, który przez lata stał się integralną częścią urządzeń, takich jak żarówki, gniazdka, czujniki ruchu, termostaty, czy też kontaktrony. Główną zaletą tego rozwiązania jest wspominana już „kompletność”. Dzięki topologii typu mesh wymieniające dane urządzenia mogą przesyłać informacje między sobą i nie muszą być połączone z punktem centralnym (choć to jest wymagane). W praktyce oznacza to, że czujnik umieszczony w garażu może przesłać wiadomość może przez gniazdko w korytarzu, a później przez żarówkę w kuchni i dopiero z tego miejsca dane trafią do zbiorczego huba. 

Nie jest to jednak jedyna możliwość przesyłania danych. W klasycznej sieci Zigbee wyróżnić możemy trzy podstawowe typy urządzeń: Coordinator tworzy sieć i zarządza jej podstawowymi parametrami. Router bierze udział w przekazywaniu pakietów innych sprzętów. End Device jest natomiast zwykłym urządzeniem końcowym, które nie musi, choć może też przekazywać ruchu innych węzłów.

W praktyce, urządzenie końcowe, może być często zasilane bateryjnie, przez co ciągłe nasłuchiwanie i przekazywanie danych z innych sprzętów, może nie być najlepszym rozwiązaniem. W takich sytuacjach lepiej sprawdzą się właśnie sieci oparte na modułach o konkretnym zastosowaniu, dzięki czemu czujnik, którego zadaniem jest tylko raz na jakiś czas przesłać informacje o temperaturze, może przez większość czasu działać w trybie niskiego poboru energii. 

E7_aplus_05_EN.thumb.png.6138ae46f90867a8560c593bfeae1fc3.png

Przykładowy hub Zigbee. (źródło)

Jedną z cech systemów Zigbee, którą w dzisiejszych czasach możemy interpretować zarówno jako wadę, jak i zaletę jest wymóg posiadania odpowiedniego huba lub bramki sieciowej. Urządzenia same w sobie nie tworzą sieci IP, przez co komputer czy też urządzenie mobilne nie są w stanie się z nimi po prostu połączyć. Do tego właśnie celu potrzebne jest urządzenie, które z jednej strony nawiąże komunikacje w sieci mesh, a z drugiej połączy się z domową siecią internetową. 

Rozwiązanie to samo w sobie nie jest niczym złym, bo taka sieć będzie działać całkiem stabilnie. Problem pojawia się wówczas, gdy każdy z producentów urządzeń IoT wymaga innego i specyficznego huba. Może się tak zdążyć, że inteligentne żarówki wymagać będą jednego urządzenia, inteligentne gniazdka drugiego, a zamontowane w oknach kontaktrony jeszcze kolejnego, przez co domowa sieć przypominać zacznie niewielką serwerownię. 

Dlatego właśnie ważne jest odpowiednie zaprojektowanie własnego systemu, jeśli zdecydujemy się na sieć Zigbee. Problem ten był też motywacją do szukania bardziej „internetowych” sposobów komunikacji w IoT. 

 

„Internet” w IoT, czyli Thread

1-.thumb.jpg.c254fc14b7879df9d905fde512e70adb.jpg

Architektura sieci Thread. (źródło)

Thread Group to powstała w 2014 roku z inicjatywy gigantów technologii, takich jak ARM, Samsung czy Silicon Labs technologia, której założenie było dość proste. Podobnie jak w Zigbee całość miała się opierać na rozproszonej sieci mesh, z tą jednak różnicą, że dane miały być wprost przesyłane przez „internet”.

Tutaj również jako fundament posłużyło IEEE 802.15.4, definiując sposób przesyłania informacji, ale bez tworzenia własnej odrębnej sieci. Wszystkie urządzenia tworzą w rzeczywistości własną sieć internetową, a za ich adresowanie odpowiedzialny jest standard IPv6, choć poddany lekkiej modyfikacji. Zazwyczaj w sieciach internetowych niezwykle rozbudowanym elementem każdego pakietu danych jest nagłówek, jest to zrozumiałem w skomplikowanych sieciach, ale dla niewielkich urządzeń, które przesyłają niewielkie pakiety danych byłby to po prostu nieefektywne, dlatego w Thread twórcy postanowili zredukować nagłówki do niezbudzanego minimum. 

Można więc powiedzieć, że standard Thread przenosi niejako urządzenia znane z Zigbee do swego rodzaju internetu. Te nadal mogą być bardzo prostymi i względnie energooszczędnymi sprzętami, ale jednocześnie staje się też elementem infrastruktury IP. Nie oznacza to oczywiście, że przesyłane przez nie dane są automatycznie dostępne publicznie. IPv6 czuwa tutaj nad bezpieczeństwem, tak aby moduły IoT działały niejako w pewnym ukryciu, we własnej internetowej bańce poza domową siecią internetową.

Żeby się z nią połączyć tutaj również potrzebne jest dodatkowe urządzenie nazywane bramką lub routerem. Łączy ono „internet” stworzony dla IoT z tym, w którym na co dzień operujemy. Co ciekawe jednak, Thread nie zakłada istnienia, tylko jednego routera. W domu bądź mieszkaniu może być ich nawet kilka.

 

Matter – wspólny język dla inteligentnego domu

4.thumb.jpg.2290336632d3f2da416892fcc5820731.jpg

Umiejscowienie Matter w hierarchii IoT. (źródło)

Thread pozwala wymieniać dane z urządzeniami IoT, ale gdy połączymy nasz telefon z routerem nie będziemy wiedzieć, czy otrzymana liczba 23 to temperatura, poziom jasności oświetlenia led, czy też jakiś specyficzny kod informujący o błędzie. W tym też momencie do gry wkracza Matter. Jest to ogłoszony w 2019 roku standard, którego celem było uproszczenie budowy urządzeń internetu rzeczy i ich większa kompatybilność między różnymi systemami. 

Matter nie definiuje nowego radia, a jest przede wszystkim wspólną warstwą aplikacyjną i modelem danych działającym powyżej IP. Dzięki temu urządzenie może w ustandaryzowany sposób przekazać innym sprzętom: „jestem żarówką”, „mam taką jasność” albo „mój czujnik właśnie wykrył ruch”. W tym systemie kontroler innego producenta nie musi znać protokołu i specyfiki danych, które wysyła konkretne urządzenia, wystarczy obsługa tego samego modelu Matter, który zbiera to wszystko razem.

Właśnie dlatego Matter należy traktować bardziej jako wspólny „język” niż jako kolejną technologię radiową. Standard może korzystać z istniejących już sieci. Zazwyczaj Thread, ale też Wi-Fi i Ethernetu, komunikując się bezpośrednio z podłączonymi do nich urządzeniami.

 

Wi-Fi, Bluetooth, Z-Wave, MQTT i LoRaWAN

unnamed.thumb.jpg.c306ca7728a18a166bb7316524f7746e.jpg

(źródło)

Świat IoT oczywiście nie kończy się na trzech opisanych standardach. Dobór technologii zależy przede wszystkim od tego, co urządzenie ma robić, ile danych przesyłać, jak daleko sięgać i z czego będzie zasilane.

Wi-Fi doskonale sprawdza się tam, gdzie potrzebna jest duża przepustowość i gdzie zużycie energii nie stanowi większego problemu. Kamery, telewizor czy sprzęt AGD podłączony do sieci elektrycznej może bez większych przeszkód korzystać z klasycznej infrastruktury domowego internetu.

Bluetooth Low Energy jest świetnym rozwiązaniem do bezpośredniej komunikacji z telefonem, ale budowa sieci opartej na tym standardzie jest nieco ograniczona, choć trzeba wspomnieć, że można znaleźć takie projekty w internecie. W świecie IoT Bluetooth ogranicza się najczęściej do wstępnej konfiguracji, to dzięki temu standardowi łączymy się z nowo kupionym modułem, definiując w jakiej sieci ma on działać później.

Z-Wave jest standardem przypominającym dość mocno Zigbee. Tutaj również mówimy o energooszczędnej technologii zaprojektowanej z myślą o inteligentnym domu. Charakterystyczną cechą jest tutaj wykorzystanie pasm poniżej 1GHz, dzięki czemu nie konkuruje ono bezpośrednio z zatłoczonym 2,4GHz wykorzystywanym przez WiFi, Bluetooth, Zigbee i Thread.

MQTT jest z kolei zupełnie inną kategorią. To lekki protokół wiadomości działający w modelu publish/subscribe. Czujnik może publikować dane pod określonym tematem, a inne urządzenia lub aplikacje ją „subskrybują”. MQTT bardzo często pojawia się w projektach DIY, automatyce i systemach przemysłowych, ale sam w sobie nie określa, czy dane mają płynąć przez WiFi, Ethernet czy jeszcze jakąś inną sieć.

LoRaWAN to z kolei sieci o bardzo dużego zasięgu i bardzo małych ilości danych, które są nią przesyłane. Sieć ma topologię typu star-of-stars, w której urządzenia końcowe komunikują się z jedną lub kilkoma bramkami przekazującymi dane do serwera sieciowego. Jest to bardzo dobre rozwiązanie dla czujnika oddalonego o kilka kilometrów, ale znacznie mniej sensowne dla żarówki umieszczonej w domu.

 

Co wybrać w praktyce?

Z perspektywy zwykłego użytkownika wybór odpowiedniej technologii nie jest wcale taki skomplikowany. Zigbee to bardzo dojrzała technologia. Dostępność sprzętu jest duża, urządzenia są często niedrogie, a systemy takie jak Home Assistant pozwalają zbudować bardzo rozbudowaną automatykę bez konieczności korzystania z chmury konkretnego producenta.

Thread jest szczególnie ciekawy w nowych projektach, ponieważ pozwala budować własne sieci typu mesh, które jednocześnie można połączyć z klasycznym internetem. Matter uzupełnia go o wspólną warstwę aplikacyjną i możliwość pracy z innymi ekosystemami.

Poza tym pod uwagę musimy wziąć też większe urządzenia, które być może będziemy chcieli później połączyć z systemem inteligentnego domu. Jeśli w przyszłości do tego celu ma posłużyć telewizor, warto sprawdzić jakie aplikacje są przez niego obsługiwane lub też czy jednostka centralna będzie potrafiła z nim współpracować, na przykład poprze WIFI.

 

Cytat

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...