Hur man implementerar tillämpningar för spårning av tillgångar med flera anslutningsmöjligheter på ett effektivt sätt

Av Jens Wallmann

Avancerade tillämpningar för spårning av tillgångar, t.ex. övervakning av boskap, hantering av vagnparker och logistik, samlar automatiskt in aktuell statusinformation och positionskoordinater för spårade objekt. En inbyggd transponder överför den loggade informationen till molnet och gör den tillgänglig för kontrollcentralen eller en mobil enhet. På fabriksgolvet krävs ofta trådlösa datauppdateringar med kort räckvidd för att utbyta logistikinformation, processhistorik och övervakningsinformation, ändra konfigurationer eller utföra uppdateringar av firmware i transponderns minne.

Utvecklare av sådana system för spårning av tillgångar står inför utmaningen att utforma en multifunktioll givartransponder som kommunicerar via olika radioprotokoll med lång och kort räckvidd, samlar in ett brett spektrum av mätdata, fungerar i månader utan att batteriet behöver bytas och gör all information tillgänglig via Internettjänster. Konstruktören måste dessutom åstadkomma allt detta samtidigt som man sänker kostnaderna och minskar tiden till marknadsintroduktionen.

Även om uppgiften kan verka överväldigande kan konstruktörer spara mycket tid och energi genom att använda utvecklingssatser som redan innehåller en stor del av den hårdvara och programvara som krävs.

Artikeln diskuterar de tekniska kraven för avancerad spårning av tillgångar i flera olika tillämpningar. Därefter presenteras en multifunktionell utvecklingssats från STMicroelectronics som avsevärt minskar insatsen för att konstruera, testa och utvärdera prototyper. Den ger en inblick i de viktigaste funktionerna i utvecklingssatsen och visar hur utvecklare enkelt kan anpassa funktionerna i de kombinerade systemkretsmodulerna utan att behöva koda, samt hämta och visualisera data från molnet.

Funktioner hos en trådlös mätningstransponder

Spårning av tillgångar har många olika användningsområden som alla kräver mycket specifik teknisk utrustning för transpondern och det anslutna nätverket. I figur 1 visas de tekniska egenskaperna hos en trådlös mätningstransponder i fyra tillämpningskategorier.

Diagram över egenskaperna hos en trådlös mätningstransponder (klicka för att förstora)Figur 1: Funktionerna hos en trådlös mätningstransponder beror på tillämpningen för spårning av tillgångar. (Bildkälla: STMicroelectronics)

En autonom transponder som är placerad på objektet måste registrera miljöpåverkan, objektets position och status (avkännning, figur 1), lagra detta och sända det vid nästa tillfälle via något av flera olika trådlösa gränssnitt (anslutningsmöjligheter). Signalbehandling och konvertering till olika trådlösa protokoll måste hanteras av en tillräckligt kraftfull mikrokontroller (MCU) med hög datasäkerhet ("Behandling och säkerhet"). MCU:n kontrollerar även energihanteringen ("Power management") och garanterar därmed att transponderns batteri har en lång livslängd.

Den datatillgänglighet som krävs i tillämpningar för spårning av tillgångar påverkar komplexiteten hos givarna och kräver lämpliga anslutningsmöjligheter. För förutsägbara kända transportvägar, t.ex. paketleveranser, räcker det med att lagra mätsignalerna i transpondern. Uppgifterna kan sedan läsas av på nära håll med hjälp av Bluetooth Low Energy (BLE) eller NFC (Near Field Communication) vid nästa logistiska kontrollpunkt.

När det gäller hantering av vagnparker, logistik och övervakning av boskap över långa avstånd bör dataöverföringen från transpondern via molnet till slutanvändarens tillämpning ske så nära realtid som möjligt. Transpondern kräver därför ett mobilt radiogränssnitt för att täcka ett stort område. Bland alternativen finns LoRaWAN (Long Range Wide Area Network), Sigfox och NB-IoT (Narrowband-Internet of Things) eftersom dessa protokoll är optimerade för energibesparande dataöverföringar med låg genomströmning.

Ett komplett ekosystem för spårning av tillgångar med mindre utvecklingsarbete

