Bluetooth Mesh

Komunikacja wiele-do-wielu dla inteligentnych budynk贸w i aplikacji IoT.

Od Punkt-do-Punktu do Sieci Po艂膮cze艅: Potrzeba Siatki Mesh

Poprzednie wersje Bluetooth, w tym Classic i pocz膮tkowy standard Low Energy (LE), by艂y fundamentalnie oparte na topologiach sieci punkt-punkt i gwiazdy. Smartfon (master lub central) 艂膮czy艂 si臋 bezpo艣rednio ze s艂uchawkami (slave lub peripheral), tworz膮c prosty link jeden-do-jednego. Alternatywnie, jedno urz膮dzenie centralne mog艂o 艂膮czy膰 si臋 z kilkoma peryferiami, tworz膮c sie膰 w topologii gwiazdy, w kt贸rej ca艂a komunikacja musia艂a przechodzi膰 przez centralny hub. Chocia偶 by艂o to skuteczne dla osobistych gad偶et贸w, model ten mia艂 wrodzone ograniczenia w obliczu wielkiej wizji Internetu Rzeczy (IoT).

Rozwa偶my nowoczesne inteligentne biuro. Pojedynczy panel sterowania powinien by膰 w stanie zarz膮dza膰 setkami 艣wiate艂, czujnik贸w i termostat贸w rozmieszczonych na wielu pi臋trach. W sieci gwia藕dzistej ka偶de z tych urz膮dze艅 musia艂oby znajdowa膰 si臋 w bezpo艣rednim zasi臋gu radiowym centralnego huba. Jest to cz臋sto niepraktyczne lub niemo偶liwe z powodu odleg艂o艣ci, 艣cian i innych przeszk贸d. Potrzebny by艂 spos贸b, aby urz膮dzenia mog艂y ze sob膮 wsp贸艂pracowa膰, przekazywa膰 wiadomo艣ci dalej, tworz膮c rozleg艂膮, niezawodn膮 i samonaprawiaj膮c膮 si臋 sie膰 komunikacyjn膮.

To wyzwanie doprowadzi艂o do rozwoju Bluetooth Mesh, standardu sieciowego oficjalnie przyj臋tego przez Bluetooth SIG w lipcu 2017 roku. Bluetooth Mesh nie jest nowym rodzajem radia; jest to zaawansowany stos oprogramowania sieciowego, kt贸ry dzia艂a na istniej膮cej warstwie fizycznej Bluetooth Low Energy. Jego celem jest przekszta艂cenie tradycyjnego modelu komunikacji jeden-do-jednego w prawdziw膮 sie膰 . Ta fundamentalna zmiana pozwala na tworzenie ogromnych sieci urz膮dze艅, kt贸re mog膮 obejmowa膰 ca艂e budynki, fabryki i kampusy, czyni膮c go idealnym rozwi膮zaniem dla zastosowa艅 takich jak inteligentne o艣wietlenie, automatyka budynkowa i przemys艂owe sieci czujnik贸w.

Rdze艅 Mechanizmu: Zrozumienie Sieci z Zarz膮dzanym Rozg艂aszaniem

Sercem Bluetooth Mesh jest solidna i zaskakuj膮co prosta zasada komunikacji znana jako zarz膮dzane rozg艂aszanie (managed flooding). W przeciwie艅stwie do tradycyjnych sieci mesh z routingiem, gdzie z艂o偶one algorytmy obliczaj膮 optymaln膮 艣cie偶k臋 dla ka偶dej wiadomo艣ci, podej艣cie oparte na rozg艂aszaniu wykorzystuje bardziej si艂ow膮, ale wysoce skuteczn膮 metod臋.

Zasada Rozg艂aszania

W czystej sieci opartej na rozg艂aszaniu, gdy w臋ze艂 chce wys艂a膰 wiadomo艣膰, po prostu nadaje j膮 do wszystkich swoich najbli偶szych s膮siad贸w. Ka偶dy w臋ze艂, kt贸ry otrzyma wiadomo艣膰, z kolei rozg艂asza j膮 ponownie do wszystkich swoich s膮siad贸w. Ten proces jest kontynuowany, a偶 wiadomo艣膰 dotrze do ka偶dego w臋z艂a w sieci. Gwarantuje to dostarczenie wiadomo艣ci, poniewa偶 eksploruje ka偶d膮 mo偶liw膮 艣cie偶k臋, ale jest r贸wnie偶 niezwykle nieefektywne i mo偶e prowadzi膰 do nieko艅cz膮cej si臋 "burzy rozg艂oszeniowej", w kt贸rej wiadomo艣ci kr膮偶膮 po sieci w niesko艅czono艣膰.

