Jak efektivně implementovat aplikace pro sledování zařízení s více konektivitou
2023-01-11
Pokročilé aplikace pro sledování zařízení, jako je monitorování dobytka, správa vozového parku a logistika, automaticky zachycují informace o aktuálním stavu a souřadnice polohy sledovaných objektů. Vestavěný transpondér přenáší svá protokolová data do cloudu a zpřístupňuje je řídicímu centru nebo mobilnímu zařízení. V továrně 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.
Vývojáři takových systémů sledování zařízení čelí výzvě navrhnout multifunkční senzorový transpondér, který komunikuje prostřednictvím různých radiových protokolů dlouhého a krátkého dosahu, shromažďuje širokou škálu naměřených dat, pracuje celé měsíce bez výměny baterie a zpřístupňuje všechna data prostřednictvím internetových služeb. Konstruktéři musejí splnit všechny tyto úkoly splnit, zároveň snížit náklady a zkrátit dobu uvedení na trh.
I když může být tento úkol vysoce náročný, konstruktéři mohou ušetřit mnoho času a energie použitím vývojových sad, které již integrují velkou část požadovaného hardwaru a softwaru.
Tento článek pojednává o technických požadavcích pokročilého sledování zařízení napříč více aplikacemi. Následně představuje multifunkční vývojovou sadu od společnosti STMicroelectronics, která výrazně snižuje náročnost návrhu prototypu, testování a hodnocení. Poskytuje vhled do klíčových funkčních funkcí vývojové sady a ukazuje, jak mohou vývojáři snadno přizpůsobit funkce kombinovaných modulů systému na čipu (SoC), aniž by museli kódovat, a poté načítat a vizualizovat data z cloudu.
Vlastnosti bezdrátového měřicího transpondéru
Sledování zařízení má širokou škálu oblastí použití, z nichž každá vyžaduje velmi specifické technické vybavení pro transpondér a propojenou síť. Obrázek 1 uvádí technické vlastnosti bezdrátového měřicího transpondéru ve čtyřech kategoriích aplikací.
Obrázek 1: Funkce bezdrátového měřicího transpondéru závisí na aplikaci sledování zařízení. (Zdroj obrázku: STMicroelectronics)
Autonomní transpondér nesený s objektem musí detekovat okolní vlivy, polohu a stav objektu (snímání, obrázek 1), uložit je a při nejbližší příležitosti vysílat prostřednictvím libovolného z řady bezdrátových rozhraní (konektivita). Zpracování signálu a převod na různé bezdrátové protokoly musí být řešeny dostatečně výkonným mikrokontrolérem (MCU) s vysokým stupněm zabezpečení dat (‚Processing & security'). Jednotka MCU také řídí spotřebu energie (‚Power management') a zajišťuje tak dlouhou životnost baterie transpondéru.
Požadovaná dostupnost dat aplikace pro sledování zařízení ovlivňuje složitost senzorů a vyžaduje odpovídající připojení. Pro předvídatelné známé přepravní cesty, jako je doručování balíků, stačí pouhé uložení naměřených signálů do transpondéru. Data lze poté načíst na blízkou vzdálenost pomocí nízkoenergetického Bluetooth (BLE) nebo komunikace v blízkosti pole (NFC) na dalším logistickém kontrolním bodu.
V případě správy vozového parku, logistiky a sledování hospodářských zvířat na velké vzdálenosti by přenos dat z transpondéru přes cloud do koncové aplikace měl probíhat co nejblíže reálnému času. Transpondér proto vyžaduje mobilní rádiové rozhraní k pokrytí širokého rozsahu. Možnosti zahrnují LoRaWAN (dlouhý dosah, rozlehlá síť), Sigfox a Narrowband-Internet of Things (NB-IoT), protože tyto protokoly jsou optimalizovány pro nízkou propustnost a energeticky úsporné datové přenosy.
Kompletní ekosystém pro sledování zařízení pro menší vývojové úsilí
Systémoví konstruktéři, kteří chtějí realizovat svou aplikaci pro sledování zařízení (ASTRA) nákladově a časově efektivním způsobem, mohou využívat multifunkční vývojovou platformu STEVAL-ASTRA1B od společnosti STMicroelectronics. Platforma obsahuje více integrovaných obvodů a modulů na čipu (SoC), což výrazně zjednodušuje vytváření prototypů, programování, testování a hodnocení inovativních řešení pro sledování a monitorování. Vývojová sada se skládá z modulární vyhodnocovací desky, knihoven firmwaru, programovacích nástrojů a dokumentace obvodů, stejně jako aplikace pro mobilní zařízení a webového vizualizačního rozhraní (obrázek 2).
Obrázek 2: Ekosystém sledování zařízení připravený k použití sahá od transpondéru bezdrátového měření přes cloud až po koncovou aplikaci a snižuje tak náročnost vývoje. (Zdroj obrázku: STMicroelectronics)
Deska STEVAL-ASTRA1B je založena na dvou nízkoenergetických SoC modulech pro konektivitu krátkého a dlouhého dosahu spolu s NFC. Součástí dodávky je modul pro funkce zabezpečení dat. Nosná deska má několik senzorů prostředí a pohybu, stejně jako modul globálního navigačního satelitního systému (GNSS), který poskytuje souřadnice polohy a umožňuje geofencing. Systém řízení spotřeby reguluje provozní režim všech součástí zařízení a řídí napájení. Napájecí zdroj se skládá ze spínacího převodníku, baterie a USB-C regulátoru nabíjení pro maximální prodloužení životnosti baterie. Při dodání sada obsahuje lithium-polymerovou (Li-Poly) baterii o kapacitě 480 mAh pouzdro, anténu SMA (LoRa) a anténu NFC.
Integrované obvody a SoC desky STEVAL-ASTRA1B zahrnují:
- Dva bezdrátové SoC:
- STM32WB5MMGH6TR: Tento modul na čipu (Soc) založený na bezdrátové jednotce MCU 2,4 (GHz) s velmi nízkou spotřebou Arm® Cortex®-M4/M0+ plní úlohu hlavního aplikačního procesoru a podporuje protokoly 802.15.4, BLE 5.0, Thread a Zigbee.
- STM32WL55JCI6: Tento bezdrátový modul na čipu (SoC) je založen na bezdrátové MCU Arm Cortex M0+ s ultranízkou spotřebou a podporuje protokoly LoRa, Sigfox a GFSK na frekcencích nižších než 1 GHz (150 - 960 MHz).
- ST25DV64K-JFR8D3: NFC vysílač
- TESEO-LIV3F: Modul GNSS se současnou multi-konstelací
- Senzory prostředí a pohybu:
- STTS22HTR: Digitální snímač teploty; -40 až 125 °C
- LPS22HHTR: Snímač tlaku; 26 až 126 kPa, absolutní
- HTS221TR: Čidlo vlhkosti a teploty; 0 až 100 % relativní vlhkosti (RH) I2C, SPI ±4,5 % RH
- LIS2DTW12TR: Akcelerometr v ose X, Y, Z; ±2 g, 4 g, 8 g, 16 g 0,8 Hz až 800 Hz
- LSM6DSO32XTR: Akcelerometr, gyroskop, snímač teploty I²C, výstup SPI
- STSAFE-A110: Bezpečnostní prvek
- Bateriové řešení s inteligentní architekturou řízení spotřeby energie:
- ST1PS02BQTR: spínací snižovací převodník v IO; pozitivní nastavitelný, 1 výstup 1,8 V, 400 mA
- STBC03JR: Nabíječka baterií v IO pro lithium-iontové (Li-ion) nebo Li-Poly baterie
- TCPP01-M12: USB typu C a ochrana napájení
Vyhodnocovací 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 dB vztaženo na jeden miliwatt (mW) (dBm)
- LoRaWAN: 863 MHz až 870 MHz, +14 dBm (omezeno firmwarem)
- GNSS (přijímač): 1559 MHz až 1610 MHz
- NFC: 13,56 MHz
Vnitřní struktura vývojové sady 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ých a softwarových ovladačů a také z aplikační vrstvy (obrázek 3). Vstup dat (obrázek 3, vlevo) zachycuje všechny signály palubního senzoru. Centrální blok (obrázek 3, střed) zpracovává a ukládá data. Nakonec jsou uložená data bezdrátově vysílána (obrázek 3 vpravo). V případě rekonfigurace, aktualizace firmwaru 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: signály senzoru (vlevo) jsou zpracovány, uloženy (uprostřed) a v okamžiku příležitosti odeslány (vpravo). (Zdroj obrázku: STMicroelectronics)
Firmware desky FP-ATR-ASTRA1 rozšiřuje vývojové prostředí STM32Cube společnosti STMicroelectronics a implementuje kompletní aplikaci na sledování zařízení, která podporuje konektivitu na dlouhé vzdálenosti (LoRaWAN, Sigfox) a na krátké vzdálenosti (BLE, NFC). Funkční balíček čte data z okolních a pohybových senzorů, získává GNSS geopositioning a vše posílá do mobilního zařízení přes BLE a paralelně do cloudu přes LoRaWAN konektivitu.
Sada FP-ATR-ASTRA1 podporuje nízkoenergetické profily pro zajištění dlouhé životnosti baterie pro maximální autonomii. Poskytuje také klíčové funkce, jako je správa bezpečných prvků, možnost přidávat vlastní algoritmy, ladicí rozhraní a možnosti rozšíření.
Softwarový balík je rozdělen na dokumentaci, ovladače a HAL, middleware a příklady projektů. Projekty zahrnují zdrojový kód a zkompilované binární soubory pro integrovaná vývojová prostředí (IDE) Keil, IAR a STM32Cube. Následujících pět předdefinovaných případů použití je individuálně konfigurovatelných: správa vozového parku, sledování dobytka, sledování zboží, logistika a vlastní.
Transpondér 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ízký výkon (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ě jednotky MCU nastaveny do režimu nízké spotřeby nebo jsou deaktivovány (obrázek 4).
Obrázek 4: Dva hlavní provozní režimy transpondéru STEVAL-ASTRA1B představují plný provoz (Run) a režim LP. (Zdroj obrázku: STMicroelectronics)
Stisknutím bočního tlačítka se spustí přechod mezi dvěma stavy. Dalším vstupem může být výstup události mikroelektromechanických systémů (MEMS) nebo výsledek algoritmu. Toto je jen jeden příklad toho, jak lze implementovat stavový automat pro změnu chování zařízení. Pro vyvážení odezvy systému a životnosti baterie lze také implementovat více mezistavů.
Možné události jsou
- BP: Událost stisknutí tlačítka
- SD: Událost vypnutí
- ER: Chybová událost
- EP: Automatický přechod na další krok
- RN: Přechod na příkaz úplného spuštění
- LP: Přechod na příkaz nízké spotřeby
Načítání a vizualizace cloudových dat
Transpondér STEVAL-ASTRA1B má předinstalovaný balíček firmwaru FP-ATR-ASTRA1, který umožňuje vizualizaci signálů měření prostředí a údajů o poloze GNSS během několika minut.
Pomocí mobilní aplikace STAssetTracking pro chytré telefony a tablety s aktivovanou funkcí Bluetooth a připojením k internetu se transpondér registruje na síťovém serveru TTN (The Things Network) V3 jako účastník LoRaWAN prostřednictvím uživatelského účtu myst.com. Aplikace je také propojena s webovým panelem DSH-ASSETTRACKING služeb Amazon Web Services (AWS).
Po registraci na serveru TTN se transpondér STEVAL-ASTRA1B zobrazí v aktualizovaném seznamu zařízení mobilní aplikace. Stisknutím tlačítka „Spustit synchronizaci“ v menu aktivuje přenosový režim transpondéru tak, aby odesílal uložená data paralelně přes BLE a LoRaWAN. Mobilní aplikace může zobrazit naměřená data z paměti na přístrojové desce a vydat GNSS polohu transpondéru nebo ji zobrazit jako značku na mapě (obrázek 5).
Obrázek 5: mobilní aplikace pomáhá zaregistrovat transpondér na serveru TTN a propojit jej s cloudovým dashboardem; vizualizuje zaznamenané hodnoty senzorů a pomáhá při konfiguraci a ladění. (Zdroj obrázku: STMicroelectronics)
Kromě transpondéru ASTRA může webový dashboard agregovat mnoho dalších samostatných bezdrátových sledovačů, např. P-L496G-CELL02 (LTE) a NUCLEO-S2868A2 (RF vysílač Sigfox) nebo uzly svázané s internetem, např. STEVAL-SMARTAG1 (Wi-Fi), STEVAL-MKSBOX1V1 (koncový uzel BLE) a STEVAL-SMARTAG1 (koncový uzel NFC) v cloudu. To umožňuje vývoj cloudového víceprotokolového bezdrátového ekosystému.
Individuální konfigurace a programování
Jakmile bylo tovární nastavení transpondéru ASTRA úspěšně vyhodnoceno během prvního uvedení do provozu, dalším krokem vývojáře je přizpůsobení transpondéru vlastní aplikaci pro sledování zařízení.
Pro drobné úpravy bez dalšího hardwaru může stačit nakonfigurovat různé parametry a funkce prostřednictvím BLE a mobilní aplikace (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 sítě přes BLE (obrázek 6).
Obrázek 6: příkazový řádek a ladicí konzola v počítači (vlevo) a na mobilním zařízení (vpravo). (Zdroj obrázku: STMicroelectronics)
Pro přeprogramování desky ASTRA, stejně jako při aktualizaci firmwaru, integraci dalších funkcí knihovny nebo generování vlastního aplikačního kódu vývojáře, je pohodlný přístup přes rozhraní JTAG. Pro tento účel je k desce ASTRA pomocí 14pinového plochého kabelu připojen samostatně dostupný ladicí a programovací adaptér STLINK-V3MINIE. V počítači instalované prostředí IDE, například Keil, IAR nebo STM32Cube, pak může zapisovat kompilované binární soubory do paměti aplikačního programu nebo ladit programové sekvence.
Adaptér STLINK-V3MINI také poskytuje rozhraní virtuálního COM portu, které umožňuje hostitelskému PC komunikovat s cílovým mikrokontrolérem přes UART.
Existuje několik způsobů, jak aktualizovat firmware pro různé MCU Arm:
- Programátor STM32Cube v počítači zapisuje binární soubor do paměti flash pomocí adaptéru JTAG a bootloaderu MCU.
- Programátor STM32Cube v počítači zapisuje binární soubor do flash paměti pomocí USB a bootloaderu MCU.
- Upgrade firmwaru vzduchem (FUOTA) se provádí prostřednictvím BLE pomocí aplikace STBLESensor na mobilním zařízení.
Vzhledem k tomu, aplikační řadič STM32WL55JC (LoRaWAN) funguje jako hlavní pro modul STM32WB5MMG (BLE), musí být příslušné jádro MCU, které má být flashováno, vybráno pomocí propojek.
Konfigurace grafického softwaru pomocí STM32CubeMX
Programátor STM32Cube usnadňuje vývojářům život snížením náročnosti vývoje, času a nákladů. IDE pokrývá celé portfolio MCU STM32. Nástroj STM32CubeMX dále umožňuje konfiguraci a generování C kódu pomocí grafických průvodců. Softwarový balík FP-ATR-ASTRA1 rozšiřuje funkčnost nástroje STM32Cube a lze jej nainstalovat přímo do prostředí IDE STM32CubeMX.
Obrázek 7 ukazuje shell STM32CubeMX: navigace (vlevo a nahoře), konfigurace sady FP-ATR-ASTRA1 (uprostřed) a její architektura (vpravo). Balíček FP-ATR-ASTRA1 nabízí tři karty pro přizpůsobení: [Nastavení platformy], [Nastavení parametrů] a [ASTRA ENGINE].
Obrázek 7: Grafická konfigurace softwaru pomocí nástroje STM32CubeMX: Navigace (vlevo a nahoře), konfigurace sady FP-ATR-ASTRA1 (uprostřed) a její architektura (vpravo). (Zdroj obrázku: STMicroelectronics)
Jakmile jsou všechna nastavení nakonfigurována, lze kód vygenerovat z STM32CubeMX stisknutím tlačítka knoflík. Otevřením požadovaného IDE lze pak upravit, zkompilovat a nahrát kód firmwaru na desku.
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 (USE_GNSS). Funkce jsou spravovány v různých souborech, jako je inicializace systému, konfigurace stavového stroje nebo správa dat.
Navzdory složitosti stromu souborů je do konfigurace aplikací případů použití zapojeno pouze několik souborů:
- app_astra.c/.h
Tento hlavní soubor je vstupním bodem, který 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 správce konfigurace desky obsahuje proměnné vybrané uživatelem pro povolení/zákaz každého hardwarového bloku a implementaci a konfiguraci případů použití. - astra_datamng.c/.h
V tomto souboru jsou data shromážděná 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 na datech. - astra_sysmng.c/.h
Zde jsou implementovány funkce související se systémem. Hlavními funkcemi jsou rozhraní příkazového řádku, zpětná volání tlačítek, algoritmy, LED diody, správa případů použití sledování zařízení a správa časovačů. - SM_APP.c/.h
Tyto soubory obsahují konfigurační struktury stavového automatu.
Závěr
Vývoj aplikací pro sledování zařízení je složitý, vícestupňový proces, multifunkční vývojová platforma STEVAL-ASTRA1B však tento úkol zjednodušuje. Pomocí veškerého potřebného hardwaru a softwaru na desce nabízí rychlý a snadný způsob vizualizace zaznamenaných dat bezdrátového transpondéru ve webovém rozhraní nebo prostřednictvím aplikace pro mobilní zařízení. Jak bylo uvedeno, vývojáři mohou jednoduše přizpůsobit tento bezdrátový záznamník dat jejich sledovací nebo monitorovací aplikaci pomocí flexibilních konfiguračních nástrojů bez programování kódu, nebo mohou používat automatický generátor kódu.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




