Pokročilé aplikace pro Asset Tracking, tedy sledování majetku, aktiv nebo zboží, jako je monitorování chovných zvířat, správa vozového parku či logistika, automaticky zachycují informace o aktuálním stavu a souřadnice polohy sledovaných objektů. Vestavěný transpondér přenáší zaznamenaná data do cloudu a zpřístupňuje je řídicímu centru nebo mobilnímu zařízení. Naproti tomu v průmyslovém provozu jsou často vyžadovány aktualizace bezdrátových dat na krátké vzdálenosti pro výměnu logistických dat, zpracování historie a monitorování dat, změnu konfigurací nebo aktualizaci firmwaru v paměti transpondéru.
Základem vývoje systému pro Asset Tracking je transpondér s vícenásobnou konektivitou, který komunikuje prostřednictvím různých rádiových protokolů dlouhého i krátkého dosahu, shromažďuje širokou škálu naměřených dat a funguje měsíce bez výměny baterie. Zároveň je nutné dosáhnout velmi krátké doby uvedení na trh. Mnoho času lze ušetřit použitím vývojové sady, které již má integrovanou velkou část požadovaného hardware a software. Vývojová deska STEVAL-ASTRA1B, která je založena na dvou nízkoenergetických SoC modulech s konektivitou krátkého a dlouhého dosahu včetně technologie NFC, splňuje všechny výše popsané požadavky.
Tento článek obecně uvede technické požadavky pokročilého systému Asset Tracking. Poté detailně představí vývojovou desku STEVAL-ASTRA1B s vícenásobnou konektivitou od STMicroelectronics, která výrazně zkrátí čas potřebný pro návrh prototypu, testování a celkové vyhodnocení dané aplikace.
Vlastnosti bezdrátového měřicího transpondéru
Asset Tracking má širokou škálu použití, z nichž každé vyžaduje velmi specifické technické vybavení pro transpondér a propojenou síť. Od správy vozového parku až po monitorování dobytka. Na obrázku 1 jsou uvedeny technické vlastnosti bezdrátového měřicího transpondéru rozdělených do čtyř kategorií.
Obrázek 1: Funkce bezdrátového měřicího transpondéru závisí na konkrétní aplikaci. (Zdroj obrázku: STMicroelectronics)
Autonomní transpondér musí detekovat okolní prostředí, polohu i stav sledovaného objektu (Sensing), uložit data do interní paměti a při nejbližší příležitosti je předat prostřednictvím bezdrátového rozhraní do systému (Connectivity). Zpracování signálu a převod na různé bezdrátové protokoly musí být řešeno dostatečně výkonným mikrokontrolerem (MCU) s vysokým stupněm zabezpečení dat (Processing & security). MCU také řídí spotřebu energie transpondéru (Power management) a zajišťuje tak dlouhou životnost baterie.
Požadavky na dostupnost dat ovlivňuje složitost senzorů a výběr odpovídajícího komunikačního rozhraní. Například pro doručování balíků stačí pouhé uložení naměřených dat do transpondéru. Data lze poté načíst pomocí nízkoenergetického Bluetooth BLE nebo NFC na dalším logistickém kontrolním bodu. V případě správy vozového parku nebo sledování hospodářských zvířat na velké vzdálenosti je nutné zajisti přenos dat z transpondéru přes cloud do koncové aplikace co nejblíže reálnému času. Transpondér proto vyžaduje mobilní rádiové rozhraní v podobě LoRaWAN nebo Sigfox a Narrowband-Internet of Things (NB-IoT). Tyto protokoly jsou optimalizovány pro energeticky úsporné datové přenosy.
Kompletní platforma pro Asset Tracking
Vývoj aplikace pro Asset Tracking lze zrychlit a zjednodušit pomocí multifunkční platformy STEVAL-ASTRA1B od STMicroelectronics. Vývojová sada se skládá z modulární vyhodnocovací desky, firmwarových knihoven, programovacích nástrojů, příslušné dokumentace a aplikace pro mobilní zařízení či webové vizualizace v prohlížeči (obrázek 2).
Obrázek 2:Platforma pro Asset Tracking obsahuje multifunkční transpondéry, připojení do cloudu i koncovou aplikaci. (Zdroj obrázku: STMicroelectronics)
Vývojová deska STEVAL-ASTRA1B je založena na dvou nízkoenergetických SoC modulech s konektivitou krátkého a dlouhého dosahu včetně NFC. Součástí je také modul pro zabezpečení dat. Základní deska má několik senzorů okolního prostředí a pohybu včetně GNSS modulu, který poskytuje GPS souřadnice aktuální polohy a umožňuje tzv. geofencing. Integrovaný systém řízení spotřeby reguluje provozní režim všech integrovaných komponent. Sada obsahuje 480 mAh lithium-polymerovou baterii, SMA anténu pro LoRa a anténu NFC.
STEVAL-ASTRA1B obsahuje následující integrované obvody a SoC:
- STM32WB5MMGH6TR: SoC modul s integrovaným založený na 2,4GHz bezdrátovém Arm MCU Cortex-M4/M0+ s velmi nízkou spotřebou. Funguje jako hlavní aplikační procesor a podporuje 802.15.4, BLE 5.0, Thread a Zigbee
- STM32WL55JCI6: SoC modul s integrovaným bezdrátovým Arm MCU Cortex M0+ s velmi nízkou spotřebou a podporuje LoRa, Sigfox a GFSK na frekvencích nižších než 1 GHz (150 - 960MHz)
- ST25DV64K-JFR8D3: NFC vysílač
- TESEO-LIV3F: GNSS modul se simultánní multi-konstelací
- STTS22HTR: Digitální teplotní senzor; -40 až 125 °C
- LPS22HHTR: Snímač tlaku; 26 až 126 kPa
- HTS221TR: Snímač vlhkosti a teploty; 0 až 100 % relativní vlhkosti (RH) I2C, SPI ±4,5 % RH
- LIS2DTW12TR: Akcelerometr X, Y, osa Z; ±2g, 4g, 8g, 16g 0,8 Hz až 800 Hz
- LSM6DSO32XTR: Akcelerometr, gyroskop, teplotní senzor, I2C/SPI
- STSAFE-A110: Bezpečnostní čip
- ST1PS02BQTR: Buck spínací zdroj, vstup: 1,8 V až 5,5V, Výstup 1,0V až 3,3V( 400 mA)
- STBC03JR: Nabíječka Li-ion nebo Li-Poly baterií
- TCPP01-M12: USB Type-C a ochrana napájení
Vývojová deska pracuje při teplotách od +5 do 35°C a využívá následující frekvenční pásma:
- BLE: 2400 MHz až 2480 MHz, +6 dBm
- LoRaWAN: 863 MHz až 870 MHz, +14 dBm
- GNSS: 1559 MHz až 1610 MHz
- NFC: 13,56 MHz
Vnitřní struktura STEVAL-ASTRA1B
Transpondér ASTRA se chová jako datalogger a rozděluje svůj datový tok do tří hlavních bloků, z nichž každý se skládá z hardwarového a softwarového ovladače a také z aplikační vrstvy (obrázek 3). Vstup dat (obrázek 3, vlevo) zachycuje všechny signály senzoru. Centrální blok (obrázek 3, střed) zpracovává a ukládá data. Nakonec jsou uložená data bezdrátově přenesena do systému k dalšímu zpracování (obrázek 3 vpravo). V případě rekonfigurace, aktualizace firmware nebo zápisu procesních/logistických dat běží signálový tok opačným směrem.
Obrázek 3: Datový tok bezdrátového měřicího transpondéru: data ze senzorů (vlevo) jsou zpracovány, uloženy (uprostřed) a poté odeslány (vpravo). (Zdroj obrázku: STMicroelectronics)
Balíček FP-ATR-ASTRA1 rozšiřuje STM32Cube o kompletní aplikaci pro Asset Tracking s podporou LoRaWAN, Sigfox, BLE a NFC. Balíček obsahuje funkce pro vyčítání dat ze senzorů a GNSS modulu a vše posílá do mobilního zařízení přes BLE a současně do cloudu přes LoRaWAN konektivitu. Součástí balíčku FP-ATR-ASTRA1 jsou nízkoenergetické profily, které zajišťují dlouhou výdrž baterie. Nechybí ani bezpečnostní funkce, ladící funkce a možnost přidávat vlastní algoritmy.
Softwarový balíček je rozdělen na několik částí. Dokumentace, drivery a HAL(Hardware Abstraction Layer), middleware a aplikační příklady ve formě projektů. Projekty zahrnují zdrojový kód a zkompilované binární soubory pro integrovaná vývojová prostředí (IDE) Keil, IAR a STM32Cube. K dispozici je pět předdefinovaných případů použití: správa vozového parku, sledování dobytka, sledování zboží, logistika a upravitelný projekt pro uživatele.
STEVAL-ASTRA1B funguje jako jednoduchý stavový automat, který mění svůj provozní režim v závislosti na událostech. Dva hlavní stavy jsou navrženy pro plný provoz (Run) nebo nízkou spotřebu (LP). V režimu Run jsou všechny funkce aktivní a všechna data jsou vysílána podle konfigurace. Ve stavu LP jsou všechny součásti kromě MCU nastaveny do režimu nízké spotřeby nebo jsou deaktivovány (obrázek 4).
Obrázek 4: Dva hlavní provozní režimy STEVAL-ASTRA1B jsou plný provoz (Run) nebo režim LP. (Zdroj obrázku: STMicroelectronics)
Jedním z událostí je stisk tlačítka umístěného na boku. Dalším vstupem může být výstup z MEMS bloku nebo výsledek určitého algoritmu. Toto je jen příklad toho, jak lze implementovat stavový automat pro změnu chování zařízení.
Možné události jsou:
- BP: Button pressed event (Stisknutí tlačítka)
- SD: Shutdown event (Vypnutí)
- ER: Error event (Chybová událost)
- EP: Automatic transition to next step (Automatický přechod na další krok)
- RN: Go to full-run command (Přechod do normálního režim)
- LP: Go to low-power command (Přechod do úsporného režimu)
Načítání a vizualizace cloudových dat
Transpondér STEVAL-ASTRA1B má předinstalovaný balíček FP-ATR-ASTRA1, takže jsou k dispozici údaje o okolním prostředí a údaje o poloze díky GNSS. Tyto data lze vizuálně zobrazit uživateli během několika minut. Pomocí mobilní aplikace STAssetTracking je transpondér registrován na síťovém serveru TTN (The Things Network) V3 jako účastník LoRaWAN prostřednictvím uživatelského účtu myst.com. Je také propojen webovým panelem DSH-ASSETRACKING pomocí webových služeb Amazon (AWS).
Po registraci na serveru TTN se STEVAL-ASTRA1B objeví v seznamu zařízení v mobilní aplikaci. Stisknutím tlačítka "Start synchronization" v menu <Settings> se aktivuje režim vysílání transpondéru tak, aby paralelně odesílal uložená data přes BLE a LoRaWAN. Mobilní aplikace může zobrazit naměřená data z paměti a vyčíst polohu transpondéru nebo ji zobrazit přímo na mapě (obrázek 5).
Obrázek 5: Mobilní aplikace pomáhá zaregistrovat transpondér na serveru TTN a propojí ho s cloudovým dashboardem. (Zdroj obrázku: STMicroelectronics)
Kromě transpondéru může webový dashboard zobrazovat mnoho dalších bezdrátových sledovačů jako je P-L496G-CELL02 (LTE) a NUCLEO-S2868A2 (vysílač Sigfox RF) nebo uzly propojené s internetem, jako je STEVAL-SMARTAG1 (Wi-Fi), STEVAL-MKSBOX1V1 (koncový uzel BLE) a STEVAL-SMARTAG1 (koncový uzel NFC). To umožňuje vývoj cloudového víceprotokolového bezdrátového ekosystému.
Individuální konfigurace a programování
Jakmile bylo první uvedení do provozu úspěšně provedeno, dalším krokem je přizpůsobení transpondéru konkrétní aplikaci dle požadavků uživatele. Pro drobné úpravy může stačit změna konfiguračních parametrů prostřednictvím Bluetooth skrz mobilní aplikaci (stiskněte ikonu „Kladivo a Klíč“ v mobilní aplikaci, obrázek 5).
Dalším způsobem konfigurace projektu je použití příkazového řádku a ladicí konzoly. Zatímco počítačový terminálový program (např. Tera Term) komunikuje přes USB prostřednictvím virtuálního COM portu, mobilní zařízení používá aplikaci STBLESensor (ST BLE Sensor) a rozhraní Bluetooth (obrázek 6).
Obrázek 6: Příkazový řádek a ladicí konzole na PC (vlevo) a na mobilním zařízení (vpravo). (Zdroj obrázku: STMicroelectronics)
Transpondér lze přeprogramovat také pomocí rozhraní JTAG. Za tímto účelem je samostatně dostupný ladicí a programovací adaptér STLINK-V3MINIE, který se připojí pomocí 14 vodičového plochého kabelu. Pomocí vývojového prostředí Keil, IAR nebo STM32Cube lze pak přenést binární soubory nebo ladit aplikační kód. STLINK-V3MINI poskytuje virtuální COM port, který umožňuje hostitelskému PC komunikovat s cílovým mikrokontrolerem přes UART.
Existuje několik způsobů, jak aktualizovat firmware:
- Programátorem STM32Cube přes rozhraní JTAG
- Programátorem STM32Cube přes USB
- Upgrade firmware bezdrátově (FUOTA) přes Bluetooth pomocí aplikace STBLESensor
Konfigurace pomocí STM32CubeMX
STM32CubeMX umožňuje konfiguraci a generování C kódu pomocí grafického průvodce. Softwarový balík FP-ATR-ASTRA1 rozšiřuje funkcionalitu STM32Cube a lze jej nainstalovat přímo do IDE STM32CubeMX. Obrázek 7 ukazuje STM32CubeMX. Navigační část je vlevo nahoře, konfigurační sada FP-ATR-ASTRA1 (uprostřed) a její architektura (vpravo). Balíček FP-ATR-ASTRA1 nabízí tři karty pro přizpůsobení: [Platform Settings], [Parameter Settings], and [ASTRA ENGINE].
Obrázek 7: Konfigurační nástroj v podobě STM32CubeMX: Navigace (vlevo nahoře), konfigurace sady FP-ATR-ASTRA1 (uprostřed) a její architektura (vpravo). (Zdroj obrázku: STMicroelectronics)
Jakmile jsou všechna nastavení nakonfigurována, stisknutím tlačítka <Generate Code> lze vygenerovat kód přímo z STM32CubeMX. Otevřením požadovaného IDE lze pak upravit, zkompilovat a nahrát kód firmware do transpondéru. Generovaný zdrojový kód má modulární architekturu z hlediska hardwarových bloků a funkcí. Správa hardwarových bloků je identifikována pomocí specifických definic (například USE_GNSS). Funkce jsou spravovány v různých souborech, jako je inicializace systému, konfigurace stavového automatu nebo správa dat. Navzdory složitosti stromu souborů je do konfigurace zapojeno pouze několik souborů:
- app_astra.c/.h
Tento hlavní soubor je vstupním bodem a volá inicializační funkce uvnitř MX_Astra_Init() (Výpis 1)
Výpis 1: Tato funkce MX_Astra_Init() se používá pro inicializaci systému. (Zdroj výpisu: STMicroelectronics)
- astra_confmng.c/.h
Tento soubor slouží ke konfiguraci desky a obsahuje proměnné vybrané uživatelem pro povolení/zakázaní každého hardwarového bloku. - astra_datamng.c/.h
V tomto souboru jsou data ze senzorů a dalších vstupů uložena v paměti RAM. Jsou připraveny k manipulaci, například ke spuštění specifického algoritmu pro jednoduchou analýzu dat. - astra_sysmng.c/.h
Zde jsou implementovány funkce související se systémem. Hlavními funkcemi jsou rozhraní příkazového řádku, detekce stisknutí tlačítka, různé algoritmy, ovládání LED diod a správa časovačů. - SM_APP.c/.h
Tyto soubory obsahují konfigurační struktury stavového automatu.
Závěr
Vývoj aplikací pro Asset Tracking je komplexní a vícestupňový proces. Multifunkční vývojová platforma STEVAL-ASTRA1B tento proces značně zjednodušuje. Nabízí rychlý a snadný způsob vizualizace zaznamenaných dat z bezdrátového transpondéru ve webovém rozhraní nebo prostřednictvím aplikace přímo na mobilním zařízení.
Článek vyšel v originále na webu DigiKey.com