Bluetooth Mesh udoskonala t臋 koncepcj臋, przekszta艂caj膮c j膮 w zarz膮dzane rozg艂aszanie, dodaj膮c dwa proste, ale pot臋偶ne mechanizmy do kontrolowania przep艂ywu wiadomo艣ci:

  • Czas 呕ycia (Time to Live - TTL): Ka偶da wiadomo艣膰 wysy艂ana do sieci mesh ma warto艣膰 TTL, kt贸ra jest ma艂膮 liczb膮 (np. 5 lub 7). Za ka偶dym razem, gdy w臋ze艂 retransmituje, czyli "przekazuje dalej," wiadomo艣膰, zmniejsza jej warto艣膰 TTL o jeden. W臋ze艂 nigdy nie przeka偶e dalej wiadomo艣ci z TTL r贸wnym 1 lub mniej. Dzia艂a to jak licznik, zapewniaj膮c, 偶e wiadomo艣膰 mo偶e by膰 przekazana tylko ograniczon膮 liczb臋 razy i w ko艅cu "wygasnie," co zapobiega jej bezterminowemu kr膮偶eniu.
  • Pami臋膰 Podr臋czna Wiadomo艣ci: Ka偶dy w臋ze艂 w sieci mesh utrzymuje ma艂膮 pami臋膰 podr臋czn膮 ostatnio widzianych wiadomo艣ci. Przed przekazaniem odebranej wiadomo艣ci, w臋ze艂 najpierw sprawdza swoj膮 pami臋膰 podr臋czn膮. Je艣li wiadomo艣膰 ju偶 tam jest, oznacza to, 偶e w臋ze艂 ju偶 j膮 przetworzy艂 i przekaza艂. W takim przypadku w臋ze艂 po prostu odrzuca now膮 kopi臋. Jest to kluczowa funkcja, kt贸ra zapobiega wielokrotnemu przekazywaniu tej samej wiadomo艣ci przez te same w臋z艂y, gdy dociera ona od r贸偶nych s膮siad贸w, przerywaj膮c w ten spos贸b nieko艅cz膮ce si臋 p臋tle burzy rozg艂oszeniowej.

Razem, TTL i pami臋膰 podr臋czna wiadomo艣ci zamieniaj膮 chaotyczne rozg艂aszanie w kontrolowan膮, wydajn膮 i wysoce niezawodn膮 fal臋 komunikacji, kt贸ra gwarantuje dostarczenie bez potrzeby centralnego koordynatora czy skomplikowanych tablic routingu.

Ca艂y ten proces komunikacji opiera si臋 na mo偶liwo艣ciach og艂oszeniowych Bluetooth Low Energy. Wiadomo艣ci Mesh s膮 w istocie rozg艂aszane jako pakiety og艂oszeniowe LE na trzech kana艂ach og艂oszeniowych, co czyni ka偶d膮 wiadomo艣膰 mesh bezpo艂膮czeniow膮 transmisj膮 rozg艂oszeniow膮.

Uczestnicy Sieci: Typy W臋z艂贸w w Sieci Mesh