Systemutvecklare som vill förverkliga sin tillämpning för spårning av tillgångar (ASTRA) på ett kostnads- och tidseffektivt sätt kan använda den multifunktionella utvecklingsplattformen STEVAL-ASTRA1B från STMicroelectronics. Plattformen består av flera integrerade kretsar och SoC-moduler, vilket förenklar prototyptillverkning, programmering, testning och utvärdering av innovativa spårnings- och övervakningslösningar. Utvecklingssatsen består av ett modulärt utvärderingskort, firmware-bibliotek, programmeringsverktyg och kretsdokumentation samt en app för mobila enheter och ett webbaserat gränssnitt för visualisering (figur 2).

Bild på ett ekosystem för spårning av tillgångar som är färdigt att använda (klicka för att förstora)Figur 2: Det färdiga ekosystemet för spårning av tillgångar sträcker sig från den trådlösa mätningstranspondern till molnet och den slutliga tillämpningen, vilket minskar utvecklingsarbetet. (Bildkälla: STMicroelectronics)

Kortet STEVAL-ASTRA1B är baserat på två SoC-moduler med låg strömförbrukning för anslutning på korta och långa avstånd, tillsammans med NFC. En modul för datasäkerhetsfunktioner finns på kortet. Grundkortet har flera miljö- och rörelsegivare samt en GNSS-modul (Global Navigation Satellite System) som ger positionskoordinater och möjliggör geografisk avgränsning. Ett strömförsörjningssystem reglerar driftläget för enhetens komponenter och styr strömförsörjningen. Strömförsörjningen består av en switchande omvandlare, ett batteri och en USB-C-laddningsregulator för att förlänga batteriets livslängd så mycket som möjligt. Vid leverans innehåller paketet ett batteri av litiumpolymer (Li-Poly) på 480 mAh, ett fodral, en SMA-antenn (LoRa) och en NFC-antenn.

De integrerade kretsarna och systemkretsarna på kortet STEVAL-ASTRA1B omfattar:

  • Två trådlösa systemkretsar:
    • STM32WB5MMGH6TR: Denna SoC-modul är baserad på en trådlös 2,4 GHz Arm® Cortex®-M4/M0+ MCU med extremt låg strömförbrukning, som fungerar som huvudprocessor och har stöd för 802.15.4, BLE 5.0, Thread och Zigbee.
    • STM32WL55JCI6: Denna trådlösa SoC är baserad på en trådlös Arm Cortex M0+ MCU med extremt låg strömförbrukning, och har stöd för LoRa, Sigfox och GFSK vid frekvenser lägre än 1 GHz (150-960 MHz).
  • ST25DV64K-JFR8D3: NFC-sändare
  • TESEO-LIV3F: GNSS-modul med samtidig multikonstellation.
  • Miljö- och rörelsegivare:
    • STTS22HTR: Digital temperaturgivare; -40 till 125 °C
    • LPS22HHHTR: Tryckgivare; 26 till 126 kilopascal (kPa), absolut
    • HTS221TR: Fukt- och temperaturgivare; 0 till 100 % RH I²C, SPI ±4,5 % RH
    • LIS2DTW12TR: Accelerometer X-, Y-, Z-axel; ±2 g, 4 g, 8 g, 16 g 0,8 till 800 Hz
    • LSM6DSO32XTR: Accelerometer, gyroskop, temperaturgivare I²C, SPI-utgång
  • STSAFE-A110: Säkerhetselement
  • Batteridriven lösning med smart arkitektur för energihantering:
    • ST1PS02BQTR: Buck-switchad regulatorkrets; positivt justerbar, 1,8 V, 1 utgång, 400 mA
    • STBC03JR: Batteriladdningskrets för litiumjon (Li-ion) eller litiumpolymer (Li-Poly)
    • TCPP01-M12: Skydd för USB Type-C och Power Delivery

Utvärderingskortet arbetar vid temperaturer från +5 till 35 °C och använder följande frekvensband:

  • BLE: 2400 till 2480 MHz, +6 decibel refererad till en mW (dBm)
  • LoRaWAN: 863 till 870 MHz, +14 dBm (begränsad av firmware)
  • GNSS (mottagare): 1559 till 1610 MHz.
  • NFC: 13,56 MHz

