Systemy dla Internetu Rzeczy (31). Nordic Thingy:91 – platforma do prototypowania dla mobilnego IoT

Systemy dla Internetu Rzeczy (31). Nordic Thingy:91 – platforma do prototypowania dla mobilnego IoT
Pobierz PDF Download icon

Rok 2019 jest rokiem komunikacji komórkowej LTE 5G. Jednak technologia LTE jest złożona, co może zniechęcać do sprawdzania jej możliwości. Właśnie pojawiła się nowa platforma szybkiego prototypowania dla mobilnej komunikacji IoT. Zestaw Nordic Thingy:91 firmy Nordic Semiconductor integruje dwie dziedziny komunikacji. Zastosowany w zestawie moduł nRF9160 SiP (System in Package) obsługuje komunikację dużego zasięgu i niskiej mocy standardu LTE-M, NB-IoT oraz dodatkowo GPS (Global Positioning System). Układ scalony nRF52840 SoC (System on Chip) obsługuje komunikację standardu Bluetooth Low Energy, Thread oraz NFC (Near Field Communication). Unikalną cechą zestawu jest osiągnięcie wysokich własności komunikacji radiowej przy zastosowaniu zintegrowanych anten wewnętrznych. Zestaw Thingy:91 zawiera szereg czujników: temperatury, wilgotności, ciśnienia, jakości powietrza, koloru i poziomu oświetlenia, dwa trzyosiowe czujniki ruchu oraz wiele elementów dodatkowych: przyciski, trzy diody RGB LED, głośniczek i antenę NFC. Zestaw Thingy:91 posiada globalną certyfikację do pracy w sieciach komórkowych. Jest on idealną platformą do prototypowania systemów komunikacji mobilnego IoT z zasilaniem bateryjnym i weryfikowania koncepcji. Zainstalowane fabrycznie oprogramowanie zapewnia śledzenie zasobów w czasie rzeczywistym.

Poprzedni zestaw Nordic Thingy:52 IoT Sensor Kit (PCA2020) spotkał się z bardzo dużym zainteresowaniem [S21]. Został w nim zastosowany układ scalony nRF5232 z obsługą protokołu Bluetooth Low Energy 5, NFC oraz ANT. Moduł Thingy:52 zawiera szereg czujników: temperatury, wilgotności, ciśnienia, jakości powietrza (CO2 oraz TVOC), koloru i poziomu oświetlenia, czujnik ruchu niskiej mocy i 9 osiowy czujnik ruchu. Postęp w dziedzinie układów MEMS jest tak duży, że obecnie wiele zastosowanych scalonych czujników zostało już wycofanych z produkcji.

Nowy zestaw Thingy:91 (PCA20035) firmy Nordic Semiconductor ma tą samą obudowę co poprzedni (6×6 cm) i obsługuje również te same możliwości komunikacyjne oraz pomiarowe. Dodatkowo jest bardziej rozbudowany i posiada certyfikacje CE, FCC oraz globalną certyfikację do pracy w sieciach komórkowych [1]. Zawiera trzy osobne anteny: dla komunikacji NFC, dla komunikacji BLE oraz trzecią dla komunikacji GPS, LTE-M i NB-IoT. Producent udostępnia za darmo liczne aplikacje dla zestawu, kody źródłowe oprogramowania firmowego oraz schematy i projekty sprzętowe [4]. Standardy komunikacji mobilnej LTE-M oraz NB-IoT były omówione w poprzednim artykule serii [S22].

Moduł nRF9160 SiP

Moduł nRF9160 SiP integruje procesor ARM Cortex-M33 (64 MHz) z dużą pamięcią Flash do 1 MB oraz RAM do 256 KB [4]. Moduł zawiera modem LTE, układ GPS, układy peryferyjne i zarządzanie zasilaniem w obudowie o rozmiarach 10×16×1,2 mm. Oferuje kompletne rozwiązanie do pracy z komunikacją mobilną IoT.

Wymaga tylko zewnętrznej baterii, karty SIM oraz anteny (pojedyncze wyprowadzenie 50 V).

