Liczba urządzeń zaklasyfikowanych do grupy IoT szacowana była na ok 20 miliardów na całym świecie w 2021 roku. Przy uwzględnieniu kilku kwestii możemy całkiem śmiało założyć, że na każdego Czytelnika EP przypada nawet 5 i więcej takich urządzeń. To całkiem duża ilość, jak na sprzęt zaliczany do jednej kategorii, i potwierdza, że IoT ma bardzo szerokie spektrum zastosowań. Główne obszary aplikacji oraz ich udział przewidywany na najbliższe lata, został pokazany na rysunku 1.
Zasadniczą wspólną cechą urządzeń IoT jest możliwość wymiany danych za pośrednictwem internetu (Internet of Things). Choć można to zadanie realizować na różne sposoby, to dominującą rolę odgrywa komunikacja bezprzewodowa. Tylko takie rozwiązanie pozwala stosować urządzenia rozproszone po obiektach będące elementami systemów pomiarowych, sieci sensorycznych czy systemów sterowania. Tym bardziej rośnie znaczenie usług związanych z obsługą zdalną takich aplikacji. Aby możliwe było zainstalowanie czujnika w niedostępnym miejscu, konieczne jest zapewnienie bezobsługowości, czyli możliwości aktualizacji oprogramowania drogą radiową, monitorowania stanu, diagnozowania działania itd. Połączenia przewodowe stosowane są przede wszystkim w aplikacjach z zakresu automatyki, gdzie potrzebna jest większa przepustowość łącza lub realizowane są ścisłe uwarunkowania czasowe. Połączenie przewodowe zapewnia też większe bezpieczeństwo danych.
Możliwość wymiany danych za pośrednictwem internetu nie oznacza, że każde urządzenie musi być stale dołączone do sieci Wi-Fi. W wielu zastosowaniach komunikacja odbywa się tylko w krótkich okresach całego czasu działania i ma na celu przesłanie zebranych danych i zaktualizowanie ustawień. Powszechne są również rozwiązania z udziałem modułów pośredniczących (tzw. bamek, gates). Ich funkcja polega na zarządzaniu komunikacją z urządzeniami rozproszonymi, z użyciem prostszych, wyspecjalizowanych, energooszczędnych standardów radiowych, takich jak LoRa, i przekazywanie zebranych danych, już poprzez internet do docelowego serwera. Dlatego w aplikacjach IoT stosowane są zarówno różne generacje Wi-Fi, jak i sieci bazujące na rozwiązaniach GSM, Bluetooth czy LoRa. Do dyspozycji są też inne rozwiązania otwarte, takie jak 6LoWPAN oraz własnościowe protokoły, takie jak Mi-Wi czy Wireless Mbus. Do tego jeszcze RFID coraz częściej zastępowane implementacjami NFC, które także umożliwiają dwukierunkową komunikację bezprzewodową. Razem tworzy to ogromne możliwości i wybranie optymalnego rozwiązania do projektu jest coraz trudniej.
Nietrudno dostrzec, że w obszarze IoT mamy do dyspozycji coraz bardziej zaawansowane i uniwersalne platformy sprzętowe. Łatwiej jest kupić rozwiązania prawie gotowe, takie które wymagają jedynie konfiguracji, niewielkiej integracji (obudowa, zasilanie, podłączenie czujnika) i tym samym wysiłek projektanta kieruje się w stronę aplikacyjną, integracyjną oraz związaną z analizą danych. Jest to słuszny kierunek, bo przecież nie ma sensu, aby każdy inżynier zajmujący się IoT i komunikacją bezprzewodową rozwiązywał podstawowe problemy z tworzeniem hardware i firmware, bo duża część jest w zasadzie zawsze podobna. Dlatego przyjrzyjmy się temu co oferują najwięksi producenci w branży.
AVR-IoT WG od Microchip
Komunikacja poprzez Wi-Fi, choć zapewnia łączność w szeroko rozpowszechnionym standardzie, to jednocześnie stawia spore wymagania sprzętowe i programowe urządzeniom IoT, które powinny być proste i tanie. Konieczne jest stosowania protokołów TCP/IP i trzeba mieć na pokładzie moduł radiowy pracujący w odpowiednich pasmach. Niezależnie od szyfrowania standardu Wi-Fi, musimy też zapewnić algorytmy szyfrowania swoich danych. Przykładem gotowego rozwiązania sprzętowego i programowego spełniającego wymagania urządzenia IoT pracującego w sieci Wi-Fi jest płytka firmy Microchip typu AVR-IoT WG [1] pokazana na fotografii 1.
Na płytce znajdują się:
- mikrokontroler 8-bitowy AVR ATmega4808,
- układ szyfrujący ATECC608A,
- certyfikowany moduł kontrolera Wi-Fi typu WINC1510,
- czujnik temperatury MCP9808 z interfejsem I2C,
- czujnik światła typu TEMT6000.
Ponadto moduł ma zintegrowany programator/debugger oraz rozbudowany blok zasilania z funkcją ładowania akumulatora litowego. Dzięki umieszczonemu na płytce złączu mikroBUS, możliwe jest dołączenie różnych modułów rozszerzeń. Pozwalają one w prosty sposób rozszerzać funkcjonalność AVR-IoT WA na przykład o dodatkowe czujniki. Wybór jest naprawdę duży – od czujników gazu, smogu, ciśnienia, temperatury czy wilgotności, poprzez czujniki (mierniki) prądu, pola magnetycznego, żyroskopy, akcelerometry i wiele innych. Zasilanie 5 V jest doprowadzane z interfejsu USB, ale jest możliwość pracy z akumulatora. Zastosowany układ MCP73871 umożliwia ładowanie i nadzór nad ogniwem Li-Ion/Li-Poly o maksymalnym napięciu 4,2 V. Ogniwo automatycznie zasila moduł przy zaniku napięcia z USB.
Producent modułu przygotował oprogramowanie i oraz tutoriale umożliwiające połączenie modułu z usługami chmurowymi oferowanymi przez Google (Google Cloud IoT Core) oraz Amazon (Amazon Web Services – AWS). Są to przykłady o niewielkich możliwościach ale są dobrym punktem wyjściowym do własnym caplikacji.
Warto wiedzieć, że producent oferuje również bliźniacze moduły:
- PIC-IoT WG wyposażony w 16-bitowy mikrokontroler PIC24FJ128GA705,
- SAM-IoT WG wyposażony w 32-bitowy mikrokontroler ATSAMD21G18 (Cortex-M0+).
Wszystkie są aktualnie dostępne u wielu dystrybutorów w cenie nieco powyżej 200 zł.
Mikrokontroler ATmega4808
Mikrokontroler ATmega4808 jest wyposażony w szybki 8-bitowy rdzeń AVR ze sprzętowym układem mnożenia. Może być taktowany sygnałem o częstotliwości do 20 MHz i ma wbudowane 48 kB pamięci programu Flash, 6 kB pamięci danych SRAM i 256 bajtów pamięci EEPROM. Wyposażenie w układy peryferyjne nie odbiega od standardu przyjętego w produktach Microchipa. Należy tu wspomnieć o 10 bitowym przetworniku ADC z własnym źródłem napięcia referencyjnego, komplecie interfejsów komunikacyjnych (UART, SPI, I2C), układach CMP (Capture/Compare/PWM) i odpowiedniej ilości liczników. Układ może być zasilany w szerokim zakresie napięć – od 1,8 do 5 V.
Moduł Wi-Fi ATWIN1500
Układ ATWINC1500 firmy Microchip jest zintegrowanym kontrolerem przeznaczonym do pracy w sieci IEEE 802.11 b/g/n (Wi-Fi). Według zapewnień producenta jest zoptymalizowany do pracy w urządzeniach IoT. Jest to idealne rozwiązanie dla małych układów mikroprocesorowych, które potrzebują funkcji sieciowych. ATWINC1500 łączy się poprzez interfejs SPI z dowolnym MCU. Ma zintegrowany wzmacniacz mocy (PA), niskoszumny wzmacniacz LNA, switch, moduł zarządzania energią, oraz zintegrowaną antenę umieszczoną na płytce drukowanej. Dostępna jest też wersja z mikro złączem RF co-ax (U.FL) do podłączenia zewnętrznej anteny. Wyposażony jest w wewnętrzną pamięć Flash o pojemności 4 MB do przechowywania oprogramowania systemowego Atmel Software Framework. Oprogramowanie jest darmowe i można je pobrać/uaktualniać na przykład poprzez framework MPLAB Harmony. Oprogramowanie wspiera protokoły: DHCP, DNS, TCP/IP (IPv4), UDP, HTTP i HTTPS. Układy wyposażone w ten moduł i tanie mikrokontrolery 8-bitowe mogą bez problemu pracować z protokołami sieciowymi i realizować połączenia internetowe.
ATECC608A CryptoAuthentication
Układ ATECC608A CryptoAuthentication realizuje zaawansowane funkcje kryptografii krzywej eliptycznej (ECC). Dzięki wbudowanym funkcjom ECDH i ECDSA urządzenie jest idealne dla szybko rozwijającego się rynku IoT, ponieważ zapewnia pełny zakres zabezpieczeń, na który składają się: poufność, integralność danych i uwierzytelnianie.
Może być stosowany w systemach z MCU lub MPU z algorytmami szyfrowania/deszyfrowania. Podobnie jak wszystkie produkty Microchip CryptoAuthentication, nowy ATECC608A zawiera bardzo bezpieczne sprzętowe przechowywanie kluczy kryptograficznych i kryptograficzne środki zaradcze, które eliminują potencjalne backdoory związane ze słabymi punktami oprogramowania. Do komunikacji z mikrokontrolerem zastosowano standardowy interfejs I2C. Układ ATECCC608A zapewnia niskie zużycie energii i pracuje w dość szerokim zakresie napięć zasilania – od 2 do 5,5 V.
Espressif i ESP32
Marka Espressif została założona w 2008 roku w Szanghaju, obecnie ma swoje przedstawicielstwa w Singapurze, Indiach, Brazylii i Czechach. Ogromna popularność firmy wynika z komercyjnego sukcesu na niespotykaną wcześniej skalę, jaki osiągnął opracowany przez firmę układ. Na bazie układu ASIC, łączącego blok radiowy obsługujący Wi-Fi w paśmie 2,4 GHz (protokoły 802.11 b/g/n) i wyposażony w jeden z kilku typów 32-bitowych procesorów, powstała obszerna seria modułów, produkowanych zarówno przez samego producenta, jak i markę AI-Thinker. Najbardziej rozwiniętą serią produktów Espressif są układy ESP32 występujące w kilku wersjach. Najpopularniejsze z nich to:
- ESP32-D0WD – dodatkowa komunikacja poprzez Bluetooth Low Energy (Bluetooth LE) kompatybilne w wieloma starszymi urządzeniami, dwurdzeniowy procesor z regulowaną częstotliwością taktowania w zakresie od 80 MHz do 240 MHz, prąd uśpienia mniejszy niż 5 μA, dzięki czemu nadaje się do zastosowań z zasilaniem bateryjnym;
- ESP32-S2 – wysokowydajny jednordzeniowy procesor o taktowaniu do 240 MHz, który odznacza się bardzo niskim poborem mocy – wyposażony w funkcję dynamicznego skalowania napięcia i częstotliwości, realizuje sprzętowe wsparcie dla algorytmów AES, SHA i RSA;
- ESP32-S3 – dodatkowa komunikacja poprzez Bluetooth 5 (LE), dwurdzeniowy procesor Xtensa LX7 o taktowaniu do 240 MHz, szybki interfejs Quad SPI/Octal SPI, który umożliwiają podłączenie zewnętrznej pamięci flash i zewnętrznej pamięci RAM, zapewnia akcelerację dla obliczeniowych sieci neuronowych i przetwarzania sygnałów;
- ESP32-C2 – dodatkowa komunikacja poprzez Bluetooth 5 (LE), 32-bitowy procesor RISC-V o taktowaniu do 120 MHz;
- ESP32-C3 – dodatkowa komunikacja poprzez Bluetooth 5 (LE), 32-bitowy procesor RISC-V o taktowaniu do 160 MHz, wsparcie sprzętowej akceleracji algorytmów kryptograficznych (AES-128/256, Hash, RSA, HMAC).
Na bazie tych układów powstały gotowe moduły radiowe w postaci niewielkich płytek z padami krawędziowymi. Zawierają mikrokontroler, pamięci Flash i RAM oraz elementy toru radiowego łącznie z anteną na PCB i/lub złączem anteny. Najbardziej znane są moduły WROOM i WROOVER. Do szybkiego prototypowania z użyciem układów ESP32 powstała cała seria płytek oznaczonych DevKit. Najnowszą wersją jest płytka ESP32-S3-DevKitC-1 [2] pokazana na fotografii 2, która zawiera:
- moduł radiowy – ESP32-S3-WROOM-1 lub ESP32-S3-WROOM-1U lub ESP32-S3-WROOM-2, odpowiedzialny za komunikację Wi-Fi i Bluetooth 5 LE. Każdy z nich zawiera układ ESP32-S3 oraz pamięć Flash 8, 16 lub 32 MB i pamięć PSRAM 0, 2 lub 8 MB. Pierwszy i drugi zawierają zintegrowaną antenę PCB, natomiast ESP32-S3-WROOM-1U jest wyposażony w złącze anteny zewnętrznej;
- złącze micro USB dołączone do interfejsu USB OTG układu ESP32-S3 – zgodny ze specyfikacją USB 1.1 full-speed, może służyć do programowania układu, komunikacji z układem za pomocą protokołu USB 1.1 oraz do debugowania JTAG;
- konwerter USB-UART – używany do programowania mikrokontrolera oraz jako prosty interfejs do debugowania;
- przyciski – służące do resetowania i uruchamiania trybu programowania – boot mode;
- dioda LED RGB;
- układ zasilania – dostarczający napięcie 3,3 V uzyskane z 5 V dołączonego do złącza micro USB.
ESP32-S3-EYE
Płytki serii DevKit pozwalają na rozpoczęcie prac z układami rodziny ESP32, jednak będą niewystarczające w wielu praktycznych aplikacjach – wymagają do tego znacznej rozbudowy. Interesującą płytką rozwojową, która pozwoli wykorzystać znacznie więcej możliwości układu ESP32-S3, jest ESP32-S3-EYE [3] pokazana na fotografii 3. Została wyposażona w takie peryferia jak kamera, mikrofon i wyświetlacz więc sprawdzi się w nowoczesnych zastosowaniach.
Dokładna specyfikacja płytki jest następująca:
- Moduł ESP32-S3-WROOM-1 – zawiera wariant układu ESP32-S3R8, który zapewnia łączność Wi-Fi i Bluetooth 5 (LE), a także oferuje wsparcie w obliczeniach w sieciach neuronowych i przetwarzaniu sygnału. Oprócz zintegrowanej pamięci Octal SPI PSRAM o pojemności 8 MB, moduł jest również wyposażony w 8 MB pamięci Flash;
- miniaturowa kamera typu OV2640 – oferuje 2 miliony pikseli, pole widzenia 66,5° i maksymalną rozdzielczość 1600×1200 px;
- wyświetlacz LCD – ekran o przekątnej 1,3 cala, podłączony do ESP32-S3 przez magistralę SPI;
- cyfrowy mikrofon MEMS – komunikuje się poprzez interfejs I2S, czułość wynosi 61 dB SNR;
- gniazdo kart pamięci microSD – pozwala zastosować w aplikacji magazyn na dane o znacznej pojemności;
- akcelerometr trójosiowy – typ QMA7981, może posłużyć do obracania treści ekranu ekranu;
- układ ładowarki akumulatora – liniowa ładowarka akumulatorów litowo-jonowych typu ME4054BM5G, źródłem zasilania do ładowania jest port USB;
- złącze micro USB – służące do zasilania płytki napięciem 5 V, a także do komunikacji z układem ESP32;
- 4 mikroprzyciski – do sterowania funkcjami docelowej aplikacji.
Moduł ESP32-S3-EYE to niewielka płytka rozwojowa, która jest kompatybilna z ESP-WHO, czyli platformą programistyczną firmy Espressif ułatwiającą realizowanie aplikacji z zastosowaniem AI oraz z zakresu przetwarzania obrazu i dźwięku. Zawiera przykłady gotowe do zastosowania, pozwalające opracować różnorodne aplikacje AIoT, takie jak inteligentny dzwonek do drzwi, systemy nadzoru, rozpoznawanie twarzy, rozpoznawanie gestów itp.
Moduł składa się z dwóch płytek – płytki bazowej i płytki wyświetlacza (rysunek 2). Jest to relatywnie nowy produkt więc jest dostępny u niewielu dystrybutorów. Cena wynosząca nieco ponad 200 zł jest naprawdę dobrą ofertą za system z tak bogatymi możliwościami. Warto wiedzieć, że jest też starsza wersja tego modułu oznaczona ESP32-EYE, która oferuje dużo mniejsze możliwości.
M5Stack Core2
Moduły serii M5Stack to coś więcej niż zestawy ewaluacyjne dla IoT – to w zasadzie gotowe urządzenia zamknięte w estetycznej obudowie (fotografia 4).
Skierowane są zarówno do hobbystów konstruktorów, jak i profesjonalistów projektujących inteligentne aplikacje IoT, a także do instytucji edukacyjnych takich jak uczelnie techniczne. Urządzenia M5Stack bazują na układach ESP32 i dostępnych jest kilka ich wersji, a jedną z nowszych jest właśnie wersja Core2 [4].
W drugiej generacji modułu (Core2) zastosowano dwurdzeniowy mikrokontroler ESP32-D0WD-V3 taktowany zegarem do 240 MHz. Niemal cały panel frontowy stanowi ekran o przekątnej 2 cale ze zintegrowanym pojemnościowym panelem dotykowym oraz 3 przyciski pojemnościowe, których funkcje można programować. Na bocznych ściankach znajdują się złącza różnych interfejsów a na tylnej ściance jest duże złącze do modułów rozszerzających funkcje urządzenia. Zasilania dostarcza wbudowany akumulator o pojemności 390 mAh. Dokładna specyfikacja urządzenia wygląda następująco:
- mikrokontroler – ESP32-D0WD-V3, dwa rdzenie Xtensa 32-bitowe, taktowane do 240 MHz,
- komunikacja – Wi-Fi 2,4 GHz i Bluetooth
- pamięć – 16 MB flash oraz 8 MB PSRAM, gniazdo karty pamięci microSD do 16 GB;
- wyświetlacz – TFT, przekątna 2 cale, rozdzielczość 320×240, kontroler ILI9342C, panel dotykowy z kontrolerem FT6336U;
- audio – mikrofon – typu SPM1423, wzmacniacz mocy I2S NS4168, głośnik 1 W;
- IMU – 6-osiowy MPU6886;
- zegar czasu rzeczywistego – BM8563;
- kontroler zasilania – typu AXP192 z ładowaniem akumulatora litowego 3,7 V/390 mAh;
- Interfejsy – USB typ C, I2C, UART, IO;
- dodatkowe – silnik wibracyjny, przycisk zasilania, przycisk reset, 3 przyciski pojemnościowe na panelu frontowym;
- zasilanie – 5 V/500 mA poprzez USB;
- wymiary – 54×54×16 mm;
- masa – 52 g.
Seria M5Stack obejmuje kilkadziesiąt modułów, które są ze sobą w pełni kompatybilne, dzięki czemu można je łączyć w stos realizujący wiele procesów jednocześnie. Dodatkową uniwersalność tych modułów zapewnia możliwość programowania w kilku popularnych językach programowania, w tym: C/C++, Arduino, Blockly czy też MicroPython. Zestaw znakomicie sprawdzi się w projektach związanych z IoT, jako moduł edukacyjny STEM czy w urządzeniach Smart Home. Jego cena to ok. 300 zł.
Platforma do prototypowania dla mobilnego IoT
Opisane wcześniej moduły są skoncentrowane na komunikacji poprzez Wi-Fi. Oczywiście daje duże możliwości ale w wielu przypadkach może być przeszkodą nie do pokonania. Tam gdzie nie ma zasięgu sieci Wi-Fi dobrym rozwiązaniem jest komunikacja za pośrednictwem sieci telefonii komórkowej. Standard NB-IoT (Narrowband IoT) należy do rodziny LPWAN (Low Power Wide Area Network). Jego podstawowe zalety to niskie zapotrzebowanie na energię (Low Power), które umożliwia zasilanie z użyciem pojedynczej baterii przez wiele lat, nawet w przypadku częstego przeprowadzania komunikacji i przy uwzględnieniu takich aspektów, jak samoczynne rozładowanie i degradacja baterii. Drugą bardzo istotną cechą NB-IoT jest duży obszar działania (Wide Area). Dane w sieci mobilnej przesyłane są nawet w trudnych warunkach, np. na obszarach miejskich, gdzie sygnał radiowy narażony jest na wiele przeszkód zakłócających transmisję lub w miejscach tłumiących fale radiowe, takich jak piwnice czy instalacje podziemne.
Nordic Thingy:91
Interesującą platformą do prototypowania komórkowego IoT przy użyciu NB-IoT, ale także LTE-M, jest zestaw Thingy:91 [5] (fotografia 5) firmy Nordic Semiconductor. Jest zbudowany na bazie modułu komunikacyjnego typu nRF9160 i ma certyfikat dla szerokiego zakresu pasm LTE na całym świecie. Dodatkowo oferuje funkcje pozycjonowania GNSS co czyni moduł idealnym rozwiązaniem do zaawansowanych aplikacji śledzenia zasobów. Zestaw zawiera wiele czujników: temperatury, wilgotności, ciśnienia, jakości powietrza, koloru i poziomu oświetlenia, dwa czujniki ruchu oraz wiele elementów dodatkowych, takich jak dwa przyciski, trzy diody RGB LED, głośniczek. Na płytce jest też wieloprotokołowy układ komunikacji radiowej typu nRF52840, który obsługuje standardy BLE i NFC. Moduł zawiera trzy osobne anteny: dla komunikacji NFC, dla komunikacji BLE oraz trzecią dla komunikacji GPS, LTE-M i NB-IoT.
Moduł nRF9160 SiP integruje procesor ARM Cortex-M33 taktowany zegarem 64 MHz, z dużą pamięcią Flash do 1 MB oraz RAM do 256 kB [6]. Zawiera modem LTE, układ GPS, układy peryferyjne i zarządzające zasilaniem w obudowie o rozmiarach 10×16×1,2 mm (fotografia 6). Oferuje kompletne rozwiązanie do pracy z komunikacją mobilną IoT. Wymaga tylko zewnętrznej baterii, karty SIM oraz anteny (pojedyncze wyprowadzenie 50 Ω).
Ważniejsze cechy modułu nRF9160:
- obsługuje komunikację w standardach:
- 3GPP LTE release 13: Cat-M1 (eMTC) oraz Cat-NB1 (NB-IoT),
- 3GPP LTE release 14: Cat-NB1 (NB-IoT) oraz Cat-NB2 (NB-IoT),
- zakresy pracy LTE: 700…960 MHz, 1710...2200 MHz;
- obsługuje interfejs UICC (Universal Integrated Circuit Card) – oznacza to obsługę kart standardowych oraz eUICC (Embedded UICC);
- ma certyfikat GFC do pracy na całym globie;
- ma rozwiązania gwarantujące bezpieczeństwo bezpieczeństwo aplikacji – ARM TrustZone, ARM CryptoCell;
- moc wyjściowa programowana do 23 dBm.
Układ scalony nRF52840 bazuje na rdzeniu ARM Cortex-M4F taktowany zegarem 64 MHz z dużą pamięcią Flash do 1 MB oraz RAM do 256 kB [7]. Ważniejsze cechy tego układu:
- umożliwia komunikację w pasmie 2,4 GHz w sieciach z protokołem Bluetooth 5 (2 Mbps, 1 Mbps, Long Range), Bluetooth mesh, Thread, Zigbee, IEEE 802.15.4 oraz ANT;
- możliwa jest jednoczesna obsługa transmisji z obsługą stosu BLE 5 oraz stosu OpenThread;
- programowana moc wyjściowa w zakresie od –20 dBm do +8 dBm;
- zapewnia bezpieczne bootowanie oraz aktualizację oprogramowania poprzez tor radiowy;
- może pracować z różnymi systemami RTOS włącznie z systemem FreeRTOS;
Wygląd płytki zestawu Thingy:91 został pokazany na rysunku 3. W środku, w specjalnym wycięciu, jest umieszczony czujnik temperatury, wilgotności, jakości powietrza i temperatury BME680 (U9). Na lewo od niego jest umieszczony 3 osiowy czujnik przyspieszeń dużej wartości ADXL372 (U7). Na prawo jest umieszczony 3 osiowy czujnik przyspieszeń niskiej wartości ADXL362 (U8). U góry zostało umieszczone gniazdko dołączania baterii J3 oraz wyłącznik zasilania POWER (SW1). Obok jest zamontowany układ scalony zarządzania zasilaniem ADP536x (U11) typu PMIC. Poniżej jest zamontowane gniazdko USB-micro (J6). Jeszcze niżej jest zamontowane złącze do podłączania anteny NFC (J5) i złącze debugowania P8 (na krawędzi). W lewym górnym rogu, obok wycięcia w płytce, są umieszczone dwie diody LED RGB typu MSL0104RGBU1 (LD2, LD3). Poniżej znajduje się scalony czujnik koloru BH1749NUC (U10) oraz dioda LED RGB (LED1). Prawie w środku płytki znajduje się brzęczyk AST7525MATRQ (Bz1) sterowany poprzez tranzystor. Na obu stronach płytki drukowanej rozmieszczone są zworki, punkty pomiarowe oraz pola lutownicze dla dodatkowych złączy.
Zasilanie zestawu Thingy:91 jest pobierane z akumulatorka typu Li-Poly 440 mAh 3,7 V. Złącze Micro-USB (5 V) dostarcza napięcia VBUS do układu scalonego ADP536x firmy Analog Devices. Służy on do ładowania akumulatora i dostarczania napięć zasilania zestawu.
Moduł nRF9160 SiP pracuje w standardowej konfiguracji. Wyprowadzenie mocy radiowej ANT modułu jest doprowadzone do gniazdka typu SWF z wyłącznikiem. Sygnał jest następnie dołączony do dynamicznego układu dopasowującego. Dwa multipleksery radiowe typu QM12038 (U2, U3) umożliwiają modułowi nRF9160 SiP wybór optymalnego układu dopasowania w zależności od pasma pracy. Jedna z konfiguracji pracy układu dopasowania pozwala na pracę układu GPS modułu nRF9160. Dobre dopasowanie systemu antenowego jest bardzo istotne w systemach radiowych małej mocy. Tym bardziej, że stosowane w zestawach anteny mają typowo bardzo małe rozmiary. Ma to szczególne znaczenie dla pasm LTE poniżej 1 GHz. Obecnie dostępne aplikacje umożliwiają pracę zestawu Thingy:91 w następujących pasmach LTE: 2, 3, 4, 8, 12, 13, 20 oraz 28 [13]. Sygnał radiowy GPS, ze wspólnej z sygnałem LTE anteny A1, jest podawany do gniazdka typu SWF z wyłącznikiem. Umożliwia to dołączenie bardziej wydajnej anteny zewnętrznej. Dalej sygnał jest podawany na niskoszumny wzmacniacz U4 i wejście GPS modułu nRF9160.
Układ scalony nRF52840 pracuje w standardowej konfiguracji. Wyprowadzenie mocy radiowej ANT modułu jest doprowadzone do scalonego filtru SAFFB2G45MA0F0A (F1) typu SAW skonfigurowanego na pasmo ISM 2,4 GHz. Dalej sygnał jest dołączony do osobnej anteny A2. Zestaw jest wyposażony w antenę NFC dołączoną do gniazdka J5 i dalej bezpośrednio do dwóch wyprowadzeń układu scalonego nRF52840. Wyprowadzenia zasilania gniazdka USB-micro (J6) zestawu Thingy:91 są dołączone do układu zasilania zestawu (zasilanie całości i ładowanie baterii). Dostarcza ono także zasilanie dla modułu peryferyjnego USB układu scalonego nRF52840 (U6). Sygnały danych są bezpośrednio dołączone do wyprowadzeń D– oraz D+ układu scalonego nRF52840 Wyprowadzenia P0.18 do P0.25 modułu nRF9160 SiP są połączone z odpowiednimi wyprowadzeniami układu scalonego nRF52840 – zapewnia to bezpośredni interfejs komunikacyjny pomiędzy dwoma układami.
Nordic Thingy:91 jest dostarczany wraz z kartą SIM do użytku globalnego od iBasis, która ma darmowy plan transmisji danych 10 MB, aby natychmiast zacząć działać. Thingy:91 i SIM mogą być monitorowane za pomocą nRF Cloud, która jest platformą demonstracyjną, ewaluacyjną i testową Nordic Semiconductor w chmurze. Producent udostępnia dla zestawu liczne aplikacje, kody źródłowe oprogramowania firmowego oraz schematy i projekty sprzętowe. Cena zestawu wynosi ok. 700 zł.
Arduino MKR NB 1500
Kolejnym polecanym modułem przeznaczonym do realizacji komunikacji przez sieci NB-IoT i LTE-M jest Arduino MKR NB 1500 [8] (fotografia 7). Jest to jeden z nowszych modułów rodziny Arduino, zawierający procesor ATSAMD21, bazujący na wydajnej i niskomocowej architekturze ARM Cortex-M0+ i wyposażony w sporą pamięć Flash 256 kB oraz aż 32 kB pamięci RAM. Komunikację drogą radiową realizuje moduł renomowanej marki U-BLOX typu SARA-R410M, obsługujący łączność w standardach NarrowBand-IoT oraz LTE Cat M1. Taka konstrukcja doskonale nadaje się do projektów, które wymagają niskiego poboru mocy i prawidłowej komunikacji nawet w odległych, niedostępnych miejscach miejscach. MKR NB 1500 jest kompatybilny z Arduino IoT Cloud, co ułatwia testowanie i uruchamianie aplikacji.
Najważniejsze cechy modułu to:
- mikrokontroler SAMD21 Cortex-M0+, pamięć Flash: 256 kB, pamięć SRAM: 32 kB, 48 MHz;
- moduł UBLOX SARA-R410M-02B – NB-IoT i LTE-M;
- sprzętowe zabezpieczenie kryptograficzne typu ECC508;
- 22 cyfrowe we/wy, 12 wyjść PWM, 7 wejść analogowych (ADC 8/10/12 bitów), wyjście analogowe (DAC 10 bitów);
- Interfejsy: UART, SPI, I2C, I2S, USB Full-Speed i wbudowany host;
- obsługiwany akumulator 3,7 V Li-Poly.
Wbudowana ładowarka akumulatorów litowo-polimerowych o pojemności do 250 mAh zwalnia użytkownika z konieczności zapewnienia zewnętrznych obwodów zasilania – ładowarek, przetwornic DC/DC itp. Obecność modułu radiowego wysokiej klasy i wydajnego, energooszczędnego procesora sprawia, że moduł MKR NB nadaje się do wszelkiego rodzaju aplikacji z zakresu Internetu Rzeczy, w tym inteligentnych budynków, sieci sensorycznych czy nawet zdalnie sterowanych robotów. Dodatkową zaletą jest wsparcie ze strony środowiska programistycznego Arduino IDE, co gwarantuje bogaty zasoby gotowych bibliotek programowych i przykładów. Moduł jest dostępny w cenie ok. 450 zł.
Podsumowanie
Branża IoT jest niezwykle dynamicznym rynkiem, zarówno od strony technologicznej, produktowej jak i użytkowej, programowej. To spowodowało, że oferta produktów przeznaczonych dla tej technologii niezwykle szybko się rozrasta. W artykule zostały zaprezentowane tylko wybrane moduły i płytki uruchomieniowe, które spełniały 3 warunki:
- są dostosowane do zasilania z akumulatorka (zawierają układ ładowania),
- charakteryzują się niewielkimi, kompaktowymi wymiarami,
- oraz są aktualnie dostępne w sprzedaży.
Takie cechy, choć nie dotyczą sfery czysto technicznej, mają istotne znaczenie w przypadku zastosowań IoT.
Damian Sosnowski, EP
[1] https://bit.ly/3wKri4h
[2] https://bit.ly/3wA7ss2
[3] https://bit.ly/39I8IjY
[4] https://bit.ly/3G8DX3U
[5] https://bit.ly/3lAsDUA
[6] https://bit.ly/3wAcqUs
[7] https://bit.ly/3PEu6af
[8] https://bit.ly/3sPg5g8