Den interna strukturen i STEVAL-ASTRA1B

ASTRA-transpondern fungerar som en datalogger och delar upp sitt dataflöde i tre huvudblock, som vart och ett består av hård- och mjukvarudrivrutiner samt applikationslagret (figur 3). Dataingången (figur 3, vänster) fångar upp alla signaler från kortets givare. Det centrala blocket (figur 3, mitten) bearbetar och lagrar data. Slutligen sänds de lagrade uppgifterna trådlöst (figur 3 höger). Vid omkonfigurering, uppdatering av firmware eller skrivning av process-/logistikdata går signalflödet i motsatt riktning.

Bild på dataflöde i den trådlösa mättranspondernFigur 3: Dataflödet i den trådlösa mättranspondern: givarsignalerna (vänster) bearbetas, lagras (mitten) och skickas sedan (höger) när tillfälle ges. (Bildkälla: STMicroelectronics)

FP-ATR-ASTRA1-firmwaren utökar utvecklingsmiljön STM32Cube från STMicroelectronics och implementerar en fullständig tillämpning för spårning av tillgångar med stöd för långa avstånd (LoRaWAN, Sigfox) och korta avstånd (BLE, NFC). Funktionspaketet läser data från miljö- och rörelsegivare, hämtar geopositionering via GNSS och skickar allt till en mobil enhet via BLE, och parallellt till molnet via en LoRaWAN-anslutning.

FP-ATR-ASTRA1-paketet har stöd för profiler med låg strömförbrukning för att garantera lång batteritid och maximal autonomi. Den har även viktiga funktioner som hantering av säkra element, möjlighet att lägga till anpassade algoritmer, felsökningsgränssnitt och expansionsmöjligheter.

Programpaketet är uppdelat i dokumentation, drivrutiner och HAL, middleware och exempelprojekt. Projekten innehåller källkod och kompilerade binärer för integrerade utvecklingsmiljöer (IDE) som Keil, IAR och STM32Cube. Följande fem fördefinierade användningsområden kan konfigureras individuellt: hantering av vagnpark, övervakning av boskap, övervakning av varor, logistik och anpassat.

STEVAL-ASTRA1B fungerar som en enkel tillståndsmaskin som ändrar sitt driftläge beroende på händelser. De två huvudlägena är utformade för full drift (Run) eller låg strömförbrukning (LP). I läge Run är alla funktioner aktiva och all data sänds enligt konfigurationen. I läge LP är alla komponenter, utom MCU:n, inställda på låg strömförbrukning eller inaktiverade (figur 4).

Diagram över de två huvudsakliga driftlägena för STEVAL-ASTRA1B från STMicroelectronicsFigur 4: De två huvudsakliga driftlägena för STEVAL-ASTRA1B är full drift (Run) eller låg strömförbrukning (LP). (Bildkälla: STMicroelectronics)

Genom att trycka på sidoknappen aktiveras övergången mellan de två tillstånden. En annan ingång kan komma från utgången av en händelse i ett mikroelektromekaniskt system (MEMS) eller av resultatet av en algoritm. Detta är bara ett exempel på hur en tillståndsmaskin kan implementeras för att ändra enhetens beteende. Flera mellanliggande tillstånd kan också implementeras för att balansera systemets reaktionsförmåga och batteritid.

Möjliga händelser är

  • BP: Händelse med knapptryckning
  • SD: Avstängningshändelse
  • ER: Felhändelse
  • EP: Automatisk övergång till nästa steg
  • RN: Gå till kommandot för låg köra
  • LP: Gå till kommandot för låg strömförbrukning

Hämta och visualisera molndata

Transpondern STEVAL-ASTRA1B har firmware-paketet FP-ATR-ASTRA1 förinstallerat, så att signaler från miljömätningar och GNSS-positioneringsdata kan visualiseras på några minuter.