Modem 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),
Obsługuje tryby pracy z obniżonym poborem mocy: DRX, eDRX, PSM
Zakresy pracy LTE: 700-960 MHz, 1710-2200 MHz
Układ obsługuje interfejs UICC (Universal Integrated Circuit Card). Oznacza to obsługę kart standardowych oraz eUICC (Embedded UICC).
Układ wymaga napięcia zasilania w granicach 3,0...5,5 V (typ. 3,8 V).
Posiada certyfikat GFC do pracy na całym globie
Bezpieczeństwo: ARM TrustZone, ARM CryptoCell 310
Wiele układów peryferyjnych: 4×SPI/UART/TWI, PDM, I2S, PWM, ADC
Programowana moc wyjściowa do 23 dBm
Budowa wewnętrzna modułu była omawiana w poprzednich artykułach serii [S22, S27].
Układ scalony nRF52840
Układ scalony nRF52840 firmy Nordic Semiconductor bazuje na rdzeniu ARM Cortex-M4F (64 MHz) z dużą pamięcią Flash do 1 MB oraz RAM do 256 kB [5].
Układ umożliwia w pasmie 2,4 GHz transmisję 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. Zapewnia to mechanizm Dynamic Multiprotocol z obsługą stosów S140 v5 SoftDevice oraz stosu OpenThread RF.
Programowana moc wyjściowa w zakresie od –20 dBm do +8 dBm.
Wiele układów peryferyjnych: UART, SPI, TWI, PDM, I2S, QSPI, PWM, 12-bit ADC, NFC-A, USB 2.0
Bezpieczeństwo: 128-bit AES CCM, ARM CryptoCell
Układ zapewnia bezpieczne bootowanie oraz aktualizację oprogramowania poprzez radio.
Układ może pracować z różnymi systemami RTOS włącznie z systemem FreeRTOS.
Układ pracuje z napięciem zasilania 1,7 V do 5,5 V.
Układ ma certyfikację konsorcjum Thread Group.
Cechy unikalne: Układ nRF52840 posiada dedykowany moduł kryptograficzny ARM TrustZone CryptoCell 310.
Budowa układu scalonego a szczególnie zagadnienia zasilania niskiej mocy były omawiane w poprzednim artykule serii [S29].
Środowisko programowe
Dla modułu nRF9160 są dostępne narzędzia programowe: nRF Connect for Cloud, LTE Link Monitor, nRF Connect for Desktop, Segger Embedded Studio oraz nRF Connect Software Development Kit (SDK) z przykładowymi aplikacjami. Pakiet programowy nRF Connect SDK zawiera wszystko co jest potrzebne do rozpoczęcia pracy. Aplikacja nRF Link Monitor pozwala na testowanie połączeń komunikacyjnych i uzyskiwanie informacji o pracy sieci.
Dokumentacja
Dokumentacja dotycząca zestawu Thingy:91 jest dostępna poprzez portal firmy Nordic Semiconductor na stronie produktu „Nordic Thingy:91, Cellular IoT Prototyping platform” [1]. Znajduje się tam odnośnik do opisu zamieszczonego w pliku pdf: „Nordic Thingy:91 Product Brief v1.2”. Po kliknięciu na przycisk Get Documentation otwierana jest strona Documentation library z dostępem do kilku opisów w formacie plików pdf oraz stron html. Dokładny opis modułu Thingy:91 jest zawarty w dokumencie „Nordic Thingy:91 User Guide v1.0” [2].
Dolna część strony Thingy:91 jest zorganizowana w postaci trzech zakładek:
Overview – Zwiera opisy i odwołania do modułu nRF9160 DK z układem nRF9160 serii nRF91 a także do procesorów nRF9160 SiP oraz nRF52840. Jest też odwołanie do artykułów informacyjnych, w tym bardzo ciekawy tekst „Simplified development of cellular IoT prototypes is now possible in just a few days with launch of Nordic Thingy:91” [3] oraz „Simplify Cellular IoT Prototyping With Nordic Thingy:91” [14].
Download – Zawiera odnośniki do źródłowych plików aplikacyjnych. Schematy płytki i anteny NFC oraz pliki konstrukcyjne znajdują się w pliku zip „Thingy91 – Hardware files 1_0_0”. Zawiera on plik schematu zestawu „PCA20035_Schematic_And_PCB, rev.1.0.0”. Po kliknięciu na element na schemacie zestawu pokazywane jest okno ze szczegółowym.in.ormacjami, włącznie z odnośnikiem do pliku opisu elementu.
Get started – W polu Connect and test jest opisane postępowanie od wyjęcia modułu z pudełka do połączenia z aplikacją mobilną. Poniżej znajduje się kilka prezentacji wideo.
Opis modułu nRF9160 SiP znajduje się w pliku „nRF9160 Product Specification v1.0” dostępnym poprzez stronę produktu [4]. Opis układu scalonego SOC znajduje się w pliku „nRF52840 Product Specification v1.1” dostępnym poprzez stronę produktu [5].
Przygotowanie modułu do pracy
Moduł jest umieszczony w elastycznym pudełku w kolorze pomarańczowym. Zaślepka na bocznej ścianie pudełka umożliwia dostęp do gniazdka Micro-USB. Otwarta duża boczna ścianka zapewnia dostęp do przezroczystej plastykowej obudowy. W niej umieszczona jest bateria litowa dołączona do płytki dwoma przewodami. Na przeciwnej ściance bocznej pudełka są otwory na gniazdko Micro-USB, wyłącznik zasilania oraz złącze debugowania. Płytka drukowana modułu jest mocowana w pudełku z użyciem trzech zatrzasków.
W narożniku plastykowego pudełka jest wykonany spory otwór. Służy on jako światłowód wyprowadzający światło dwóch diod LED RGB. Plastykowe pudełko posiada również światłowód doprowadzający światło z powierzchni pudełka do scalonego czujnika koloru umieszczonego na płytce drukowanej. Oraz światłowód wyprowadzający światło diody LED RGB na powierzchnię pudełka jako podświetlenie obiektu do badania koloru odbitego.
Na fotografii tytułowej jest widoczna pomarańczowa elastyczna obudowa oraz dolna strona płytki drukowanej zestawu Thingy:91 umieszczonej w obudowie plastykowej [2]. Widoczna jest też elastyczna antena NFC. Pierwszym krokiem do rozpoczęcia pracy z zestawem Thingy:91 jest zdjęcie pomarańczowego elastycznego pudełka. Dopiero wtedy jest dostęp do wyłącznika zasilania Power. Do ładowania baterii jest przeznaczone gniazdko Micro-USB umieszczone na bocznej ściance plastikowego pudełka. Gniazdko można dołączyć do gniazdka USB komputera lub do ładowarki USB. Bateria jest ładowana tylko gdy przełącznik POWER jest w pozycji ON. Po włączeniu zasilania modułu można założyć pomarańczowe elastyczne pudełko. Dostęp do gniazdka Micro-USB jest możliwy pod zaślepką na bocznej ściance pudełka.
Przy zaglądaniu do „środka” należy zachować ostrożność. Po wyjęciu przezroczystej plastykowej obudowy z pomarańczowego elastycznego pudełka należy ostrożnie podważyć płytkę drukowaną na dwóch bocznych zatrzaskach. Podnoszenie płytki należy wykonać po przeciwnej stronie niż gniazdko Micro-USB.
Budowa modułu
Zestaw Thingy:91 zawiera szereg czujników: temperatury, wilgotności, ciśnienia, jakości powietrza, koloru i poziomu oświetlenia, dwa czujniki ruchu oraz wiele elementów dodatkowych: dwa przyciski, trzy diody RGB LED, głośniczek i antenę NFC. Zastosowane w module czujniki nie zostały dodatkowo skalibrowane (oprócz kalibracji producentów czujników). Góra płytki drukowanej modułu Thingy:91 jest pokazana na rysunku 1. Jest to strona przykryta pomarańczową elastyczną obudową. W środku płytki jest zamontowany przycisk SW3 umieszczony bezpośrednio pod ikonką graficzną firmy na powierzchni pomarańczowej obudowy. Przyciśnięcie w tym miejscu obudowy powoduje zadziałanie przycisku. Po tej samej stronie jest też umieszczony moduł nRF9160 SiP (U1), układ scalony nRF52840 (U6, w obudowie WLCSP), gniazdko karty SIM (J4, nano-SIM) oraz przełącznik SWD SELECT (SW2) wyboru układu do debugowania. Mała antena pasma 2,4 GHz typu 2450AT18D0100 (A2) jest umieszczona na dole płytki drukowanej. Na prawej krawędzi płytki umieszczona jest długa antena pasm LTE i GPS typu FR01-S4-210 (A1). Na prawo od modułu nRF9160 SiP (U1) umieszczone są dwa gniazdka typu SWF z wyłącznikiem do dołączania zewnętrznych anten w miejsce obu anten wbudowanych. Obok nich jest umieszczony mały przycisk SW4 służący do obsługi bootowania układu scalony nRF52840 (U6). Obok anteny A1 (puste miejsce na rysunku 1) jest na płytce przyklejona etykietka podająca kod modułu (PCA20035), wersję (1.0.0) oraz datę produkcji (2019.33). Poniżej jest podany numer IMEI, PIN oraz numery identyfikacji FCC.
Widok dolnej strony płytki drukowanej zestawu Thingy:91 jest pokazany na rysunku 2. 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łącz.
Schemat blokowy zestawu Thingy:91 został pokazany na rysunku 3. Zasilanie zestawu Thingy:91 jest pobierane z baterii typu Li-ion Polymer LP793444, 1440 mAh 3,7 V firmy Wamtechnik. Używamy nazwy „bateria” ale jest to oczywiście akumulatorek umożliwiający wielokrotne ładowanie. 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. Napięcie VLi-Ion z baterii jest podawane na układ ADP536x, który dostarcza główne napięcie zasilania VSYS. Z niego jest zasilany bezpośrednio tylko moduł nRF9160 SiP. Układ ADP536x dostarcza też napięcia 1,8 V z którego jest zasilany układ scalony nRF52840 oraz czujniki przyspieszeń (ADXL362 i ADXL372) i zespolony czujnik BME680. Reszta układów zestawu Thingy:91 jest zasilana z napięcia 3,3 V również dostarczanego poprzez układ scalony ADP536x. To napięcie może być wyłączone po przejściu zestawu Thingy:91 w stan oszczędzania energii (sleep mode).
Pomiaru prądu zasilania modułu jest możliwy po rozłączeniu zwór SB1...SB4. Na płytce modułu Thingy:91 znajdują się pola lutownicze dla zamontowania dodatkowych złączy P3...P7. Moduł Thingy:91 zawiera też dodatkowo cztery tranzystory N-MOS (Q6, Q7) dołączone bezpośrednio do wyprowadzeń I/O układu nRF9160 oraz do złącza P7. Przełącznik SWD SELECT (SW2) wybiera czy standardowe 10-cio nóżkowe złącze debugowe P8 jest dołączone do modułu nRF9160 SiP czy do układu scalonego nRF52840. Pozwala to na ich programowanie i debugowanie.
Moduł nRF9160 SiP pracuje w standardowej konfiguracji. Wyprowadzenie mocy radiowej ANT modułu jest doprowadzone do gniazdka typu SWF z wyłącznikiem. Umożliwia to dołączenie zewnętrznego kabla koncentrycznego do wykonania pomiarów modułu, przy odłączonych układach płytki. 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 [4]. Jedna z konfiguracji pracy układu dopasowania pozwala na pracę układu GPS modułu nRF9160 SiP. 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 SiP. Wszystkie układy czujników są dołączone do modułu nRF9160 SiP.
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 Thingy:91 jest wyposażony w antenę NFC dołączoną do gniazdka J5 i dalej bezpośrednio do dwóch dedykowanych 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 P0.11/15/20/2,1 P1.00, P0.25/19/22 nRF9160 SiP układu scalonego nRF52840. Zapewnia to bezpośredni interfejs komunikacyjny pomiędzy dwoma układami.
Diody RGB
Dwie diody RGB (LD2, LD3) są umieszczone w lewym górnym rogu dolnej powierzchni płytki drukowanej, obok wycięcia w płytce (rysunek 2). Pracują one równolegle, sterowane trzema sygnałami RGB z tranzystorem MOS jako kluczem w każdym kanale. Trzecia dioda RGB (LD1) jest umieszczona obok scalonego czujnika koloru BH1749NUC (U10). Wysyła ona oświetlenie pozwalające na pomiar koloru światła odbitego od przedmiotu umieszczonego koło obudowy.
Akcelerometry
Trzyosiowy akcelerometr ADXL362 firmy Analog Devices jest układem wykonanym w technologii MEMS [7]. Pobiera on nadzwyczaj mało prądu 1,5 mA dla pomiarów 100 Hz oraz tylko 270 nA w trybie uśpienia (pomiar ok 6 Hz) z wykrywaniem zdarzeń. Posiada programowalny generator sygnału przerwania aktywowanego po wykryciu ruchu w trzech osiach lub swobodnego upadku. Układ umożliwia skalowanie zakresu pomiarowego od ±2g do ±8g oraz częstotliwości pomiarów od 12,5 Hz do 400 Hz. Obsługuje łącze komunikacyjne standardu SPI z osobnym napięciem do 1,8 V. Każde poruszenie modułu przez użytkownika może być wykryte i wybudza moduł nRF9160 SiP.
Drugi czujnik ruchu zestawu, trzyosiowy akcelerometr ADXL372 firmy Analog Devices też jest układem wykonanym w technologii MEMS [8]. Układ umożliwia pomiary do ±200 g oraz częstotliwości pomiarów od 200 Hz do 3200 Hz.
Czujnik otoczenia
Do pomiaru jakości powietrza, temperatury, wilgotności oraz ciśnienia został zastosowany zintegrowany układ scalony BM680 firmy Bosch typu MEMS [6]. Jest on najbardziej skomplikowanym czujnikiem zamontowanym na płytce Thingy:91. Układ scalony ma bardzo małe wymiary 3×3×0,93 mm. Pobiera on tylko 0,15 mA (uśpienie) do 12 mA (nagrzewanie) prądu (w zależności od trybu pracy) przy zasilaniu 1,70 V do 3,6 V. Układ obsługuje łącze komunikacyjne standardu I2C oraz SPI.
Wewnętrzny czujnik gazu tego układu scalonego zawiera płytkę podgrzewaną do odpowiedniej temperatury (typowo pomiędzy 200 oraz 400°C). Pozwala to na uzyskanie bardzo dobrej jakości pomiaru, bardzo krótkiego czasu opóźnienia rozpoczęcia pomiaru (poniżej 1 sek.) i bardzo znaczącej redukcji pobieranej mocy. Czujnik do pomiaru jakości powietrza wykrywa wiele różnych substancji lotnych. Gazy, które mogą być wykrywane przez BME680, obejmują lotne związki organiczne (VOC) – także wydychane przez człowieka, z farb (takich jak formaldehyd), lakiery, produkty do usuwania farby, środki czyszczące meble, sprzęt biurowy, kleje i alkohol [6].
Pomiary są podawane w jednostkach indeksu jakości powietrza IAQ (Index for Air Quality). Przyjmuje on wartości od zera do 500 z rozdzielczością 1. Wartości IAQ ok. 25 oznaczają dobrą typową jakość powietrza, wartości ok 250 oznaczają zanieczyszczone powietrze – mogące wywoływać bóle głowy.
Pomiar temperatury jest wykonywany w zakresie –40...85 °C z dokładnością ±1 °C. Pomiar wilgotności jest wykonywany w zakresie 0...100 % z dokładnością ±3 %. Pomiar ciśnienia atmosferycznego jest wykoywany w zakresie 300-1100 hPa z dokładnością ±0,6 hPa.
Czujnik koloru
Czujnik koloru BH1749NUC firmy ROHM Semiconductor posiada cztery osobne kanały pomiarowe: czerwony, zielony, niebieski oraz dodatkowo podczerwień [9]. Przetworniki ADC w każdym kanale dają 16-bitowe wyniki pomiarów. Układ scalony pracuje z zasilaniem w zakresie 2,3 V do 3,6 V przy typowym poborze prądu 190 mA. Układ umożliwia komunikację po szynie I2C (400 kHz) dla napięcia do 1,8 V. Układ cechuje się bardzo dużą rozdzielczością pomiaru, do 0,0125 Lx oraz bardzo dużym zakresem pomiarowym od 0,0375 Lx do 80000 Lx. Jest zamknięty w małej obudowie 2,10×2,00×0,6mm. Na płytce drukowanej obok czujnika koloru jest umieszczona dioda LED RGB, dzięki temu możliwy pomiar koloru światła odbitego od przedmiotu umieszczonego koło obudowy.
Rozpoczęcie pracy z zestawem Thingy:91
Na początek należy przestawić wyłącznik zasilania POWER (SW1) z położenia OFF do położenia ON (I). Jeśli bateria jest naładowana to zaczną błyskać diody LED na niebiesko.
Pierwsze dołączenie zestawu kablem USB do komputera skończyło się porażką – nie zostały znalezione sterowniki zastawu dla systemu Windows 7. Na systemach Windows 10 i Linux nie było problemów. Na portalu technicznym DevZone firmy Nordic Semiconductor jest (świeży) opis rozwiązania problemu [15]. Trzeba zainstalować pakiet programowy nRF5 SDK. Wtedy w folderze \nRF5_SDK_xx\examples\usb_drivers znajdują się przydatne drajwery „nordic_cdc_acm”.
W oknie Menadżera urządzeń należy kliknąć na linię „Inne urządzenia  Thingy:91 UART” (pierwszą z dwóch) i wybrać „Aktualizuj Oprogramowanie Sterownika”. Następnie wybierz „Przeglądaj mój komputer …” i wskaż folder ze sterownikami. Po zakończeniu instalacji pojawia się w Menadżerze urządzeń linia „nRF USB CDC Demo (COMxx)”. To jest właśnie port przeznaczony do komunikacji z zestawem Thingy:91.
Serwis nRF Connect for Cloud
W komplecie fabrycznym zestawu Thingy:91 dołączona jest karta nano/4FF SIM firmy iBasis powiązana z darmowym transferem 10 MB. W manualu do zestawu Thingy:91 [2] jest dokładnie opisany sposób aktywowania tej karty SIM. Służy do tego specjalna strona serwisu „nRF Connect for Cloud” [10]. Serwis umożliwia pracę z odbiornikiem GPS, aktualizowanie oprogramowania firmowego modułu nRF9160 a także układu nRF52840, aktualizację oprogramowania aplikacyjnego oraz daje wiele innych możliwości. W zasadzie jedyną, krótką informację o serwisie można znaleźć tylko na stronie produktu [16].
Postępowanie przy uruchamianiu pracy z serwisem:
Otwórz stronę „nRF Connect for Cloud” [10].
Zarestruj się.
Z menu, po lewej stronie okna, wybierz Devices.
Kliknij w menu na niebieski przycisk „+”.
W oknie Add New wybierz pozycję LTE Device.
W nowym oknie Verify SIM Card wpisz SIM ICCID oraz PUK. Numer ICCID jest wydrukowany bezpośrednio na karcie SIM. Numer PUK oraz PIN jest nadrukowany na plastykowej płytce dostarczanej z kartą SIM.
Przy wyłączonym zasilaniu zestawu Thingy:91 włóż załączoną w zestawie kartę SIM do gniazdka (J4, rysunek 1).
Włącz zasilanie wyłącznikiem Power (rysunek 2).
Zaznacz prostokąt potwierdzenia warunków obsługi.
Kliknij przycisk Verify SIM. Jeśli nie ma dostępu do obsługi mobilnego IoT to nic więcej nie da się zrobić. Do wykonania rejestracji zestawu potrzebne jest połączenie serwisu nRF Connect for Cloud z zestawem w celu wymiany kluczy.
W nowym oknie Add LTE Device wpisz IMEI oraz HWID. Oba numery są wydrukowane na naklejce umieszczonej na górnej powierzchni płytki drukowanej zestawu (rysunek 1).
Kliknij przycisk Add Device. Jeśli zestaw Thingy:91 jest w zasięgu aktywnej stacji bazowej LTE to zestaw i karta SIM zostaną dodane do serwisu. Na zakładce SIM CARDS są pokazywane informacje o zarejestrowanych kartach.
Z menu, po lewej stronie okna, wybierz DEVICES. Wyświetlany jest zarejestrowany zestaw Thingy:91 z podaniem jego numeru IMEI.
Kliknij na ikonkę Lte po prawej stronie. Zostaną otworzone okna (rysunek 4):
Terminal – z informacjami o komunikacji,
GPS Data – z informacjami o lokalizacji geograficznej,
Asset Orientation – z informacjami o zmianie położenia zestawu oraz cztery okna z aktywnym on-line wykresem odczytów.
Są to okna:
Temperature – odczyt temperatury,
Humidity – odczyt wilgotności,
Air Pressure – odczyt ciśnienia atmosferycznego oraz
Reference Signal Received Power – poziom odbieranego sygnału radiowego (dBm). Ze względu na słaby sygnał zbierany z anteny moduł GPS może nie dostarczać danych.
Trzeba pamiętać, że pobieranie danych z zestawu Thingy:91 do chmury serwisu powoduje zużywanie predefiniowanej puli darmowego transferu danych, która bardzo szybko się zużywa. Całość działa w sposób automatyczny, jednak jeśli chcemy zobaczyć szczegóły dotyczące sposobu pracy połączenia LTE to trzeba użyć innego programu.
nRF Connect for Desktop
Program nRF Connect for Desktop (wersja 3.2.0 lub wyższa) jest platformą do uruchamiania aplikacji (app) przeznaczonych do obsługi specyficznych zadań dla obsługi mobilnego IoT [11]. Po zainstalowaniu programu, przy pierwszym uruchomieniu, może pojawić się informacja o konieczności aktualizacji programu. Nawet jeśli została pobrana najnowsza wersja ze strony produktu. Aktualizację należy koniecznie wykonać. Następnie należy kliknąć na przycisk Install na prawo od napisu LTE Link Monitor.
LTE Link Monitor
Aplikacja LTE Link Monitor v1.1.1 jest wtyczką (app) do programu nRF Connect for Desktop [11]. Komunikuje się z zestawem Thingy:91 poprzez port szeregowy realizowany z użyciem połączenia USB. Aplikacja jest przeznaczona do komunikacji z modemem LTE z użyciem poleceń AT. Pokazuje informacje o pracy dołączonego modemu jak: siła sygnału, informacje sieciowe i wiele innych. Jest bardzo dobrze opisana w manualu „nRF Connect LTE Link Monitor v1.1.1 User Guide” [12].
Po uruchomieniu aplikacji otwierana jest zakładka „Terminal” (rysunek 5).
Najpierw należy w prawym dolnym rogu okna aplikacji odznaczyć opcję filtru „Auto device/port”.
Następnie należy z menu „Select device” wybrać port COM (nRF USB CDC Demo) zestawu Thingy:91 (PCA20035). Pokazywane są dwa porty COM, ale tylko jeden jest aktywny. Aplikacja automatyczne łączy się z zestawem. Przebieg wymiany poleceń komunikacyjnych AT jest pokazany w dużym czarnym polu. W celu sprawdzenia połączenia należy w linii poleceń wpisać „AT” i kliknąć na przycisk „Send”. Poprawna odpowiedź zestawu to „OK”. Polecenia AT są opisane w manualu „nRF91 AT Commands Reference Guide”.
Jeśli nie ma dostępu do obsługi mobilnego IoT to w prawym górnym rogu okna aplikacji pulsuje kolorami pole LTE, co wskazuje na poszukiwanie sieci LTE. I nic więcej nie da się zrobić. Na dole okna aplikacji jest okno Log w którym pokazywane są informacje oraz komunikaty o błędach. W prawym panelu okna pokazywane są informacje dotyczące modemu oraz sieci komórkowej. Pierwsza linia pokazuje kolorami stan połączenia. Najechanie myszką na pole powoduje wyświetlenie listy dostępnych kolorów oraz ich znaczenie. Poniżej są pokazywane szczegółowe informacje, zaczynając od siły sygnału radiowego, używanego kanału LTE (20, 791...849 MHz), oraz danych właściciela sieci LTE (Orange) i stanu/typu połączenia komórkowego (roaming). Kliknięcie na przycisk Show servising station location powoduje wyświetlenie okna z informacją o lokalizacji używanej stacji bazowej wraz z mapką zasięgu (rysunek 5). Na zakładce Chart pokazywany jest wykres on-line pokazujący zdarzenia oraz siłę sygnału RSRP (dBm).
Jakiej informacji zabrakło? O używanym standardzie komunikacji, w tym przypadku był to standard LTE-M (Cat-M1).
Inne przydatne aplikacje
Aplikacja Getting Started Assistant v1.0.2 służy do instalowania i konfigurowania środowiska programowego potrzebnego do pracy z projektami programowymi dla zestawu Thingy:91. Instalowany jest pakiet programowy „nRF Connect SDK” zawierający biblioteki i przykładowe projekty. Instalowane jest środowisko GNU ARM Embedded Toolchain oraz SEGGER Embedded Studio, a także oprogramowanie dla systemu operacyjnego czasu rzeczywistego Zephyr. Instalacja trwa długo i jest bardzo skomplikowana.
Aplikacja Programmer v1.2.3 służy do programowania modułów nRF9160 SIP z zastosowaniem zestawu nRF9160 DK jak również debugera J-Link. Jest jeszcze aplikacja Trace Collector v1.0.0, ale jest ona dopiero w trakcie udostępniania dla użytkowników i nie udało się uzyskać o niej informacji.
Podsumowanie
Większość projektów Internetu Rzeczy jest duża i złożona. Obejmują cały łańcuch zagadnień: czujników, urządzeń wbudowanych, łączności, chmury, analiz i informacji biznesowych. Wszystkie te obszary są złożone same w sobie i tylko największe firmy dysponują specjalistyczną wiedzą we wszystkich tych obszarach. Wiele młodych startupów ma ograniczone zasoby i po prostu nie może z tym konkurować.
Problem polega na tym, że bez zbudowania działającego prototypu w celu wykazania rentowności, trudno będzie uzyskać finansowanie. Podstawową ideą Nordic Thingy: 91 jest zastąpienie jednego lub więcej z tych elementów w łańcuchu zagadnień, aby przetestować i udowodnić swój pomysł. Systemy wbudowane i komunikacyjne stają się coraz bardziej złożone, co jest szczególnie prawdziwe w przypadku sieci komórkowej. Thingy: 91 usuwa tę złożoność, a co najważniejsze, firma deklaruje, że całość działa od momentu otwarcia pudełka [13]. Jednak wydaje się, że deklaracja producenta o prototypowaniu w kilka dni, zamieszczona w artykule [3], wydaje się zbliżona do rzeczywistości. Przeprowadzone pierwsze próby z zestawem Thingy: 91 wyglądały jakby „praca szła” zaraz po rozpakowaniu zestawu. Nie udało się jednak ustalić jak skorzystać z komunikacji BLE oraz NFC.
Zestaw Thingy:91 ma bardzo „elegancką” konstrukcję elektroniczną. Umożliwia komunikację na wiele sposobów: LTE-M/NB-IoT, GPS, BLE/ Bluetooth mesh/Thread/Zigbee/IEEE 802.15.4/ ANT, NFC oraz USB/UART. Udostępnia bardzo nowoczesne scalone układy czujnikowe, szczególnie układ pomiaru jakości powietrza. Układ scalony zarządzania zasilaniem (ADP536x firmy Analog Devices) jest tak nowy, że nie jest jeszcze dostępny jego opis. Jednak to są dopiero pierwsze tygodnie po wprowadzeniu zestawu Thingy:91 na rynek. I podobnie jak w przypadku poprzedniego zestawu IoT tej firmy wsparcie użytkowe i programowe ułatwi życie programistom.
Dopiero teraz startuje w Polsce udostępnianie transmisji standardu LTE-M/NB-IoT. Powyższy opis jest tylko pierwszym spojrzeniem na zestaw Thingy:91. Kolejnym krokiem będzie rozpoczęcie programowania modułu SIP. Ale to już w przyszłości.
Henryk A. Kowalski
Instytut Informatyki
Politechnika Warszawska

Artykuł ukazał się w
Elektronika Praktyczna
listopad 2019
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio kwiecień 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje marzec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna marzec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich kwiecień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów