Internet Rzeczy w pomiarach środowiskowych (1). Nordic Thingy:53 - platforma prototypowania IoT z uczeniem maszynowym (ML)

Internet Rzeczy w pomiarach środowiskowych (1). Nordic Thingy:53 - platforma prototypowania IoT z uczeniem maszynowym (ML)

Nordic Thingy:53 firmy Nordic Semiconductor to łatwa w użyciu platforma do eksperymentów w zakresie Internetu Rzeczy. Umożliwia tworzenie prototypów systemów IoT bez konieczności budowania niestandardowego sprzętu. Moduł Thingy:53 jest zbudowany z zastosowaniem układu scalonego nRF5340 - dwurdzeniowego procesora komunikacyjnego SoC. Moc obliczeniowa i rozmiar pamięci dwóch rdzeni Arm Cortex-M33 umożliwiają uruchamianie wbudowanych modeli uczenia maszynowego (ML) bezpośrednio na urządzeniu.

Autor składa podziękowania Panu Maciejowi Michnie z Centrum Badań i Rozwoju Nordic Semiconductor w Krakowie za udostępnienie modułów sprzętowych Nordic Thingy:53.

Po wprowadzeniu pakietów deweloperskich Thingy:52 oraz Thingy:91 IoT odpowiednio w latach 2017 i 2019, norweska firma wypuściła w roku 2022 nową platformę Thingy:53, opartą na dwurdzeniowym SoC. Nordic Thingy:53 zawiera czujniki, które zbierają dane o jego własnych ruchach i otaczającym środowisku. Informacje dotyczące temperatury, wilgotności, jakości i ciśnienia powietrza, a także dźwięku oraz koloru i natężenia światła można łatwo wyodrębnić do analizy lokalnej lub zdalnej. Nordic Thingy:53 ma także dwa przyciski, diodę LED RGB oraz brzęczyk.

Pudełko zestawu Nordic Thingy:53 zawiera kilka elementów (rysunek 1) [1]:

  • płytkę drukowaną (PCA20053) w plastikowej, dwuczęściowej (czarna i czerwona) obudowie z akumulatorkiem i dołączoną anteną NFC (PCA64110) (rysunek tytułowy [1]),
  • ulotkę informacyjną,
  • kartę rozszerzeń (PCA64142) do pomiaru prądu i debugowania.
Rysunek 1. Elementy zestawu Nordic Thingy:53 [2]

Nordic Thingy:53 bazuje na trzech głównych układach scalonych firmy Nordic Semiconductor: nRF5340 (dwurdzeniowy procesor komunikacyjny SoC), nRF21540 (RF FEM ze wzmacniaczem mocy RF (PA) i wzmacniaczem niskoszumowym (LNA)) oraz nPM1100 (układ scalony zarządzania zasilaniem, w skrócie PMIC).

Kluczowe cechy Nordic Thingy:53 [2]

  • Układ scalony nRF5340, który obsługuje Bluetooth Low Energy, 802.15.4 i komunikację Near Field Communication (NFC) jako znacznik pasywny.
  • Scalony front-end RF nRF21540 (FEM) dla zwiększenia zasięgu,
  • Układ scalony zarządzania zasilaniem (PMIC) typu nPM1100 do zarządzania energią i ładowania akumulatora litowo-polimerowego (Li-Poly).
  • Dwie anteny 2,4 GHz i jedna pasywna antena NFC (elastyczna płytka drukowana).
  • Wkładana karta rozszerzeń do pomiaru prądu i debugowania, ułatwiająca profilowanie mocy i pracę nad oprogramowaniem.
  • Złącze kompatybilne z Qwiic i STEMMA QT do podłączania modułów zewnętrznych.
  • Przyciski programowalne przez użytkownika i dioda LED RGB.
  • Czujnik środowiskowy temperatury, wilgotności, jakości i ciśnienia powietrza.
  • Czujnik koloru i natężenia światła.
  • Akcelerometr o niskim poborze mocy.
  • 6-osiowy IMU z żyroskopem i akcelerometrem.
  • Magnetometr.
  • Mikrofon z modulacją gęstości impulsów (PDM) z funkcją budzenia dźwiękiem.
  • Brzęczyk.
  • Pamięć zewnętrzna 64 Mb z interfejsem Quad Serial Peripheral Interface (QSPI).
  • Akumulator Li-Poly o pojemności 1350 mAh.
  • Gniazdko USB-C do podłączenia do komputera i ładowania akumulatora.
  • Normalny zakres temperatur pracy 0…35°C.

