Effectief implementeren van multi-connectiviteitsapplicaties voor het traceren van bedrijfsmiddelen
2023-01-11
Geavanceerde applicaties voor het traceren van bedrijfsmiddelen, zoals voor veebewaking, wagenparkbeheer en logistiek, registreren automatisch de actuele statusinformatie en positiecoördinaten van getraceerde objecten. Een ingebouwde transponder stuurt de loggegevens door naar de cloud en maakt ze beschikbaar voor het controlecentrum of een mobiel apparaat. Op de fabrieksvloer zijn vaak short-range draadloze gegevensupdates nodig om logistieke gegevens, procesgeschiedenis en bewakingsgegevens uit te wisselen, configuraties te wijzigen of firmware-updates in het transpondergeheugen uit te voeren.
Ontwikkelaars van dergelijke asset-trackingsystemen staan voor de uitdaging om een multifunctionele sensortransponder te ontwerpen die via verschillende short-range en long-range radioprotocollen communiceert, een breed scala aan meetgegevens verzamelt, maandenlang werkt zonder de batterij te vervangen en alle gegevens beschikbaar stelt via internetdiensten. Bovendien moeten de ontwerpers dit alles doen terwijl ze de kosten verlagen en de time-to-market verkorten.
Hoewel de enorme omvang van de taak overweldigend kan zijn, kunnen ontwerpers veel tijd en energie besparen door ontwikkelingskits te gebruiken waarin veel van de vereiste hardware en software al is geïntegreerd.
In dit artikel worden de technische vereisten van geavanceerde tracering van bedrijfsmiddelen voor meerdere toepassingen besproken. Daarnaast wordt een multifunctionele ontwikkelingskit van STMicroelectronics geïntroduceerd die het werk dat nodig is voor het ontwerpen, testen en evalueren van prototypes aanzienlijk vermindert. We bekijken de belangrijkste functionele kenmerken van de ontwikkelingskit en zien hoe ontwikkelaars de functies van de gecombineerde SoC-modules (System-on-Chip) gemakkelijk zonder programmeren kunnen aanpassen en de gegevens uit de cloud kunnen ophalen en visualiseren.
Kenmerken van een draadloze meettransponder
Asset-tracking (het volgen en traceren van bedrijfsmiddelen) kent veel toepassingsgebieden die elk zeer specifieke technische apparatuur vereisen voor de transponder en het gekoppelde netwerk. Afbeelding 1 geeft een overzicht van de technische kenmerken van een draadloze meettransponder in vier toepassingscategorieën.
Afbeelding 1: De kenmerken van een draadloze meettransponder hangen af van de asset-trackingapplicatie. (Bron afbeelding: STMicroelectronics)
Een autonome transponder die met het object wordt meegedragen moet de omgevingsinvloeden, positie en status van het object detecteren ('Sensing', afbeelding 1), deze opslaan en bij de volgende gelegenheid uitzenden via een van de vele draadloze interfaces ('Connectivity'). De signaalverwerking en de conversie naar verschillende draadloze protocollen moeten worden uitgevoerd door een voldoende krachtige microcontroller (MCU) met een hoge mate van gegevensbeveiliging ('Processing & security'). De MCU regelt ook het energiebeheer ('Power management') en zorgt zo voor een lange levensduur van de transponderbatterij.
De vereiste beschikbaarheid van gegevens voor een asset-trackingapplicatie beïnvloedt de complexiteit van de sensoren en vereist passende connectiviteit. Voor voorspelbare bekende transportroutes, zoals pakketbezorging, is het simpelweg opslaan van de meetsignalen in de transponder voldoende. De gegevens kunnen dan bij het volgende logistieke controlepunt op korte afstand worden uitgelezen met behulp van Bluetooth Low Energy (BLE) of Near Field Communication (NFC).
In het geval van wagenparkbeheer, evenals logistiek en het monitoren van vee over lange afstanden, moet de gegevensoverdracht van de transponder via de cloud naar de toepassing voor eindgebruik zo goed mogelijk in real-time plaatsvinden. Voor de transponder is derhalve een mobiele radio-interface nodig die een groot bereik dekt. Opties zijn onder andere LoRaWAN (long range, wide area network), Sigfox en Narrowband-Internet of Things (NB-IoT) omdat deze protocollen zijn geoptimaliseerd voor energiebesparende gegevensoverdracht met een lage doorvoersnelheid.
Een compleet asset-tracking-ecosysteem voor minder ontwikkelingsinspanning
Systeemontwerpers die hun asset-trackingapplicatie (ASTRA) op een kosten- en tijdsefficiënte manier willen realiseren, kunnen gebruik maken van het multifunctionele STEVAL-ASTRA1B-ontwikkelingsplatform van STMicroelectronics. Het platform omvat meerdere IC's en SoC-modules, wat het prototypen, programmeren, testen en evalueren van innovatieve tracking- en bewakingsoplossingen sterk vereenvoudigt. De ontwikkelingskit bestaat uit een modulair evaluatiebord, firmwarebibliotheken, programmeertools en circuitdocumentatie, evenals een app voor mobiele apparaten en een webgebaseerde visualisatie-interface (afbeelding 2).
Afbeelding 2: Het kant-en-klare ecosysteem voor asset-tracking reikt van de draadloze meettransponder tot de cloud-to-end-toepassing, wat het ontwikkelen aanzienlijk vereenvoudigt. (Bron afbeelding: STMicroelectronics)
De STEVAL-ASTRA1B-bord is gebaseerd op twee low-power SoC-modules voor short-range en long-range connectiviteit, samen met NFC. Op de kaart bevindt zich een module voor gegevensbeveiligingsfuncties. Het draagbord heeft meerdere omgevings- en bewegingssensoren, alsmede een GNSS-module (Global Navigation Satellite System) die positiecoördinaten levert en geofencing mogelijk maakt. Een energiebeheersysteem regelt de bedrijfsmodus van alle apparaatonderdelen en regelt de voeding. De voeding bestaat uit een schakelconverter, een batterij en een USB-C-oplaadcontroller om de levensduur van de batterij zoveel mogelijk te verlengen. Bij levering bevat de kit een lithiumpolymeerbatterij (Li-Poly) van 480 milliampère-uur (mAh), een behuizing, een SMA-antenne (LoRa) en een NFC-antenne.
De IC's en SoC's van het STEVAL-ASTRA1B-bord bestaan uit:
- Twee draadloze SoC's:
- STM32WB5MMGH6TR: Deze SoC-module op basis van een 2,4 gigahertz (GHz) draadloze ultra-low-power Arm® Cortex®-M4/M0+ MCU fungeert als belangrijkste applicatieprocessor en ondersteunt 802.15.4, BLE 5.0, Thread en Zigbee.
- STM32WL55JCI6: Deze draadloze SoC is gebaseerd op een draadloze ultra-low-power Arm Cortex M0+ MCU en ondersteunt LoRa, Sigfox en GFSK op minder dan 1 gigahertz (GHz) (150 - 960 megahertz (MHz)).
- ST25DV64K-JFR8D3: NFC-zender
- TESEO-LIV3F: GNSS-module met simultane multi-constellatie
- Omgevings- en bewegingssensoren:
- STTS22HTR: Digitale temperatuursensor; -40 tot 125 °C
- LPS22HHTR: Druksensor; 26 tot 126 kilopascal (kPa), absoluut.
- HTS221TR: Vochtigheids- en temperatuursensor; 0 tot 100% relatieve vochtigheid (RH) I²C, SPI ±4,5% RH
- LIS2DTW12TR: Versnellingsmeter X-, Y- en Z-as; ±2g, 4g, 8g, 16g 0,8 Hertz (Hz) tot 800 Hz
- LSM6DSO32XTR: Versnellingsmeter, gyroscoop, temperatuursensor I²C, SPI-uitgang
- STSAFE-A110: Beveiligd element
- Batterijgevoede oplossing met slimme energiebeheerarchitectuur:
- ST1PS02BQTR: Buck-schakelregelaar-IC; positief instelbaar, 1,8 volt, 1 uitgang, 400 milliampère (mA)
- STBC03JR: Acculader-IC voor lithium ion (Li-ion) of Li-Poly
- TCPP01-M12: Bescherming van USB-C en voeding
Het evaluatiebord werkt bij temperaturen van +5 tot 35 °C en gebruikt de volgende frequentiebanden:
- BLE: 2400 MHz tot 2480 MHz, +6 decibel naar één milliwatt (mW) (dBm)
- LoRaWAN: 863 MHz tot 870 MHz, +14 dBm (beperkt door de firmware)
- GNSS (ontvanger): 1559 MHz tot 1610 MHz
- NFC: 13,56 MHz
De interne structuur van de STEVAL-ASTRA1B
De ASTRA-transponder gedraagt zich als een datalogger en verdeelt zijn gegevensstroom in drie hoofdblokken, die elk bestaan uit hardware- en softwaredrivers en de toepassingslaag (afbeelding 3). De gegevensinvoer (afbeelding 3, links) registreert alle sensorsignalen op het bord. Het centrale blok (afbeelding 3, midden) verwerkt en slaat de gegevens op. Ten slotte worden de opgeslagen gegevens draadloos uitgezonden (afbeelding 3, rechts). Bij een herconfiguratie, een firmware-update of het schrijven van proces-/logistieke gegevens loopt de signaalstroom in omgekeerde richting.
Afbeelding 3: Gegevensstroom van de draadloze meettransponder: de sensorsignalen (links) worden verwerkt, opgeslagen (midden), en vervolgens verzonden (rechts) wanneer de gelegenheid zich voordoet. (Bron afbeelding: STMicroelectronics)
De FP-ATR-ASTRA1-firmware breidt de STM32Cube-ontwikkelingsomgeving van STMicroelectronics uit en implementeert een complete toepassing voor asset-tracking die connectiviteit voor long-range (LoRaWAN, Sigfox) en short-range (BLE, NFC) ondersteunt. Het functionele pakket leest gegevens van omgevings- en bewegingssensoren, haalt GNSS-geopositionering op en stuurt alles via BLE naar een mobiel apparaat en via LoRaWAN-connectiviteit parallel naar de cloud.
Het FP-ATR-ASTRA1-pakket ondersteunt low-power profielen om een lange levensduur van de batterij te garanderen voor maximale autonomie. Het biedt ook belangrijke functies zoals veilig elementbeheer, de mogelijkheid om aangepaste algoritmen toe te voegen, debugging-interfaces en uitbreidingsmogelijkheden.
Het softwarepakket is verdeeld in: documentatie, drivers & HAL, middleware en voorbeeldprojecten. De projecten omvatten broncode en gecompileerde binaries voor Keil, IAR en STM32Cube geïntegreerde ontwikkelingsomgevingen (IDE's). De volgende vijf voorgedefinieerde gebruiksscenario's zijn individueel configureerbaar: wagenparkbeheer, veebewaking, goederenbewaking, logistiek en maatwerk.
De STEVAL-ASTRA1B werkt als een eenvoudige toestandsmachine die de bedrijfsmodus afhankelijk van gebeurtenissen verandert. De twee hoofdmodi zijn ontworpen voor 'full operation' (Run) of 'low power' (LP). In de Run-stand zijn alle functies actief en worden alle gegevens uitgezonden zoals geconfigureerd. In de LP-stand worden alle componenten, behalve de MCU, in de low-power stand gezet of uitgeschakeld (afbeelding 4).
Afbeelding 4: De twee belangrijkste bedrijfsmodi van de STEVAL-ASTRA1B zijn 'full operation' (Run) en 'low power' (LP). (Bron afbeelding: STMicroelectronics)
Via een druk op de zijtoets kan tussen de twee standen wordt overgeschakeld. Een andere input kan de output van een micro-elektromechanisch systeem (MEMS) of het resultaat van een algoritme zijn. Dit is slechts één voorbeeld van hoe een toestandsmachine kan worden geïmplementeerd om het gedrag van het apparaat te veranderen. Er kunnen ook meerdere tussenstanden worden geïmplementeerd om het reactievermogen van het systeem en de levensduur van de batterij in evenwicht te brengen.
Mogelijke gebeurtenissen zijn
- BP: Knop ingedrukt
- SD: Uitschakelen
- ER: Fout
- EP: Automatische overgang naar de volgende stap
- RN: Ga naar 'full operation'
- LP: Ga naar 'low-power'
Cloudgegevens ophalen en visualiseren
De STEVAL-ASTRA1B-transponder heeft een vooraf geïnstalleerd FP-ATR-ASTRA1-firmwarepakket, zodat omgevingsmeetsignalen en GNSS-positiegegevens in enkele minuten kunnen worden gevisualiseerd.
Met behulp van de STAssetTracking mobiele app voor smartphones en tablets, met Bluetooth ingeschakeld en verbonden met het internet, wordt de transponder geregistreerd op de TTN (The Things Network) V3 netwerkserver als LoRaWAN-deelnemer via de myst.com gebruikersaccount. Het is ook gekoppeld aan het DSH-ASSETRACKING-webdashboard op Amazon Web Services (AWS).
Na de TTN-registratie verschijnt de STEVAL-ASTRA1B in de bijgewerkte apparatenlijst van de mobiele app. Door in het menu op de knop 'Start synchronisation' te drukken, wordt de zendmodus van de transponder geactiveerd, zodat deze de opgeslagen gegevens via BLE en LoRaWAN parallel verstuurt. De mobiele app kan de meetgegevens uit het geheugen weergeven op een dashboard en de GNSS-positie van de transponder uitvoeren of als een marker op een kaart weergeven (afbeelding 5).
Afbeelding 5: De mobiele app helpt om de transponder bij TTN te registreren en aan het cloud-dashboard te koppelen. De app biedt een visualisatie van de gelogde sensorwaarden en helpt bij de configuratie en debugging. (Bron afbeelding: STMicroelectronics)
Naast de ASTRA-transponder kan het webdashboard vele andere stand-alone draadloze trackers in de cloud samenbrengen, zoals de P-L496G-CELL02 (LTE) en de NUCLEO-S2868A2 (Sigfox RF-zender) of internetgekoppelde nodes zoals de STEVAL-SMARTAG1 (Wi-Fi), de STEVAL-MKSBOX1V1 (BLE-end node) en de STEVAL-SMARTAG1 (NFC-end node). Dit maakt de ontwikkeling van een cloudgebaseerd draadloos multiprotocol-ecosysteem mogelijk.
Individuele configuratie en programmering
Nadat de fabrieksinstellingen van de ASTRA-transponder tijdens de eerste inbedrijfstelling met succes zijn geëvalueerd, moet de ontwikkelaar de transponder aanpassen aan zijn of haar eigen asset-trackingapplicatie.
Voor kleine aanpassingen zonder extra hardware kan het voldoende zijn om de verschillende parameters en functies via BLE en de mobiele app te configureren (druk op het pictogram met de hamer en moersleutel in de mobiele app, afbeelding 5).
Een andere manier om het project te configureren is met behulp van een opdrachtregel en een debug-console. Terwijl een pc-terminalprogramma (bv. Tera Term) via USB en een virtuele COM-poort communiceert, gebruikt het mobiele apparaat de STBLESensor-app (ST BLE Sensor) en netwerken via BLE (afbeelding 6).
Afbeelding 6: Opdrachtregel en debug-console op een pc (links) en op een mobiel apparaat (rechts) (Bron afbeelding: STMicroelectronics)
Om de ASTRA-kaart te herprogrammeren, zoals bij een firmware-update, de integratie van andere bibliotheekfuncties of het genereren van een eigen applicatiecode, is toegang via de JTAG-interface handig. Daartoe wordt de apart verkrijgbare STLINK-V3MINIE-debug- en programmeeradapter via een 14-pins lintkabel op het ASTRA-bord aangesloten. Een IDE zoals Keil, IAR, of STM32Cube geïnstalleerd op een pc kan dan gecompileerde binaire bestanden naar het applicatieprogrammageheugen of debugprogramma-sequenties schrijven.
De STLINK-V3MINI biedt ook een virtuele COM-poortinterface waarmee de host-pc via UART met de doelmicrocontroller kan communiceren.
Er zijn verschillende manieren om de firmware van de verschillende Arm MCU's bij te werken:
- De STM32Cube-programmeur op een pc schrijft het binaire bestand naar het flash-geheugen met behulp van een JTAG-adapter en een MCU-bootloader.
- De STM32Cube-programmeur op een pc schrijft het binaire bestand naar het flash-geheugen met behulp van USB en een MCU-bootloader.
- Firmware-upgrade over-the-air (FUOTA) gebeurt via BLE met de STBLESensor-app op een mobiel apparaat.
Aangezien de applicatiecontroller STM32WL55JC (LoRaWAN) als master fungeert voor de STM32WB5MMG (BLE), moet de respectieve MCU-kern die moet worden geflasht via jumpers worden geselecteerd.
Grafische softwareconfiguratie met behulp van STM32CubeMX
STM32Cube maakt het leven van ontwikkelaars gemakkelijker door de ontwikkelingsinspanningen, tijd en kosten te verminderen. De IDE bestrijkt het hele STM32 MCU-portfolio. Bovendien maakt STM32CubeMX configuratie en het genereren van C-code mogelijk met behulp van grafische wizards. Het FP-ATR-ASTRA1-softwarepakket breidt de functionaliteit van de STM32Cube uit en kan direct in de STM32CubeMX IDE worden geïnstalleerd.
Afbeelding 7 toont de behuizing van de STM32CubeMX: navigatie (links en boven), FP-ATR-ASTRA1-pakketconfiguratie (midden) en de architectuur (rechts). Het FP-ATR-ASTRA1-pakket biedt drie tabbladen voor maatwerk: [Platforminstellingen], [Parameterinstellingen] en [ASTRA ENGINE].
Afbeelding 7: Grafische softwareconfiguratie met de STM32CubeMX: navigatie (links en boven), FP-ATR-ASTRA1-pakketconfiguratie (midden) en de architectuur (rechts). (Bron afbeelding: STMicroelectronics)
Nadat alle instellingen zijn geconfigureerd, kan de software van de STM32CubeMX worden gegenereerd door op de knop <Generate Code> te drukken. Door de gewenste IDE te openen, kan de firmwaresoftware worden aangepast, gecompileerd en op het bord geflasht.
De gegenereerde broncode heeft een modulaire architectuur wat betreft hardwareblokken en functies. De hardwareblokmanagement wordt geïdentificeerd door middel van specifieke definities (USE_GNSS). Functies worden beheerd in verschillende bestanden, zoals systeeminitialisatie, configuratie van de toestandsmachine of gegevensbeheer.
Ondanks de complexiteit van de bestandsstructuur zijn slechts enkele bestanden betrokken bij de toepassingsconfiguratie van de use cases:
- app_astra.c/.h
Dit hoofdbestand is het beginpunt en roept initialisatiefuncties aan binnen MX_Astra_Init() (Listing 1).
Listing 1: Deze MX_Astra_Init()-functie wordt gebruikt voor de systeeminitialisatie. (Bron listing: STMicroelectronics)
- astra_confmng.c/.h
Deze boardconfiguratiemanager bevat de door de gebruiker geselecteerde variabelen voor het in- en uitschakelen van elk hardwareblok en de implementatie en configuratie van use cases. - astra_datamng.c/.h
In dit bestand worden de gegevens van de sensoren en andere ingangen opgeslagen in RAM. Ze zijn klaar om gemanipuleerd te worden, bijvoorbeeld om een specifiek algoritme op de gegevens uit te voeren. - astra_sysmng.c/.h
Hier worden de systeemgerelateerde functies geïmplementeerd. De belangrijkste functionaliteiten zijn de opdrachtregelinterface, knop-callbacks, algoritmen, leds, asset-tracking use case management en het timerbeheer. - SM_APP.c/.h
Deze bestanden bevatten de configuratiestructuren van de toestandsmachine.
Conclusie
De ontwikkeling van asset-trackingapplicaties is een complex meerstappenproces, maar het multifunctionele STEVAL-ASTRA1B-ontwikkelingsplatform vereenvoudigt de taak. Dankzij alle noodzakelijke ingebouwde hardware en software biedt het een snelle en eenvoudige manier om de gelogde gegevens van een draadloze transponder te visualiseren in de webinterface of via de app voor mobiele apparaten. Zoals we hebben gezien, kunnen ontwikkelaars deze draadloze datalogger eenvoudig aanpassen aan hun tracking- of monitoring-applicaties met behulp van flexibele configuratietools zonder programmeren, of ze kunnen de automatische codegenerator gebruiken.
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.