Sie膰 Bluetooth Mesh to kooperacyjny ekosystem, w kt贸rym r贸偶ne urz膮dzenia, czyli w臋z艂y, mog膮 pe艂ni膰 wyspecjalizowane role w celu optymalizacji wydajno艣ci i zu偶ycia energii sieci. Chocia偶 wszystkie urz膮dzenia s膮 uwa偶ane za "w臋z艂y," mog膮 posiada膰 jedn膮 lub wi臋cej z czterech podstawowych funkcji.

  • W臋z艂y Przeka藕nikowe (Relay Nodes):

    S膮 kr臋gos艂upem sieci mesh. W臋ze艂 Przeka藕nikowy nas艂uchuje wiadomo艣ci i po otrzymaniu takiej, kt贸ra nie znajduje si臋 w jego pami臋ci podr臋cznej i ma TTL wi臋ksze ni偶 1, retransmituje j膮, aby rozszerzy膰 jej zasi臋g. Wi臋kszo艣膰 urz膮dze艅 zasilanych z sieci, takich jak inteligentne 偶ar贸wki, inteligentne gniazdka czy prze艂膮czniki 艣cienne, jest konfigurowana jako W臋z艂y Przeka藕nikowe. S膮 one zawsze w stanie nas艂uchu i aktywnie uczestnicz膮 w procesie zarz膮dzanego rozg艂aszania, tworz膮c wieloskokowe 艣cie偶ki, kt贸re pozwalaj膮 sieci obejmowa膰 du偶e obszary.

  • W臋z艂y Niskoenergetyczne (Low Power Nodes - LPN):

    S膮 to oszcz臋dzaj膮cy bateri臋 cz艂onkowie sieci. LPN, takie jak ma艂e czujniki zasilane bateryjnie (np. czujnik temperatury lub kontaktron drzwiowy), nie mog膮 sobie pozwoli膰 na ci膮g艂e nas艂uchiwanie radia, poniewa偶 szybko wyczerpa艂oby to ich bateri臋. Zamiast tego LPN sp臋dza zdecydowan膮 wi臋kszo艣膰 czasu w stanie g艂臋bokiego u艣pienia, budz膮c si臋 tylko okresowo na bardzo kr贸tki czas, aby przes艂a膰 odczyt lub sprawdzi膰, czy nie ma przychodz膮cych wiadomo艣ci. Pozwala im to dzia艂a膰 przez lata na jednej baterii pastylkowej. Poniewa偶 nie zawsze nas艂uchuj膮, nie mog膮 przekazywa膰 wiadomo艣ci dla innych urz膮dze艅.

  • W臋z艂y Przyjacielskie (Friend Nodes):

    Skoro LPN jest przewa偶nie u艣piony, jak odbiera wiadomo艣ci? Tutaj z pomoc膮 przychodzi w臋ze艂 Przyjacielski. Przyjaciel to zasilany z sieci w臋ze艂 Przeka藕nikowy, kt贸ry tworzy specjaln膮 "przyja藕艅" z LPN. W臋ze艂 Przyjacielski zgadza si臋 przechowywa膰 wszystkie przychodz膮ce wiadomo艣ci adresowane do swojego "przyjaciela" LPN. Gdy LPN okresowo si臋 budzi, odpytuje swojego Przyjaciela, kt贸ry nast臋pnie dostarcza mu wszelkie zapisane wiadomo艣ci. Ten "system partnerski" pozwala w臋z艂om zasilanym bateryjnie by膰 w pe艂ni funkcjonalnymi, adresowalnymi cz艂onkami sieci mesh bez po艣wi臋cania ich d艂ugiej 偶ywotno艣ci baterii.

  • W臋z艂y Proxy:

    Chocia偶 sie膰 mesh komunikuje si臋 za pomoc膮 pakiet贸w og艂oszeniowych LE, urz膮dzenia, kt贸re nie obs艂uguj膮 pe艂nego standardu Bluetooth Mesh (jak wi臋kszo艣膰 smartfon贸w czy laptop贸w), nie mog膮 bezpo艣rednio zrozumie膰 tych wiadomo艣ci. W臋ze艂 Proxy dzia艂a jako t艂umacz. Mo偶e odbiera膰 wiadomo艣ci mesh i udost臋pnia膰 je poprzez standardowe po艂膮czenie Bluetooth LE GATT i na odwr贸t. Pozwala to zwyk艂emu smartfonowi, za pomoc膮 kompatybilnej aplikacji, na bezpieczne po艂膮czenie z jednym w臋z艂em Proxy, a nast臋pnie na komunikacj臋, konfiguracj臋 i sterowanie ca艂膮 sieci膮 mesh. Jest to kluczowa funkcja dla interakcji u偶ytkownika i zarz膮dzania sieci膮.

Nowy Model Komunikacji: Publikacja i Subskrypcja

Jedn膮 z najbardziej eleganckich i pot臋偶nych koncepcji w Bluetooth Mesh jest jej model komunikacji. Zamiast polega膰 na bezpo艣rednim adresowaniu jeden-do-jednego, gdzie nadawca musi zna膰 unikalny adres ka偶dego odbiorcy, Mesh u偶ywa elastycznego modelu znanego jako . Takie podej艣cie oddziela urz膮dzenia od siebie, prowadz膮c do wysoce skalowalnego i 艂atwego w konfiguracji systemu.