Układ scalony procesora komunikacyjnego nRF5340 [7]

Rdzeń aplikacyjny:

  • 128/64 MHz Arm Cortex-M33 z technologią TrustZone,
  • 1 MB pamięci Flash i 512 kB pamięci RAM o niskim poborze prądu,
  • Podsystem bezpieczeństwa ARM TrustZone CryptoCell-312,
  • Układ peryferyjny QSPI do komunikacji z zewnętrzną pamięcią Flash (tryb Execute--In-Place (XIP) z opcjonalnym szyfrowaniem i deszyfrowaniem w locie,
  • Znacznik NFC-A z polem wybudzania i funkcją "dotknij, aby sparować",
  • Do pięciu urządzeń master/slave SPI z EasyDMA,
  • Do czterech I²C z EasyDMA (kompatybilne z układami pracującymi w trybach master/slave),
  • Do czterech bloków UART (obsługujących linie CTS/RTS) z EasyDMA,
  • Urządzenia peryferyjne audio: I²C, interfejs mikrofonu cyfrowego (PDM),
  • Do czterech bloków PWM z EasyDMA,
  • Przetwornik ADC, 12-bitowy, 200 kSps z EasyDMA, osiem konfigurowalnych kanałów z programowalnym wzmocnieniem,
  • USB Full-speed (12 Mb/s).
  • Rdzeń komunikacyjny ("radiowy"):
  • 64 MHz ARM Cortex-M33,
  • 256 kB pamięci Flash i 64 kB pamięci RAM o niskim poborze prądu,
  • Transceiver obsługujący Bluetooth 5.2, IEEE 802.15.4-2006, 2,4 GHz,
  • Master/slave SPI z EasyDMA,
  • I²C z EasyDMA kompatybilny z układami pracującymi w trybach master/slave,
  • UART (CTS/RTS) z EasyDMA.

Układ scalony rozszerzenia zasięgu nRF21540 [8]

  • FEM (Front-End Module) ze wzmacniaczem mocy RF (PA) i wzmacniaczem niskoszumnym (LNA),
  • Obsługuje Bluetooth Low Energy, IEEE 802.15.4 i aplikacje firmowe,
  • Moc wyjściowa 20 dBm przy 3,0 V (+22 dBm przy 3,6 V),
  • Regulowana moc wyjściowa z dokładnością do ±1 dB w zakresie od 5 do 21 dBm,
  • Wzmocnienie odbioru +13 dB,
  • Interfejs sterowania poprzez I/O, SPI lub ich kombinację.

Układ scalony zarządzania zasilaniem nPM1100 [9]

  • Liniowa ładowarka akumulatorów Li-Ion/Li-Poly 400 mA z zabezpieczeniem termicznym:
    • Automatyczne ładowanie podtrzymujące, ładowanie stałym prądem i stałym napięciem,
    • Zabezpieczenie termiczne akumulatora,
    • Ograniczenie prądu rozładowania.
  • Regulator obniżający napięcie 1,8…3,0 V, 150 mA:
    • Automatyczne przejście pomiędzy trybem histerezy i PWM,
    • Wymuszony tryb PWM, zapewniający zasilanie z niskim poziomem zakłóceń.
  • Regulator wejściowy z ograniczeniem prądu, zgodnym z USB 100 mA i 500 mA:
    • Zakres napięcia wejściowego 4,1…6,7 V dla normalnej pracy.
  • Sterowniki LED do sygnalizacji stanu ładowarki.
  • Zakres napięć wejściowych dla zasilania akumulatorowego 2,3…4,35 V.

Na schemacie blokowym (rysunek 2) można zobaczyć połączenia pomiędzy komponentami sprzętowymi płytki Nordic Thingy:53. Cztery szare prostokąty reprezentują układy kluczy, umożliwiających pomiar prądu.

Rysunek 2. Schemat blokowy Nordic Thingy:53 [2]

Nordic Thingy:53 wykorzystuje układ scalony interfejsu radiowego nRF21540 (U2), aby poprawić zasięg i niezawodność połączenia. nRF21540 umożliwia wzmocnienie RX do +13 dB, niski poziom szumów 2,5 dB i moc wyjściową TX do +21 dBm (rysunek 3). Wyjście anteny (ANT) układu nRF5340 SoC jest podłączone do przełącznika radiowego PE4259 firmy Murata (U17), który umożliwia wybór tylko jednej z dwóch anten w danym momencie: A1 (dołączonej do nRF21540, TX +20 dBm max.) lub A2 (dołączonej do nRF5340, TX +5 dBm max.). Anteny są dołączone poprzez gniazda radiowe z wyłącznikiem (SWF firmy Murata), co pozwala na wpięcie zewnętrznej anteny lub miernika mocy RF.

Rysunek 3. Układ scalony interfejsu radiowego nRF21540 (RF FEM) [2]

Złącze USB-C

Złącze USB-C (J6) jest podłączone do interfejsu USB w nRF5340 SoC i nPM1100 PMIC. Umożliwia komunikację Nordic Thingy:53 z komputerem oraz pozwala na ładowanie akumulatora.

Czujniki ruchu

Nordic Thingy:53 zawiera 3-osiowy akcelerometr małej mocy ADXL362 (U8), 6-osiowy IMU BMI270 (U7), integrujący w sobie akcelerometr i żyroskop, a także 3-osiowy magnetometr BMM150 (U12).

ADXL362 firmy Analog Devices to 3-osiowy akcelerometr MEMS o bardzo niskim poborze mocy, który pobiera mniej niż 2 µA przy wyjściowej szybkości transmisji danych równej 100 Hz i 270 nA w trybie uśpienia z budzeniem, wyzwalanym przez ruch. Oprócz wyjątkowo niskiego zużycia energii, ADXL362 ma także wiele funkcji, umożliwiających dalszą redukcję mocy na poziomie systemowym. Zawiera wyjście FIFO, wbudowany czujnik temperatury z mikrozasilaniem i kilka trybów wykrywania aktywności, w tym regulowany próg uśpienia i budzenia, który może działać z zasilaniem na poziomie 270 nA przy (przybliżonej) częstotliwości pomiaru 6 Hz.

Gdy Nordic Thingy:53 znajduje się w trybie uśpienia o niskim poborze mocy, akcelerometr ADXL362 wykrywa wszelkie interakcje użytkownika. Sensor możne być użyty do wygenerowania przerwania (GPIO), które obudzi urządzenie, zawiera ponadto szeregowy interfejs peryferyjny (SPI) i może wykrywać ruch w trzech osiach.

6-osiowy IMU BMI270 firmy Bosch to inteligentny moduł IMU o bardzo niskim poborze mocy, łączący w sobie 16-bitowy, trójosiowy żyroskop i 16-bitowy, trójosiowy akcelerometr. Czujnik integruje precyzyjny pomiar przyspieszenia i prędkości kątowej z inteligentnymi funkcjami przerwań wyzwalanych ruchem. BMI270 umożliwia intuicyjne rozpoznawanie gestów, kontekstu i aktywności, a to za sprawą zintegrowanego licznika kroków, działającego na zasadzie "plug-and-play".

Magnetometr BMM150 firmy Bosch to 3-osiowy cyfrowy czujnik geomagnetyczny. BMM150 zapewnia absolutną orientację przestrzenną i wektory ruchu z dużą dokładnością i dynamiką. Można go używać jako samodzielne urządzenie lub w połączeniu z 6-osiowym IMU BMI270. Magnetometr można podłączyć do pomocniczej magistrali I²C 6-osiowego IMU, aby zapewnić synchronizację próbkowania danych. Oznacza to, że dane magnetometru są próbkowane w tym samym czasie, co dane akcelerometru i żyroskopu. Może to być ważne szczególnie w przypadku zastosowań, związanych z fuzją danych z czujników.

Czujniki środowiskowe

Scalony układ czujnika otoczenia BME688 firmy Bosch (U9) z interfejsem I²C to pierwszy czujnik jakości powietrza ze sztuczną inteligencją (AI) i zintegrowanymi czujnikami ciśnienia, wilgotności i temperatury o wysokiej liniowości i doskonałej dokładności. Sensor został dokładnie opisany w artykule "Czujnik gazu Bosch BME688 ze Sztuczną Inteligencją" [18].

Czujnik koloru BH1749 firmy Rohm (U10) wykrywa światło czerwone, zielone, niebieskie (RGB) oraz podczerwień i konwertuje wyniki pomiarów na wartości cyfrowe. Wysoka czułość, szeroki zakres dynamiki i doskonała charakterystyka filtru blokującego podczerwień umożliwiają wykonywanie za pomocą omawianego układu dokładnych pomiarów oświetlenia i temperatury barwowej światła otoczenia. Czujnik znajduje się pod światłowodem dla LED RGB, który kieruje światło na czujnik.

Mikrofon i brzęczyk

Mikrofon PDM VM3011 firmy Vesper (U13) zbiera sygnał wejściowy audio. Układ ma również funkcję Wake-on-Sound, której można użyć do wybudzenia SoC nRF5340, gdy zdarzenie audio przekroczy ustawiony próg głośności.

W roli wyjściowego urządzenia audio moduł Nordic Thingy:53 ma brzęczyk piezoelektryczny (BZ1). Przetwornik jest sterowany przez tranzystor z wykorzystaniem wyjścia PWM.

Pamięć zewnętrzna

Nordic Thingy:53 ma wbudowaną zewnętrzną pamięć Flash o pojemności 64 Mb (U15). Układ MX25R6435F firmy Macronix jest pamięcią typu multi-I/O, obsługującą zwykły interfejs SPI oraz QSPI.

Diody i przyciski

Interfejs użytkownika Nordic Thingy:53 składa się z diody LED RGB (sterowanej tranzystorami) i dwóch przycisków. Duży przycisk (SW3), umieszczony w środku czarnej pokrywki, jest przeznaczony do dowolnego zaprogramowania przez użytkownika. Mały przycisk (SW2), znajdujący się tuż obok, umożliwia wprowadzenie procesora w tryb bootowania.

Zasilanie

Nordic Thingy:53 ma wbudowany układ scalony nPM1100 (PMIC) (U3) do zarządzania energią i ładowania akumulatora. Został on dokładnie opisany w artykule "Układ scalony zarządzania zasilaniem nPM1100" [17]. Układ nPM1100 PMIC oferuje dwa wyjścia napięcia (rysunek 4) [17]:

  • Nieregulowane wyjście VSYS (3,2-4,2 V),
  • Wyjście VOUTB (3,0 V).
Rysunek 4. Układ scalony nPM1100 (PMIC) zarządzania energią i ładowania akumulatora [2]

Nieregulowane wyjście VSYS służy do zasilania zewnętrznego regulatora 3V3 i brzęczyka (BZ1). Stabilizator LDO 3V3 zasila diodę LED RGB (LD1) i wszelkie karty zewnętrzne, podłączone do złącza karty rozszerzeń (P1).

Domena VOUTB jest skonfigurowana na napięcie 3,0 V i służy do zasilania układów nRF5340, nRF21540 i wszystkich czujników.

Głównym źródłem zasilania Nordic Thingy:53 jest akumulator litowo-polimerowy o pojemności 1350 mAh. Można go ładować poprzez USB. Akumulator Li-Poly jest podłączony bezpośrednio do układu scalonego zarządzania zasilaniem nPM1100 (PMIC) (U3), który zapewnia ładowanie niezależnie od położenia wyłącznika zasilania (SW1). Limit prądu ładowarki akumulatora nPM1100 PMIC jest ustawiony na 400 mA, ale rzeczywisty prąd ładowania zależy od limitu prądu, pobieranego z łącza USB poprzez VBUS. nPM1100 PMIC automatycznie wykrywa, czy jest podłączony do standardowego portu pobierania danych (SDP), tzw. dedykowanego portu ładowania (DCP) lub portu pobierania danych i ładowania (CDP) uniwersalnej magistrali szeregowej (USB) i ustawia limit prądu VBUS zgodnie z typem portu USB.

W pozycji ON wyłącznika zasilania (SW1) układ nPM1100 PMIC dostarcza zasilanie do pozostałej części płytki poprzez linie VSYS i VOUTB. Gdy wyłącznik zasilania znajduje się w pozycji OFF, obie domeny napięcia nPM1100 PMIC są odłączone. Wtedy obwód odprowadza ładunek z kondensatorów, podłączonych do szyny zasilania VOUTB.

Monitor napięcia akumulatora

Nordic Thingy:53 zawiera obwód monitorowania akumulatora, który umożliwia próbkowanie napięcia akumulatora przez przetwornik ADC układu nRF5340. Tranzystory Q7A i Q7B pozwalają na włączenie wykrywania napięcia akumulatora poprzez dzielnik rezystancyjny (R11 i R15).

Regulator 3,3 V

Nordic Thingy:53 może zasilać urządzenia zewnętrzne prądem do 300 mA poprzez stabilizator 3,3 V (U6), podłączony do wyjścia VSYS układu nPM1100.

Sterowanie zasilaniem czujników

Zasilanie czujników w Nordic Thingy:53 można wyłączyć za pomocą przełącznika TCK106 (U19), który jest sterowany z wyprowadzenia układu nRF5340.

Pomiar prądu

Do czteropunktowego pomiaru prądów w Nordic Thingy:53 można użyć znajdującej się w zestawie karty rozszerzeń PCA64142. Przełączniki obciążenia U4, U5, U11 i U14 typu TCK106 na płytce Nordic Thingy:53 są odłączone, gdy płytka pomiaru prądu i debugowania Nordic Thingy:53 jest włożona do gniazdka kart rozszerzeń (P9). Zamiast nich używane są wtedy złącza P1-P4, znajdujące się na płytce pomiaru prądu i umożliwiające próbkowanie następujących parametrów:

  • Prądu (V_bat), płynącego do układu nPM1100 z akumulatora (VLi_Ion) przez złącze P1,
  • Prądu (VDD_nRF53), płynącego do układu nRF5340 z szyny VOUTB przez złącze P2,
  • Prądu (VDD_nRF21540), płynącego do układu nRF21540 z szyny VOUTB przez złącze P3,
  • Prądu (VDD_EXP_BRD), płynącego do urządzeń zewnętrznych z regulatora 3V3 poprzez złącze P4.

Interfejs programowania i debugowania

Nordic Thingy:53 zawiera złącze (10x, 1 mm) interfejsu programowania i debugowania (P8). Interfejs ten jest dostępny także na złączu interfejsu kart rozszerzeń (P9).

Interfejs kart rozszerzeń (pomiaru prądu i debugowania)

Zestaw Nordic Thingy:53 jest wyposażony w kartę do pomiaru prądu i debugowania (PCA64142), którą można włożyć do złącza krawędziowego kart rozszerzeń P9 płytki Nordic Thingy:53 (rysunek 5 - szczelina pod wyłącznikiem zasilania). Płytka pomiaru prądu i debugowania upraszcza zadanie monitorowania poboru prądu w czterech różnych szynach zasilania za pomocą narzędzia do profilowania mocy, takiego jak zestaw Power Profiler Kit II. Interfejs umożliwia także podłączenie zewnętrznych obwodów lub płytek do Nordic Thingy:53 poprzez użycie wyprowadzeń TRACE jako zwykłych wejść/wyjść ogólnego przeznaczenia (GPIO). Piny są domyślnie skonfigurowane jako GPIO. Zewnętrzne obciążenia można podłączyć do napięć VOUTB lub 3V3. Maksymalne obciążenie VOUTB wynosi 150 mA, a najwyższe dozwolone obciążenie przez obwody zewnętrzne na szynie VOUTB zależy od całkowitego wewnętrznego poboru prądu. Maksymalne obciążenie szyny 3V3 wynosi 300 mA.

Rysunek 5. Rozmieszczenie złącz Nordic Thingy:53 [3]

Interfejs modułów zewnętrznych

Złącze P1 na płytce Nordic Thingy:53 może być używane do podłączania modułów zewnętrznych i jest kompatybilne z Qwiic oraz STEMMA QT (raster 1 mm). Złącze P1 jest kompatybilne również z modułami prototypowymi STEMMA, Grove i DFRobot Gravity, ale wymagają one kabla do konwersji ze złącza o rozstawie 1 mm na złącze o rozstawie 2 mm.

Złącza, punkty testowe i mostki lutownicze

Nordic Thingy:53 ma szereg złączy z wyprowadzonymi szynami zasilania, kilka punktów testowych oraz szereg mostków lutowniczych, umożliwiających włączanie i wyłączanie poszczególnych funkcjonalności. Zmiany w nich nie są potrzebne do normalnego użytkowania Nordic Thingy:53.

Konstrukcja

Na czerwonej klapce z boku obudowy znajdują się ikonki złączy, umieszczonych pod nią, od lewej: wyłącznik zasilania (pod nim znajduje się szczelina interfejsu kart rozszerzeń), złącze USB-C, złącze interfejsu modułów zewnętrznych oraz złącze interfejsu kart rozszerzeń (pomiaru prądu i debugowania). Na środku czarnej obudowy (góra) producent umieścił przycisk użytkownika (rysunek 5).

Ułożenie elementów na płytce Nordic Thingy:53 w widokach z góry i z dołu pokazano na rysunku 6.

Rysunek 6. Rozmieszczenie elementów na płytce Nordic Thingy:53 (widok z góry i z dołu) [3]

Dokumentacja

Dokumenty udostępnione przez Nordic Semiconductor w postaci plików PDF to: "Nordic Thingy:53 Hardware User Guide" [2] oraz "Nordic Thingy:53 Product Brief" [3]. Pozostałe materiały są dostępne w postaci stron internetowych. Najważniejsze informacje zawiera strona produktu "Nordic Thingy:53 IoT prototyping platform" [1], zawierająca linki do kolejnych stron dokumentacji: "Nordic Thingy:53 Hardware description" [4], "Getting started with Thingy:53" [5] oraz "Developing with Thingy:53" [6]. Ponadto do dyspozycji użytkowników producent oddał też portal wsparcia technicznego "DevZone" [10].

Na zakładce Downloads strony produktu [1] jest dostępny plik z dokumentacją techniczną, w tym schematy sprzętowe i obrazy warstw płytki drukowanej wraz z oryginalnym projektem dla środowiska Altium Designer. W tym samym miejscu można również znaleźć plik z prekompilowaną najnowszą wersją oprogramowania firmowego zestawu.

Rozpoczęcie korzystania z Thingy:53 zostało dobrze opisane w raporcie z praktycznych eksperymentów [12], a praca z modelami ML oraz zastosowanie aplikacji komputerowych i mobilnych opisano w następnych eksperymentach [13, 14]. Bardzo dobrym wstępem do zapoznania się z zestawem jest zapis wideo webinariów firmowych [15]. Doskonałe wprowadzenie do uczenia maszynowego stanowi strona "nRF Machine Learning" [11].

Bardzo ciekawą inicjatywą jest także "Nordic Developer Academy" - interaktywna platforma edukacyjna online, która zapewnia programistom informacje techniczne i know-how, dotyczące tworzenia produktów bezprzewodowych przy użyciu rozwiązań Nordic Semiconductor [19]. W oparciu o Thingy:53 można realizować program kursu "nRF Connect SDK Fundamentals" - praktycznego, samodzielnego szkolenia online, skupiającego się na nauce podstaw tworzenia oprogramowania sprzętowego.

Aplikacja mobilna nRF Edge Impulse

Każdy Nordic Thingy:53 ma fabrycznie zainstalowany program "Edge Impulse firmware", zawierający domyślny model rozpoznawania ruchu [16]. Program jest kompatybilny z aplikacją mobilną nRF Edge Impulse oraz środowiskiem programowym Edge Impulse Studio.

Aplikacja mobilna nRF Edge Impulse została opracowana we współpracy z firmą Edge Impulse w celu szkolenia i wdrażania wbudowanych modeli uczenia maszynowego na Nordic Thingy:53 przy użyciu Edge Impulse Studio. Aplikacja umożliwia przesyłanie nieprzetworzonych danych z czujnika za pośrednictwem urządzenia mobilnego do opartego na chmurze Edge Impulse Studio i wdrażanie w pełni wytrenowanych modeli ML w Nordic Thingy:53 przez Bluetooth Low Energy (BLE). Aplikacja pozwala na wybór pomiędzy istniejącymi projektami w danych Edge Impulse Studio lub utworzeniem nowego projektu. Umożliwia też zbieranie danych z czujników. Zgromadzone bazy dane można oznaczyć jako treningowe lub testowe i korzystać z nich bezpośrednio w aplikacji za pomocą modelu uczenia maszynowego, wpisanego do Nordic Thingy:53.

Pierwsze kroki

Na zakładce "Get Started" strony produktu [1] opisanych zostało osiem kroków, niezbędnych do rozpoczęcia pracy z oprogramowaniem firmowym zestawu Nordic Thingy:53. Opis ten rozmija się z aktualną wersją aplikacji. Na szczęście istnieje też dokumentacja, udostępniona przez firmę Edge Impulse na stronie "Nordic Semi Thingy:53" [16].

Rozpoczęcie korzystania z Thingy:53 jest dość łatwe. Można wypróbować wbudowany model Edge Impulse, który jest domyślnie zainstalowany fabrycznie we wszystkich Thingy:53. Zasadniczo jest to model wykrywania ruchu, który informuje o stanie bezczynności, ruchu węża, ruchu w górę i w dół oraz ruchu falowego [12].

Aby samodzielnie przetestować działanie omawianego ekosystemu, należy wykonać następujące kroki.

  • Pobierz i zainstaluj na smartfonie aplikację "nRF Edge Impulse" ze sklepu Play lub App Store.
  • Załóż bezpłatne konto w aplikacji lub na stronie Edge Impulse.
  • Otwórz klapkę i przesuń wyłącznik zasilania do pozycji "I". Zobaczysz migające niebieskie i zielone światło.
  • Włącz obsługę transmisji Bluetooth na smartfonie.
  • Uruchom aplikację.
  • Zaloguj się do swojego konta.
  • Utwórz nowy projekt -> Wprowadź nazwę swojego projektu (rysunek 7a).
  • W dodanych urządzeniach zobaczysz nazwę "Edge Impulse" (rysunek 7b). Kliknij na pole nazwy, a urządzenie zostanie połączone. Po podłączeniu Thingy:53 będzie świecić stale czerwonym światłem.

Uwaga: Przy następnym uruchomieniu aplikacji pokazywane są (na niebiesko) aktywne zestawy Nordic Thingy:53 z programem Edge Impulse. W tym momencie widoczna będzie nazwa Edge Impulse, a także adres sieci Bluetooth. Kliknij na pole nazwy zestawu i w następnym oknie wybierz przycisk Connect.

Testowanie modelu domyślnego

Na dole okna aplikacji znajduje się menu, udostępniające cztery sposoby pracy (rysunek 7c):

  • Zakładka Devices (wybrana) pokazuje ustawienia zestawu i wszystkich czujników,
  • Zakładka Data umożliwia zbieranie danych jako treningowe lub testowe,
  • Zakładka Deployment umożliwia prace, z modelami ML,
  • Zakładka Inferencing (wnioskowanie) pozwala na zbieranie danych i wnioskowanie.
  • Wybierz zakładkę Inferencing i kliknij na przycisk START.

Jeśli Twój Thingy:53 będzie leżał stabilnie, to zostanie wyświetlony rezultat wnioskowania "bezczynność", wykonany przez Thingy:53 (rysunek 7d).

Niebieska dioda LED będzie migać za każdym razem, gdy układ wyśle odpowiedź do aplikacji Edge Impulse.

  • Poruszaj zestawem (dosyć energicznie) do góry i w dół, a następnie na boki.
  • Zmiany wartości zobaczysz w aplikacji. W oknie aplikacji wyświetlane są rezultaty wnioskowania dla kolejnych porcji danych (rysunek 7d).
  • Po zakończeniu testowania kliknij przycisk STOP.
Rysunek 7. Okna aplikacji nRF Edge Impulse podczas pracy

Opis aktualnej wersji aplikacji jest dostępny na stronie "Nordic Semi Thingy:53" [16]. Udokumentowana została też aktualizacja oprogramowania firmowego Thingy:53 w sposób bezpośredni (USB) i z zastosowaniem aplikacji mobilnej nRF Programmer (BLE).

Podsumowanie

Nordic Thingy:53 firmy Nordic Semiconductor udostępnia łatwy sposób rozpoczęcia prawdziwej pracy z zastosowaniem uczenia maszynowego, wykonywanego bezpośrednio na urządzeniu IoT. Zainstalowany fabrycznie program z modelem rozpoznawania gestów pracuje "prosto z pudełka". Zastosowane w urządzeniu najnowsze czujniki pozwalają na rejestrowanie danych wysokiej jakości. Zagadnienia dotyczące programowego zastosowania Thingy:53 są na tyle obszerne, że zostaną omówione osobno.

Henryk A. Kowalski
Instytut Informatyki
Politechnika Warszawska

Literatura:
[1] Nordic Thingy:53 IoT prototyping platform, Nordic Semiconductor, https://t.ly/kgyJQ
[2] Nordic Thingy:53 Hardware, User Guide, 2023-04-12, https://t.ly/Jgtkg
[3] Nordic Thingy:53 Product Brief Version 1.1, https://t.ly/sY5iN
[4] Nordic Thingy:53 Hardware description, 2023-04-12 https://t.ly/Nmrpv
[5] Getting started with Thingy:53, Nov 09, 2023, https://t.ly/_5yEI
[6] Developing with Thingy:53, Nordic Semiconductor, Nov 09, 2023, https://tiny.pl/cspvf
[7] nRF5340 System-on-Chip, https://tiny.pl/cspvd
[8] nRF21540 RF FEM, https://tiny.pl/cspv5
[9] nPM1100 Power Management IC, https://tiny.pl/cspv1
[10] DevZone, https://devzone.nordicsemi.com/
[11] nRF Machine Learning, nRF Connect SDK 2.5.99, Nov 09, 2023, https://tiny.pl/cspvj
[12] Roadtest Product Review of the Nordic Thingy:53 with Edge Impulse, 27 Feb 2023, https://tiny.pl/cspvp
[13] Nordic Thingy:53 review - Basics simple projects, https://tiny.pl/cspvl
[14] ROADTEST REVIEW: Nordic Semiconductor Thingy:53 development platform, 26 Mar 2023, https://tiny.pl/cspv4
[15] Say hello to Thingy:53 - The prototyping platform for embedded ML, Nordic Semiconductor, July 08, 2022, https://tiny.pl/cspvn
[16] Nordic Semi Thingy:53, 2023, https://tiny.pl/cspvk
[17] Układ scalony zarządzania zasilaniem nPM1100, EP 3/2022, https://tiny.pl/cspv2
[18] Czujnik gazu Bosch BME688 ze Sztuczną Inteligencją, EP11/2021, https://tiny.pl/cspv8
[19] Nordic Developer Academy, Nordic Semiconductor, https://tiny.pl/cspvs

Artykuł ukazał się w
Elektronika Praktyczna
styczeń 2024

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów