Systemy łączności bezprzewodowej (część 2)
LoRaWAN
Większość łączy radiowych w pasmach przeznaczonych do użytku bez zezwoleń ma mały bezpośredni zasięg wynoszący maksymalnie 100…200 metrów w terenie otwartym. Wynika to z dużego ograniczenia mocy nadajników i zastosowanej modulacji. Zasięg można zwiększać stosując sieci kratowe i retransmisje pakietów danych przez urządzenia pracujące w sieci, ale są takie zastosowania, w których potrzebny jest dużo większy zasięg bezpośredni przy braku możliwości retransmisji danych. Przykładem mogą czujniki IoT rozmieszczane w słabo zaludnionych obszarach, gdzie nie ma rozbudowanej infrastruktury i nie można wykorzystać do tego celu łączy radiowych krótkiego zasięgu. Dla dynamicznie rozwijających się sieci urządzeń IoT rozproszonych na dużym obszarze próbuje się projektować i wdrażać różne rozwiązania połączeń radiowych. Najbardziej obiecujące są dedykowane sieci radiowe bazujące na infrastrukturze sieci komórkowych GSM. Z założenia maja to być komercyjne rozwiązania oferujące płatny transfer danych, ale o ograniczonych kosztach wynikających z masowego stosowania. Alternatywnym rozwiązaniem mogą być sieci LoRaWAN.
LoRaWAN jest radiowym protokółem komunikacyjnym, który pozwala łączyć się z Internetem urządzeniom IoT wyposażonym w łącze radiowe. Połączenie nie jest realizowane wprost, ale za pomocą specjalnych stacji bazowych nazywanych koncentratorami. Bardzo ważną cechą standardu jest możliwość uzyskania relatywnie dużych zasięgów pomiędzy urządzeniami końcowymi a stacjami bazowymi liczonych w kilometrach, przy bardzo małej mocy nadawania (20 dBm). Małe moce nadajników umożliwiają niskie zużycie energii i możliwość zasilania bateryjnego. Technologia LoRaWan bazuje na otwartym standardzie i wykorzystuje jedną z częstotliwości otwartego pasma ISM – w Europie 868 MHz. To ma daleko idące konsekwencje, bo umożliwia tworzenie własnych, tanich sieci bez konieczności uzyskiwania administracyjnych zgód i ponoszenia opłat za wykorzystanie pasma. Tą technologią interesują się również operatorzy telekomunikacyjni, na przykład Orange oraz SK Telecom. Niestety w naszym kraju jak na razie pokrycie sieciami LoRaWAN jest bardzo małe. Są one obecne głównie w dużych miastach.
Modulacja w systemie LoRaWAN
Do transmisji w kanale radiowym wykorzystywany jest system komunikacji nazwany LoRa. Przesyłanie danych na relatywnie duże odległości jest możliwe dzięki modulacji CSS (Chirp Spread Spectrum). Co ciekawe, jest to technika opracowana w latach 30-tych XX wieku na potrzeby konstruowanych w tym czasie radarów. Stosowana była też do łączności w astronautyce. CSS jest odporna na zakłócenia wynikające z odbić (interferencji sygnałów), na zjawisko Dopplera, nie wymaga synchronizacji odbiornika z nadajnikiem i co ważne, amplituda sygnału nie ma praktycznie wpływu na stopę błędów podczas transmisji (amplituda ma wpływ tylko na zasięg sygnału). W zamian za to modulacja CSS, ze względu na swoje właściwości, nie pozwala na przesyłanie danych z dużymi prędkościami transmisji.
LoRaWAN jest protokołem dostępu do łącza MAC (Medium Access Protocol). Jak wiemy, przy jego opracowywaniu położono nacisk na pracę z łączami dalekiego zasięgu, ale o małej przepływności. Z zasady przeznaczony jest dla urządzeń IoT pracujących z optymalizowanym małym zużyciem energii. Dwukierunkowość przesyłania danych pozwala na realizację niezawodnego przesyłania informacji dzięki możliwości zaimplementowania mechanizmu potwierdzeń oraz przesyłaniu komend sterowania. Silne szyfrowanie zapewnia bezpieczeństwo transmisji. Ważną cechą użytkową jest możliwość bezprzewodowej rejestracji nowych urządzeń w sieci oraz przesyłanie danych w trybie multicast (jeden do wielu).
Budowa sieci LoRaWAN
Na rysunku 14 pokazano strukturę sieci LoRaWAN. Węzły (urządzenia końcowe – czujniki) łączą się z koncentratorami za pomocą protokołu LoRaWAN RF. Koncentratory przesyłają dane do serwerów sieciowych standardowym połączeniem wykorzystującym protokoły LoRaWAN TCP/IP SSL (Wi-Fi, Ethernet) lub za pomocą usługi dostępowej w sieciach GSM (3G/LTE).
Rysunek 14. Struktura sieci LoRaWAN
Sieć jest zbudowana z czterech głównych komponentów:
- Urządzeń końcowych (węzłów),
- Koncentratorów (stacji bazowych, routerów, bramek),
- Serwera sieciowego,
- Serwerów aplikacji.
Urządzenia końcowe to sprzęt, który zawiera czujniki, układy sterowania, mikrokontroler i moduł transmisji radiowej. Obsługują transmisję dwukierunkową z koncentratorami – mogą same wysyłać dane, ale też otrzymywać je z koncentratorów. W założeniu urządzenia IoT, które są czujnikami i pracują jako węzły sieci LoRaWAN, powinny mieć możliwość długotrwałej pracy z zasilania bateryjnego. Ze względu na rodzaj transmisji i zużycie energii wprowadzono podział urządzeń na klasy A, B i C.
Klasa A pobiera najmniej energii. Urządzenia tej klasy wysyłają krótkie informacje zdarzeniowo, to znaczy tylko wtedy, kiedy nastąpi zdarzenie typu przekroczona jakaś wartość mierzonego parametru. Urządzenia klasy B mogą przesyłać dłuższe informacje i odbierać dłuższe informacje z mniejszym opóźnieniem reakcji serwera spowodowanej losowym wysyłaniem danych przez urządzenia klasy A. Urządzenie klasy C może ciągle odbierać dane z wyjątkiem sytuacji, kiedy samo wysyła dane. Klasa ta nie jest przewidziana do zasilania bateryjnego i wymaga stałego zasilania z sieci energetycznej.
Moduł LoRaWAN ATSAMR34 Xplained PRO
Jak wiemy węzły (urządzenia końcowe) sieci LoRaWAN powinny charakteryzować się bardzo małym poborem energii. W urządzeniach klasy A i B stosuje się tryby głębokiego uśpienia w czasie braku aktywności, co pozwala na znaczące obniżenie poboru prądu. Ale niezbędny jest też pewien stopień wydajności wbudowanego mikrokontrolera pozwalający na obsługę stosu, kodowanie transmisji danych i oczywiście obsługę czujnika pomiarowego. Dlatego wielu producentów stosuje 32-bitowe mikrokontrolery z wbudowanymi zaawansowanymi trybami obniżonego poboru energii. Jednym z gotowych modułów przeznaczonych do pracy jako węzeł sieci LoRaWAN jest ATSAMR34 Xplained PRO Demo Board produkowany i oferowany przez firmę Microchip – jednego z członków grupy LoRa Alliance (rysunek 15).
Rysunek 15. Moduł ATSAMR34 Xplained PRO Demo Board
Moduł jest oparty o specjalizowany mikrokontroler ATSAMR34J18B z wbudowanym trasceiver’em LoRa i 32-bitowym rdzeniem Cortex M0+. Jego podstawowe właściwości są zamieszczone poniżej:
- Wsparcie dla pasm 868 MHz i 915 MHz,
- Moc wyjściowa: maksymalnie +20dBm,
- Wbudowany oscylator TCXO,
- Gniazdo antenowe SMA z dołączoną w zestawie anteną,
- Układy do pomiaru poboru prądu współpracujący z XPRO Current Measurement System Data Visualizer,
- Wbudowany system zarządzenia energii z monitorowaniem poboru prądu,
- Wbudowany debugger EDBG współpracujący ze środowiskiem Atmel Studio 7 ICE,
- Dwa złącza rozszerzeń,
- 10-pinowe złącze dla programatora Cortex Programmer,
- Przyciski Reset i GPIO,
- Diody LED – statusowa i sygnalizująca włączone zasilanie,
- Holder na baterię CR1220.
Najważniejszym elementem modułu jest oczywiście mikrokontroler. Seria SAMR34 oferuje 32-bitowy rdzeń ARM Cortex M0+ połączony z wbudowanym tranceiverem UHF wspierającym standard LoRa z modulacją FSK. Rdzeń może być taktowany maksymalną częstotliwością 48 MHz.
Zestaw B-L072Z-LRWAN1 LoRa/Sigfox Discovery
Innym przykładem modułu ewaluacyjnego przeznaczonego do testowania technologii LoRaWAN jest zestaw B-L072Z-LRWAN1 LoRa/Sigfox Discovery produkowany przez ST. Podstawowym elementem zestawu jest zintegrowany moduł CMWX1ZZABZ-091 firmy Murata zawierający mikrokontroler rodziny STM32L072 lub STM32L082, transceiver SEMTECH SX1276 wyposażony w modem LoRa oraz wszystkie niezbędne układy wysokiej częstotliwości. Schemat blokowy modułu został pokazany na rysunku 16.
Rysunek 16. Schemat blokowy CMWX1ZZABZ-091 firmy Murata
CMWX1ZZABZ-091 jest dostarczany w postaci zaekranowanego modułu z wyprowadzeniami do montażu powierzchniowego.
Rysunek 17. Zestaw B-L072Z-LRWAN1 LoRa/Sigfox Discovery
Zestaw B-L072Z-LRWAN1 Discovery zawiera wbudowany standardowy programator/debuger ST-LINK/V2-1, diody LED, przyciski, antenę, złącza Arduino Uno V3 i złącze USB OTG w formacie Micro-B.
Stos LoRaWAN obsługuje klasy urządzeń typu A, B i C. Jest dostępny w pakiecie oprogramowania I-CUBE-LRWAN w narzędziu STM32CubeMX. Dostępnych jest kilka przykładów, w tym zestaw poleceń AT, które pomagają użytkownikom skonfigurować kompletny węzeł LoRaWAN.
Stos Sigfox jest zgodny z RC1, RC2, RC3c i RC4. Jest dostępny w pakiecie rozszerzeń X-CUBE-SFOX. Dostępnych jest również kilka przykładów, w tym modem AT-command, umożliwiający skonfigurowanie kompletnego węzła Sigfox.
Podsumowanie
Połączenia radiowe to od dłuższego czasu gorący temat. Szybki rozwój protokołów i rozwiązań sprzętowych jest napędzany ciągle rosnącą popularnością urządzeń IoT, ale również masowym stosowaniem w urządzeniach konsumenckich takich, jak smartfony, laptopy, telewizory smartTV itp.
Do połączeń pomiędzy urządzeniami IoT i nie tylko stosuje się standardy pracujące w pasmach ISM z małymi mocami nadajników. Ograniczenie mocy powoduje, że zasięgi radiowe są niewielkie. Zależnie od standardu i warunków propagacji jest to od 10 do 200 m. To z jednej strony wada, a z drugiej zaleta, bo nadajniki przez ograniczony zasięg nie zakłócają się wzajemnie. Ponadto małe moce nie powinny oddziaływać niekorzystnie na nasze zdrowie.
Z ograniczonym zasięgiem można sobie radzić w różny sposób. Jednym z nich jest budowa sieci kratowej (mesh). Umieszczone na jakimś obszarze urządzenia sieciowe mogą przekazywać pakiety danych z jednego węzła do kolejnego i w ten sposób zwielokrotniać ograniczony zasięg bezpośredni. Przykłady takiego rozwiązania to standardy ZigBee, Thread, czy rozwiązanie IQMESH. Użycie w sieci ruterów granicznych (border router) pozwala na przesyłanie pakietów danych do sieci WLAN przez Wi-Fi i dalej, przez Internet, do chmury danych. Sprawdzone i coraz tańsze rozwiązania, na przykład sieć Wi-Fi, umożliwiają tworzenie sieci z punktem dostępowym (access point).
Zestandaryzowane rozwiązania protokołów sieciowych umożliwiły producentom rozwiązań sprzętowych zaoferować gotowe stosy protokołów umieszczane w pamięci mikrokontrolerów współpracujących z modułami radiowymi, lub też w pamięci mikrokontrolerów zintegrowanych z tranceiverami radiowymi. Stosy protokołów mogą być dostępne jako bezpłatne biblioteki dystrybuowane przez producentów mikrokontrolerów. Rozwiązuje to za projektanta wiele problemów związanych z kodowaniem transmisji, organizacją i konfiguracją sieci, wprowadzania mechanizmów oszczędzania energii itd. Trudno dzisiaj znaleźć argumenty za stosowaniem własnych rozwiązań sieciowych w miejsce ogólnie przyjętych standardów.
Sieci IoT w słabo zurbanizowanym terenie
Urządzenia IoT pracujące w słabo zurbanizowanym terenie muszą z kolei mieć relatywnie duży zasięg rzędu kilometrów i bardzo ograniczony pobór energii w związku z zasilaniem bateryjnym. Odpowiedzią na te potrzeby może być standard LoRaWAN promowany przez znaczących producentów mikroelektroniki. Jednak LoRaWAN potrzebuje sieci stacji bazowych podłączonych do Internetu. O ile nawet samodzielne zbudowanie takiej stacji nie jest technicznie skomplikowane, to dostęp do Internetu w słabo zurbanizowanym terenie może być problemem. Są miejsca, w których LoRaWAN rozwija się dynamicznie, ale niestety u nas jest na razie to mało popularne rozwiązanie.
Wspomniana już popularność systemów IoT i związana z tym konieczność tworzenia sieci radiowych spowodowała, że pojawiły się również odpowiednie rozwiązania sprzętowe. Tu również da się zauważyć pewne tendencje. Początkowo były to moduły radiowe zawierające chipy z transceiverem, układem modulatora i zintegrowaną anteną. Jest to wielkie ułatwienie, ponieważ poprawne zaprojektowanie układu wielkiej częstotliwości wymaga sporej wiedzy i jeszcze większego doświadczenia. Zastosowanie gotowego modułu zwalnia projektantów z konieczności rozwiązywania tych problemów. Wystarczy tylko wysyłać dane przez interfejs szeregowy. Przykładem takiego chipa jest nRF24L01 i moduły budowane z jego użyciem.
Równolegle pojawiały się moduły, które potrafiły jeszcze więcej. Oprócz transceivera zawierały układy mikrokontrolera i oprogramowanie obsługujące niższe warstwy protokołów sieciowych. Wiele tych rozwiązań jest opartych o standard IEEE 802.15.4 opisujący warstwę fizyczną i dostępu do mediów MAC w bezprzewodowych sieciach osobistych o niskiej przepustowości (LR-WPAN). Ten standard jest wykorzystywany m.in. w sieciach MiWi, ZigBee, czy Thread.
Nowe konstrukcje mikrokontrolerów ze zintegrowanym modułem radiowym
Ostatnio daje się zauważyć kolejną nową tendencję. Do budowy elementów sieci bezprzewodowych wykorzystuje się konstrukcje mikrokontrolerów z zintegrowanym kompletnym modułem radiowym. Są to m.in. mikrokontrolery:
- ATSAMR34J18B z rdzeniem Cortex-M0+ i modułem radiowym LoRa
- Silicon Labs EFR32 ™ z modułem radiowym IEEE 802.15.4 przeznaczonym dla ZigBee i Thread
- Rodzina mikrokontrolerów STM32WB z modułem radiowym IEEE 802.15.4 przeznaczonym dla BLE, ZigBee i Thread
Szczególnie interesująca jest ta ostatnia pozycja. Układ ma dwa rdzenie. Jeden z nich, o mniejszej wydajności, współpracuje z modułem radiowym i jest przeznaczony do implementacji protokołów sieciowych. Drugi, o dużej wydajności, ma wykonywać zaawansowane zadania stawiane przez aplikację.
Wszystkie nowe rozwiązania przywiązują szczególną wagę do dwóch rzeczy. Po pierwsze układy transmisji bezprzewodowej muszą mieć możliwość pracy z bardzo ograniczonym poborem energii. Urządzenia końcowe w sieciach kratowych i sieciach LoRaWAN mogą pracować z zasilaniem bateryjnym i wprowadzanie zaawansowanych trybów oszczędzania energii z możliwością szybkiego wybudzania jest niezbędne.
Druga sprawa to bezpieczeństwo przesyłania danych. Historia standardu Wi-Fi pokazała, że tylko mocne szyfrowanie transmisji jest w stanie ochronić przed nieuprawnionym dostępem. Dlatego mikrokontrolery przeznaczone do pracy w sieciach bezprzewodowych mają wbudowane zaawansowane sprzętowe moduły szyfrujące pozwalające uzyskać trudne do złamania szyfrowanie transmisji.
Rynek modułów radiowych jest bardzo duży. Wystarczy zobaczyć oferty większych dystrybutorów elementów elektronicznych. Jest wielu producentów gotowych modułów dla wszystkich rodzajów sieci radiowych. Oprócz gotowych do użytku stosów protokołów oferowane są najczęściej także bezpłatnie programowe narzędzia diagnostyczne pozwalające na testowanie i debugowanie transmisji.