Jak Dzia艂a Pub/Sub w Bluetooth Mesh

System opiera si臋 na adresach wirtualnych zwanych adresami grupowymi. Urz膮dzenia s膮 konfigurowane tak, aby albo wysy艂a膰 wiadomo艣ci na te adresy (publikowa膰), albo nas艂uchiwa膰 wiadomo艣ci wysy艂anych na te adresy (subskrybowa膰).

  • Publikowanie: Urz膮dzenie, kt贸re chce wys艂a膰 informacj臋, takie jak prze艂膮cznik 艣cienny, jest skonfigurowane do "publikowania" swoich wiadomo艣ci na okre艣lony adres grupowy. Na przyk艂ad prze艂膮cznik w salonie mo偶e by膰 ustawiony tak, aby publikowa艂 komend臋 "W艂膮cz/Wy艂膮cz" na adres "艢wiat艂a w Salonie". Prze艂膮cznik nie musi wiedzie膰, ile 偶ar贸wek jest w tej grupie ani jakie s膮 ich indywidualne adresy. Po prostu rozg艂asza swoj膮 komend臋 w sieci, zaadresowan膮 do grupy.
  • Subskrybowanie: Urz膮dzenia, kt贸re powinny reagowa膰 na informacje, takie jak inteligentne 偶ar贸wki, s膮 skonfigurowane do "subskrybowania" jednego lub wi臋cej adres贸w grupowych. Wszystkie 偶ar贸wki w salonie by艂yby skonfigurowane do subskrybowania adresu "艢wiat艂a w Salonie". Ci膮gle nas艂uchuj膮 one na wszelkie wiadomo艣ci wys艂ane na ten adres grupowy. Gdy prze艂膮cznik opublikuje swoj膮 komend臋 "W艂膮cz/Wy艂膮cz" na ten adres, wszystkie subskrybuj膮ce 偶ar贸wki j膮 otrzymaj膮 i zareaguj膮 odpowiednio, wszystkie w tym samym czasie.

Zalety Modelu Pub/Sub

Model ten jest podstaw膮 tego, co czyni Bluetooth Mesh tak pot臋偶nym narz臋dziem dla inteligentnych budynk贸w:

  • Skalowalno艣膰 i Elastyczno艣膰: Dodanie nowej 偶ar贸wki do salonu jest proste. Wystarczy skonfigurowa膰 now膮 偶ar贸wk臋, aby subskrybowa艂a adres grupowy "艢wiat艂a w Salonie". Oryginalny prze艂膮cznik nie musi by膰 rekonfigurowany ani nawet wiedzie膰 o istnieniu nowej 偶ar贸wki. Nadal publikuje na ten sam adres, a nowa 偶ar贸wka b臋dzie teraz reagowa膰.
  • Kontrola Grupowa: Sterowanie du偶ymi grupami urz膮dze艅 staje si臋 niezwykle proste i wydajne. Jedna wiadomo艣膰 z jednego prze艂膮cznika mo偶e sterowa膰 dziesi膮tkami lub setkami 艣wiate艂 jednocze艣nie.
  • Z艂o偶one Sceny i Automatyzacja: Model pozwala na z艂o偶one interakcje. Pojedynczy przycisk "Tryb Filmowy" m贸g艂by opublikowa膰 komend臋 do grupy "Scena Filmowa". 艢wiat艂a sufitowe mog艂yby subskrybowa膰 t臋 grup臋, aby przyciemni膰 si臋 do 10%, inteligentne rolety, aby si臋 zamkn膮膰, a inteligentny telewizor, aby si臋 w艂膮czy膰. Wszystkie te urz膮dzenia od r贸偶nych producent贸w reaguj膮 na jedn膮, prost膮 komend臋.

Bezpiecze艅stwo od Podstaw: Wielowarstwowa Forteca