Med hjälp av mobilappen STAssetTracking för smartphones och tablets med Bluetooth och en anslutning till internet, registreras transpondern på TTN (The Things Network) V3-nätverksservern som LoRaWAN-deltagare via användarkontot myst.com. Den är även kopplad till webbinstrumentpanelen DSH-ASSETRACKING på Amazon Web Services (AWS).

Efter TTN-registreringen visas STEVAL-ASTRA1B i den uppdaterade enhetslistan i mobilappen. Genom att trycka på knappen "Starta synkronisering" i menyn <Inställningar> aktiveras transponderns sändningsläge så att den skickar ut de lagrade uppgifterna parallellt via BLE och LoRaWAN. Mobilappen kan visa mätdata från minnet på en instrumentpanel och mata ut transponderns GNSS-position eller visa den som en markör på en karta (figur 5).

Bild på mobilappen som gör det lättare att registrera transpondern hos TTN (klicka för att förstora)Figur 5: Mobilappen gör det lättare att registrera transpondern hos TTN och koppla den till instrumentpanelen i molnet; den visualiserar loggade givarvärden och underlättar konfigurering och felsökning. (Bildkälla: STMicroelectronics)

Förutom ASTRA-transpondern kan webbinstrumentpanelen samla många andra fristående trådlösa spårare, som t.ex. P-L496G-CELL02 (LTE) och NUCLEO-S2868A2 (Sigfox RF-sändare), eller Internet-anslutna noder, som t.ex. STEVAL-SMARTAG1 (Wi-Fi), STEVAL-MKSBOX1V1 (BLE-slutnod) och STEVAL-SMARTAG1 (NFC-slutnod) i molnet. Detta gör det möjligt att utveckla ett molnbaserat trådlöst ekosystem med flera protokoll.

Individuell konfiguration och programmering

När fabriksinställningarna för ASTRA-transpondern har utvärderats vid den första driftsättningen är nästa steg för utvecklaren att anpassa transpondern till sin egen tillämpning för spårning av tillgångar.

För mindre anpassningsarbeten utan ytterligare hårdvara kan det räcka att konfigurera de olika parametrarna och funktionerna via BLE och mobilappen (tryck på symbolen "Hammare och skruvmejsel" i mobilappen, figur 5).

Ett annat sätt att konfigurera projektet är att använda en kommandorad och felsökningskonsol. Medan ett terminalprogram på en PC (t.ex. Tera Term) kommunicerar via USB och en virtuell COM-port, använder den mobila enheten appen STBLESensor (ST BLE Sensor) och nätverkar via BLE (figur 6).

Bild på kommandoraden och felsökningskonsolen på en dator (till vänster) och på en mobil enhet (till höger) (klicka för att förstora)Figur 6: Kommandoraden och felsökningskonsolen på en dator (till vänster) och på en mobil enhet (till höger). (Bildkälla: STMicroelectronics)

För att programmera om ASTRA-kortet, exempelvis vid uppdatering av firmware, integrering av andra biblioteksfunktioner eller generering av en utvecklares egna tillämpningskod, är det bekvämt att komma åt via gränssnittet JTAG. För detta ändamål ansluts den separat tillgängliga adaptern STLINK-V3MINIE för felsökning och programmering, till ASTRA-kortet via en bandkabel med 14 stift. En IDE som Keil, IAR eller STM32Cube installerad på en dator kan sedan skriva kompilerade binära filer till programminnet eller felsöka programsekvenser.

STLINK-V3MINI tillhandahåller även ett virtuellt COM-portsgränssnitt som gör det möjligt för värddatorn att kommunicera med målets microcontroller via UART.

Det finns flera sätt att göra firmware-uppdateringar till de olika Arm MCU:erna:

  • Programmeraren STM32Cube på en PC skriver den binära filen till flash-minnet med hjälp av en JTAG-adapter och en MCU-bootloader.
  • Programmeraren STM32Cube på en PC skriver den binära filen till flash-minnet med hjälp av USB- och en MCU-bootloader.
  • Uppgradering av firmware over-the-air (FUOTA) görs via BLE med hjälp av appen STBLESensor på en mobil enhet.

Eftersom styrenheten STM32WL55JC (LoRaWAN) för tillämpningen, fungerar som master för STM32WB5MMG (BLE) måste respektive MCU-kärna som ska flashas väljas med hjälp av byglar.

