Jednym z największych problemów, z którymi zmaga się aktualnie rynek urządzeń Internetu Rzeczy (IoT) jest jego duża fragmentacja. Mnogość urządzeń oraz protokołów komunikacji znacznie utrudnia zbudowanie jednolitego i funkcjonalnego systemu, jeśli zdecydujemy się na wykorzystanie elementów pochodzących od różnych producentów.
Przyczyn tego podziału jest wiele i nie zawsze są one związane wyłącznie z chęcią przeforsowania przez projektantów własnych, licencjonowanych rozwiązań. Zakres pojęcia IoT obejmuje wiele typów urządzeń. Mogą to być np. niewielkie czujniki pomiarowe zasilane z alternatywnych źródeł energii i wymagające wymiany niewielkiej ilości danych na duże odległości, ale też zdalne kamery przesyłające obraz o dużej rozdzielczości w czasie rzeczywistym. Tym samym to specyfika projektowanego urządzenia wymusza na konstruktorach dobór odpowiedniej technologii komunikacji bezprzewodowej, adekwatnej do wymagań stawianych przed projektowanym urządzeniem. Pod uwagę trzeba wziąć m.in. czas życia baterii, zasięg komunikacji czy ilości przesyłanych danych. Odpowiadając na potrzeby rynku, producenci zestawów deweloperskich (w tym platformy Arduino) zadbali, by ich portfolio w możliwie pełnym zakresie pokrywało zapotrzebowania konstruktorów urządzeń IoT. W artykule przedstawiamy krótką charakterystykę wybranych zestawów rozwojowych Arduino z rodziny MKR, przygotowanych z myślą o szybkim prototypowaniu urządzeń IoT, wykorzystujących komunikację bezprzewodową w takich standardach jak WiFi/Bluetooth, LoRaWAN/Sigfox, GSM/3G czy NB-IoT.
Komunikacja WiFi/Bluetooth z Arduino MKR 1000/1010
Komunikacja w paśmie częstotliwości ISM 2,4 GHz, z wykorzystaniem standardów WiFi oraz Bluetooth już od kilku lat funkcjonuje na rynku urządzeń IoT. Na potrzeby szybkiej realizacji prototypów sprzętowo-programowych, wykorzystujących komunikację WiFi, firma Arduino opracowała zestawy rozwojowe Arduino MKR WiFi 1000 oraz MKR WiFi 1010. Pierwsza z wymienionych zestawów bazuje na module ATSAMW25, zawierającym mikrokontroler SAMD21, tor radiowy WINC1500 oraz układ autoryzujący ECC508. Zestaw w wersji MKR 1010 został wyposażony w moduł radiowy NINA-W102 firmy u-blox, który oferuje komunikację Bluetooth/BLE.
Zdjęcia 1 i 2. Moduły Arduino MKR WAN 1000 (z lewej) oraz MKR WAN 1010 (z prawej).
Od strony oprogramowania, firma Arduino dla modułów MKR WiFi 1000 udostępnia bibliotekę WiFi101, wspierającą szyfrowanie WEP oraz WPA2 Personal. Dla modułu MKR WiFi 1010 (oraz innych zestawów bazujących na module u-blox NINA-W102, w tym Arduino NANO 33 IoT) producent przygotował bibliotekę WiFiNINA, a także szereg przykładowych aplikacji prezentujących integrację z chmurą Android IoT Cloud oraz Azure, AWS IoT Core, Google Firebase czy Blynk.
Komunikacja LoRaWAN oraz Sigfox – moduły Arduino MKR WAN 13x0 oraz FOX 1200
Dynamiczny rozwój systemów IoT zaowocował wzrostem zainteresowania tematyką inteligentnych miast. Niestety łączność z wykorzystaniem standardów WiFi/Bluetooth/BLE ma charakter lokalny i nie spełnia wszystkich wymagań stawianych przed projektami z grupy „Smart City” (do których zaliczamy m.in. rozległe sieci czujników zanieczyszczenia, monitoringu poziomu wód czy zajętości miejsc parkingowych). Rozwiązaniem problemów może być wykorzystanie jednego z dwóch najpopularniejszych obecnie standardów komunikacji w obszarze sieci LPWAN (ang. Low Power Wide Area Network) – LoRaWAN lub Sigfox, umożliwiających przesyłanie niewielkiej ilości danych na duże odległości. Na potrzeby szybkiego prototypowania urządzeń wykorzystujących komunikację LoRa/LoRaWAN, projektanci Arduino przygotowali zestawy rozwojowe MKR WAN 1300, oraz jego następcę MKR WAN 1310. Obydwa moduły bazują na mikrokontrolerze Atmel SAMD21, wykorzystywanym w innych modułach serii Arduino MKR, a także na module radiowym Murata CMWX1ZZABZ. Nowsza wersja modułu została wyposażona dodatkowo w 2MB pamięci Flash, nowy układ ładowania baterii oraz - zoptymalizowane pod kątem niskiego poboru mocy - układy zasilania.
Zdjęcia 3 i 4. Moduły Arduino MKR WAN 1300 (z lewej) oraz MKR WAN 1310 (z prawej).
Moduły MKR WAN 13x0 współpracują z udostępnioną przez producenta chmurą Arduino IoT Cloud. Kompleksowość dostarczanych rozwiązań uzupełnia zoptymalizowana pod kątem modułów MKR WAN 1310 brama dostępowa Arduino Pro Gateway LoRa Connectivity.
Ciekawą alternatywę dla komunikacji LoRa/LoRaWAN stanowi standard Sigfox, kładący szczególny nacisk na komunikację od węzłów do bramy dostępowej. Z oferty firmy Arduino do dyspozycji konstruktorów oddany został moduł MKR FOX 1200, zbudowany w oparciuo mikrokontroler Atmel SAMD21. Za komunikację radiową odpowiada układ Microchip Smart RF ATA8520, którego tor radiowy został dostrojony do obowiązującej w Europie częstotliwości ISM 868 MHz.
Zdjęcie 5. Moduł Arduino MKR FOX 1200 do realizacji komunikacji w sieci Sigfox.
Komunikacja GSM/3G – moduł Arduino MKR GSM 1400
Nawet rozbudowana sieć kratowa (Mesh), pracująca w standardzie LoRa/LoRaWAN nie jest obecnie w stanie zapewnić globalnego zasięgu. W przypadku projektów IoT wymagających niemal nieograniczonej obszarowo komunikacji, najlepszym rozwiązaniem jest wykorzystanie standardu GSM/3G. Na potrzeby komunikacji GSM/3G firma Arduino przygotowała moduł MKR GSM 1400, wyposażony w modem SARA-U210 firmy u-blox oraz układ autoryzujący Microchip ECC508 do realizacji mechanizmów bezpieczeństwa komunikacji. Wbudowany w zestaw modem GSM zapewnia pokrycie komunikacji w pasmach GSM 850 MHz, E-GSM 1900 MHz, DCS 1800 MHz oraz PCS 1900 MHz.
Dla usprawnienia procesu przygotowania oprogramowania, producent udostępnia bibliotekę MKRGSM (zwalniającą programistę z obsługi modułu za pomocą niskopoziomowych komend AT), wraz z bogatym zestawem przykładów (w tym m.in.: łączność GPRS, odbieranie/nadawanie wiadomości tekstowych, obsługa połączeń głosowych). Moduł MKR GSM 1400 może współpracować zarówno z oprogramowaniem Arduino IoT Cloud, jak równieżz alternatywnymi rozwiązaniami chmurowymi: Google IoT Cloud, Blynk czy SORACOM Air IoT, dla których producent przygotował zestaw przykładowych implementacji.
Zdjęcie 6. Moduł Arduino MKR GSM 1400 do realizacji komunikacji w sieci GSM/3G.
Komunikacja w sieci Narrowband IoT – moduł Arduino MKR NB 1500:
Dokonując krótkiej charakterystyki wybranych standardów komunikacji w ramach urządzeń Internetu Rzeczy, nie sposób pominąć rozwiązania bazujące na standardzie Narrowband IoT (NB-IoT), które wykorzystują do komunikacji licencjonowane pasmo LTE 800 MHz. Podobnie jak rozwiązania LoRaWAN i Sigfox, NB-IoT wpisuje się w grupę sieci LPWAN, a więc zapewnia stabilną komunikację na dużych obszarach, przy wykorzystaniu energooszczędnych modułów radiowych, zapewniających wieloletnią pracę urządzenia przy zasilaniu bateryjnym. Tym samym stanowi kolejną alternatywę do komunikacji LoRaWAN i Sigfox w rozwiązaniach z segmentu „Smart City”.
Do szybkiego prototypowania węzłów końcowych pracujących w standardzie NB-IoT, firma Arduino przygotowała zestaw MKR NB 1500 , wyposażony w moduł u-blox SARA-R410M-02B , umożliwiający uzyskanie łączności LTE Cat M1/NB1 w pasmach 1, 2, 3, 4, 5, 8, 12, 13, 18, 19, 20, 25, 26 oraz 28. Dodatkowo zestaw MKR NB 1500 został wyposażony w układ autoryzujący ECC508 firmy Microchip , złącze karty MicroSIM, kontroler ładowania baterii Li-Po oraz złącze anteny zewnętrznej.
Systemy embedded i IoT