Od samego pocz膮tku bezpiecze艅stwo by艂o obowi膮zkowym, nienegocjowalnym wymogiem standardu Bluetooth Mesh. W sieci, w kt贸rej wiadomo艣ci s膮 przekazywane przez potencjalnie tysi膮ce urz膮dze艅, zapewnienie prywatno艣ci, autentyczno艣ci i kontroli dost臋pu jest najwa偶niejsze. Aby to osi膮gn膮膰, Bluetooth Mesh stosuje zaawansowany, wielowarstwowy model bezpiecze艅stwa, w kt贸rym ka偶da pojedyncza wiadomo艣膰 jest szyfrowana i uwierzytelniana.

Architektura bezpiecze艅stwa opiera si臋 na zasadzie "rozdzielenia obowi膮zk贸w", wykorzystuj膮c portfolio r贸偶nych kluczy bezpiecze艅stwa do r贸偶nych cel贸w:

  1. Klucz Urz膮dzenia (DevKey): Ka偶dy w臋ze艂 dodawany do sieci mesh ma sw贸j unikalny klucz urz膮dzenia. Klucz ten jest u偶ywany g艂贸wnie podczas pocz膮tkowego procesu konfiguracji, zwanego provisionowaniem, do ustanowienia bezpiecznego kana艂u komunikacji jeden-do-jednego mi臋dzy dodawanym urz膮dzeniem a Provisionerem (np. aplikacj膮 na smartfonie).
  2. Klucz Sieciowy (NetKey): Jest to pierwszy klucz podstawowy. Ka偶dy w臋ze艂 w danej sieci mesh wsp贸艂dzieli ten sam klucz sieciowy. Warstwa sieciowa ka偶dego pakietu mesh jest szyfrowana i uwierzytelniana przy u偶yciu tego klucza NetKey. Zapewnia to, 偶e tylko zaufane urz膮dzenia, kt贸re s膮 cz艂onkami sieci, mog膮 przekazywa膰 wiadomo艣ci i uczestniczy膰 w procesie zarz膮dzanego rozg艂aszania. Chroni to sam膮 infrastruktur臋 sieciow膮 przed nieautoryzowanym dost臋pem i atakami typu "replay".
  3. Klucz Aplikacji (AppKey): Klucz ten zapewnia drug膮 warstw臋 bezpiecze艅stwa na艂o偶on膮 na warstw臋 sieciow膮. Rzeczywisty 艂adunek wiadomo艣ci (u偶yteczna komenda, np. "w艂膮cz") jest szyfrowany kluczem aplikacji. Kluczowym aspektem jest to, 偶e w tej samej sieci fizycznej mo偶na u偶ywa膰 r贸偶nych kluczy AppKey dla r贸偶nych aplikacji lub funkcji. Na przyk艂ad wszystkie 艣wiat艂a i prze艂膮czniki w budynku mog膮 wsp贸艂dzieli膰 "Klucz Aplikacji O艣wietlenia," podczas gdy system ogrzewania, wentylacji i klimatyzacji (HVAC) mo偶e u偶ywa膰 oddzielnego "Klucza Aplikacji HVAC." Oznacza to, 偶e prze艂膮czniki mog膮 sterowa膰 艣wiat艂ami, ale nie mog膮 wysy艂a膰 polece艅 do systemu HVAC, mimo 偶e wszystkie s膮 cz臋艣ci膮 tej samej sieci mesh. Ta separacja zapewnia szczeg贸艂ow膮 kontrol臋 dost臋pu i jest kluczowa dla bezpiecznej automatyki budynkowej.

To dwuwarstwowe szyfrowanie (raz na poziomie sieciowym za pomoc膮 NetKey, a drugi raz na poziomie aplikacyjnym za pomoc膮 AppKey) oznacza, 偶e nawet w臋z艂y Przeka藕nikowe, kt贸re musz膮 odszyfrowa膰 warstw臋 sieciow膮, aby odczyta膰 informacje o TTL i pami臋ci podr臋cznej wiadomo艣ci, nie mog膮 uzyska膰 dost臋pu do rzeczywistych danych aplikacji wewn膮trz 艂adunku, chyba 偶e posiadaj膮 r贸wnie偶 odpowiedni klucz AppKey. Ten solidny, obowi膮zkowy model bezpiecze艅stwa czyni Bluetooth Mesh jedn膮 z najbezpieczniejszych dost臋pnych technologii sieciowych IoT ma艂ej mocy.

    Bluetooth Mesh | Teleinf Edu