Grafisk mjukvarukonfiguration med STM32CubeMX

STM32Cube underlättar livet för utvecklare genom att minska utvecklingsarbete, tid och kostnader. IDE:n omfattar hela sortimentet med STM32 MCU:er. STM32CubeMX tillåter dessutom konfigurering och generering av C-kod med hjälp av grafiska guider. Programpaketet FP-ATR-ASTRA1 utökar funktionerna i STM32Cube och kan installeras direkt i IDE:n för STM32CubeMX.

Figur 7 visar STM32CubeMX-skalet: navigering (vänster och överst), FP-ATR-ASTRA1-konfiguration (mitten) och dess arkitektur (höger). Paketet FP-ATR-ASTRA1 har tre flikar för anpassning: [Plattformsinställningar], [Parameterinställningar] och [ASTRA ENGINE].

Bild på grafisk mjukvarukonfiguration med verktyget STM32CubeMX från STMicroelectronics (klicka för att förstora)Figur 7: Grafisk mjukvarukonfiguration med hjälp av verktyget STM32CubeMX: Navigering (vänster och överst), konfiguration av paketet FP-ATR-ASTRA1 (mitten) och dess arkitektur (höger). (Bildkälla: STMicroelectronics)

När alla inställningar är konfigurerade kan koden genereras från STM32CubeMX genom att trycka på knappen <Generera kod>. Genom att öppna önskat IDE kan firmware-koden anpassas, kompileras och laddas på kortet.

Den genererade källkoden har en modulär arkitektur vad det gäller hårdvarublock och funktioner. Hanteringen av hårdvarublocken identifieras genom särskilda definitioner (USE_GNSS). Funktioner hanteras i olika filer, som t.ex. systeminitialisering, konfiguration av tillståndsmaskiner eller datahantering.

Trots att filträdet är komplicerat är det bara några få filer som är involverade i tillämpningskonfigurationen för användningsfallen:

  • app_astra.c/.h
    Denna huvudfil är startpunkten och den anropar initialiseringsfunktioner i MX_Astra_Init() (lista 1).

Bild på när funktionen MX_Astra_Init() används för att initialisera systemet.Lista 1: Funktionen MX_Astra_Init() används för att initialisera systemet. (Källa: STMicroelectronics)

  • astra_confmng.c/.h
    Den här konfigurationshanteraren för kortet innehåller de variabler som användaren väljer för att aktivera/inaktivera respektive hårdvarublock och implementering och konfiguration av användningsfall.
  • astra_datamng.c/.h
    I den här filen lagras de data som samlats in från givarna och andra ingångar i RAM. De är redo att manipuleras, till exempel för att köra en specifik algoritm på data.
  • astra_sysmng.c/.h
    Här implementeras de systemrelaterade funktionerna. De viktigaste funktionerna är gränssnittet med kommandoraden, återanrop till knappar, algoritmer, lysdioder, hantering av användningsfall för spårning av tillgångar och timerhantering.
  • SM_APP.c/.h
    Dessa filer innehåller konfigurationsstrukturerna för tillståndsmaskinen.

Sammanfattning

Utveckling av tillämpningar för spårning av tillgångar är en komplicerad process i flera steg, men den multifunktionella utvecklingsplattformen STEVAL-ASTRA1B förenklar uppgiften. Med all nödvändig hårdvara och mjukvara på kortet är den ett snabbt och enkelt sätt att visualisera loggade data från en trådlös transponder i webbgränssnittet eller via appen för mobila enheter. Som visas, kan utvecklare bara anpassa denna trådlösa datalogger till sin spårnings- eller övervakningstillämpning med hjälp av flexibla konfigurationsverktyg utan kodprogrammering, eller så kan de använda den automatiska kodgeneratorn.

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.

Om skribenten

Jens Wallmann

Jens Wallmann

Jens Wallmann is a freelancing editor and contributes to electronics publications, both print and online. As an electrical engineer (communications engineering) and a trained industrial electronic engineer he has more than 25 years in electronics development with a focus on measuring technology, automotive electronics, process industry and Radio Frequency.