Slik implementerer du konstruksjoner for ressurssporing via flere tilkoblinger

Av Jens Wallmann

Avanserte konstruksjoner for ressurssporing, for eksempel overvåking av husdyr, flåtestyring og logistikk, registrerer automatisk gjeldende statusinformasjon og posisjonskoordinater for sporede ressurser. En innebygd transponder videresender loggførte data til skyen og gjør dem tilgjengelige for kontrollsenteret eller en mobilenhet. På fabrikkgulvet kreves ofte trådløse dataoppdateringer med kort rekkevidde for å utveksle logistikkdata, prosesshistorikk og overvåkingsdata, endre konfigurasjoner eller utføre fastvareoppdateringer i transponderminnet.

Utviklere av slike ressurssporingssystemer står overfor utfordringen med å utforme en flerfunksjonell sensortransponder som kommuniserer via forskjellige radioprotokoller over lange og korte distanser, innsamler et bredt spekter av måledata, fungerer i flere måneder uten batteribytte og gjør alle data tilgjengelige via Internett-tjenester. I tillegg må konstruktører oppnå alt dette samtidig som de reduserer kostnader og tiden det tar å få det endelige produktet ut på markedet.

Selv om oppgavens omfang kan virke overveldende, kan konstruktører spare mye tid og energi ved å bruke utviklingssett som allerede integrerer mye av den nødvendige maskinvaren og programvaren.

Denne artikkelen tar for seg de tekniske kravene til avansert ressurssporing på tvers av flere bruksområder. Den introduserer deretter et flerfunksjonelt utviklingssett fra STMicroelectronics som reduserer anstrengelsen som kreves for prototypeutvikling, -testing og -evaluering. Den gir innsikt i viktige funksjonelle egenskaper for utviklingssettet og viser hvordan utviklere enkelt kan tilpasse funksjonene til de kombinerte SoC-modulene (SoC – System on Chip) uten å måtte kode, samt innhente og visualisere dataene fra skyen.

Funksjoner i en trådløs målingstransponder

Ressurssporing har et bredt spekter av bruksområder, som hvert krever svært spesifikt teknisk utstyr for transponderen og det tilknyttede nettverket. Figur 1 viser de tekniske egenskapene til en trådløs målingstransponder i fire konstruksjonskategorier.

Skjema over funksjoner til en trådløs målingstransponder (klikk for å forstørre)Figur 1: Funksjonene til en trådløs målingstransponder avhenger av konstruksjonen for ressurssporing. (Bildekilde: STMicroelectronics)

En autonom transponder som bæres med objektet må detektere miljøpåvirkninger, posisjonen og statusen til objektet (Sensing – føling, figur 1), lagre den og sende den ved neste anledning via en rekke trådløse grensesnitt (Connectivity – konnektivitet). Signalbehandling og omforming til ulike trådløse protokoller må håndteres av en tilstrekkelig kraftig mikrokontroller (MCU) med høy grad av datasikkerhet (Processing & security – behandling og sikkerhet). Mikrokontrolleren håndterer også energistyringen (Power management – energistyring), og sikrer dermed at transponderbatteriet har lang levetid.

Den nødvendige datatilgjengeligheten til en konstruksjon for ressurssporing påvirker kompleksiteten til sensorene og krever egnet konnektivitet. For forutsigbare og kjente transportruter, for eksempel pakkelevering, er det tilstrekkelig å lagre målesignalene i transponderen. Dataene kan deretter leses ut på nært hold ved hjelp av lavenergi-Bluetooth (BLE) eller nærfeltkommunikasjon (NFC) ved neste logistikkontrollpunkt.

Når det gjelder flåtestyring, samt logistikk og overvåking av husdyr over lange avstander, bør dataoverføringen fra transponderen via skyen til sluttkonstruksjonen skje så nær sanntid som mulig. Transponderen krever derfor et mobilt radiogrensesnitt for å dekke et bredt område. Alternativer omfatter LoRaWAN (long range, wide area network), Sigfox og Narrowband-IoT (NB-IoT – narrowband-internet of things), fordi disse protokollene er optimalisert for energibesparende dataoverføringer med lav gjennomstrømning.

Et komplett økosystem for ressurssporing for redusert utviklingsanstrengelse

Systemkonstruktører som ønsker å realisere ASTRA (Asset Tracking Application) på en kostnads- og tidseffektiv måte, kan bruke den flerfunksjonelle STEVAL-ASTRA1B-utviklingsplattformen fra STMicroelectronics. Plattformen består av flere IC-er og SoC-moduler, noe som i stor grad forenkler prototyping, programmering, testing og evaluering av innovative sporings- og overvåkingsløsninger. Utviklingssettet består av et modulært evalueringskort, fastvarebiblioteker, programmeringsverktøy og kretsdokumentasjon, samt en app for mobilenheter og et nettbasert visualiseringsgrensesnitt (figur 2).

Bilde av bruksklart økosystem for ressurssporing (klikk for å forstørre)Figur 2: Det bruksklare økosystemet for ressurssporing strekker seg fra den trådløse målingstransponderen til skyen til sluttkonstruksjonen, noe som reduserer utviklingsanstrengelsen. (Bildekilde: STMicroelectronics)

STEVAL-ASTRA1B-kortet er basert på to SoC-moduler med lavt strømforbruk for konnektivitet over korte og lange distanser, samt NFC. En innebygd modul for datasikkerhetsfunksjoner er inkludert. Bærerkortet har flere miljø- og bevegelsessensorer, samt en GNSS-modul (GNSS – Global Navigation Satellite System) som gir posisjonskoordinater og muliggjør geofencing. Et strømstyringssystem regulerer driftsmodusen til alle komponentene i enheten og styrer strømforsyningen. Strømforsyningen består av en vekslingsomformer, et batteri og en USB-C-laderstyring for å forlenge batterilevetiden så mye som mulig. Ved levering vil settet inkludere et litiumpolymerbatteri (Li-Poly-batteri) på 480 milliampere-timer (mAh), et kabinett, en SMA-antenne (LoRa) og en NFC-antenne.

STEVAL-ASTRA1B-kortets IC-er og SoC-er omfatter følgende:

  • To trådløse SoC-er:
    • STM32WB5MMGH6TR: Denne SoC-modulen er basert på en 2,4 gigahertz (GHz) trådløs Arm® Cortex®-M4/M0+ mikrokontroller (MCU) med ultralavt energiforbruk, som fungerer som den viktigste bruksprosessoren og støtter 802.15.4, BLE 5.0, Thread og Zigbee
    • STM32WL55JCI6: Denne trådløse SoC-en er basert på en trådløs Arm Cortex M0+ MCU med ultralavt energiforbruk, og den støtter LoRa, Sigfox og GFSK ved frekvenser på under 1 gigahertz (GHz) (150–960 MHz)
  • ST25DV64K-JFR8D3: NFC-sender
  • TESEO-LIV3F: GNSS-modul med simultane fler-konstellasjoner
  • Miljø- og bevegelsessensorer:
    • STTS22HTR: Digital temperatursensor; –40 til 125 °C
    • LPS22HHTR: Trykksensor; 26 til 126 kilopascal (kPa), absolutt
    • HTS221TR: Fuktighets- og temperatursensor; 0 til 100 % relativ fuktighet (RH) I²C, SPI ±4,5 % RH
    • LIS2DTW12TR: Akselerometer X-, Y-, Z-akse; ±2 g, 4 g, 8 g, 16 g 0,8 Hertz (Hz) til 800 Hz
    • LSM6DSO32XTR: Akselerometer, gyroskop, temperatursensor I²C, SPI-utgang
  • STSAFE-A110: Secure Element
  • Batteridrevet løsning med smart strømstyringsarkitektur:
    • ST1PS02BQTR: Reduksjonsvekslingsregulator-IC; positiv justerbar, 1,8 volt, 1 utgang, 400 milliampere (mA)
    • STBC03JR: Batterilader-IC for litium-ion (Li-ion) eller Li-Poly
    • TCPP01-M12: USB Type-C og strømforsyningsbeskyttelse

Evalueringskortet fungerer ved temperaturer fra +5 til 35 °C og bruker følgende frekvensbånd:

  • BLE: 2400 MHz til 2480 MHz, +6 desibel referert til som én milliwatt (mW) (dBm)
  • LoRaWAN: 863 MHz til 870 MHz, +14 dBm (begrenset av fastvaren)
  • GNSS (mottaker): 1559 MHz til 1610 MHz
  • NFC: 13,56 MHz

Den interne strukturen til STEVAL-ASTRA1B

ASTRA-transponderen oppfører seg som en datalogger, og den deler datastrømmen i tre hovedblokker, som hver består av maskinvare- og programvaredrivere, samt applikasjonslaget (figur 3). Datainngangen (figur 3, venstre) fanger opp alle innvendige sensorsignaler. Den sentrale blokken (figur 3, midten) behandler og lagrer dataene. Til slutt sendes de lagrede dataene trådløst (figur 3 til høyre). I tilfeller der en omkonfigurering, fastvareoppdatering eller skriving av prosess-/logistikkdata skjer, går signalflyten i motsatt retning.

Bilde av datastrømmen til den trådløse målingstransponderenFigur 3: Datastrøm for den trådløse målingstransponderen: Sensorsignalene (venstre) behandles, lagres (midten) og sendes (høyre) når muligheten byr seg. (Bildekilde: STMicroelectronics)

FP-ATR-ASTRA1-fastvaren utvider STMicroelectronics sitt STM32Cube-utviklingsmiljø og implementerer et komplett ressurssporingskonstruksjon som støtter konnektivitet via lange distanser (LoRaWAN, Sigfox) og korte distanser (BLE, NFC). Den funksjonelle pakken leser data fra omgivelses- og bevegelsessensorer, innhenter GNSS-geoposisjonering og sender alt til en mobilenhet via BLE, og parallelt til skyen via LoRaWAN-konnektivitet.

FP-ATR-ASTRA1-pakken støtter profiler med lavt strømforbruk for å sikre lang batterilevetid, og dermed maksimal autonomi. Den tilbyr også viktige funksjoner, for eksempel Secure Element, muligheten til å legge til egendefinerte algoritmer, feilsøkingsgrensesnitt og utvidelsesfunksjoner.

Programvarepakken er delt inn i: dokumentasjon, drivere og HAL, mellomvare og eksempelprosjekter. Prosjektene inkluderer kildekode og kompilerte binære filer for integrerte utviklingsmiljøer (IDE-er) som Keil, IAR og STM32Cube. Følgende fem forhåndsdefinerte brukstilfeller kan konfigureres individuelt: flåtestyring, husdyrovervåking, vareovervåking, logistikk og egendefinert.

STEVAL-ASTRA1B fungerer som en enkel tilstandsmaskin som endrer driftsmodus avhengig av hendelser. De to hovedtilstandene er utviklet for full drift (Run) eller lav effekt (LP). I Run-modus er alle funksjoner aktive, og alle data sendes som konfigurerte. I LP-tilstanden er alle komponenter, bortsett fra mikrokontrolleren (MCU-en), satt til lavstrømsmodus eller deaktivert (figur 4).

Skjema over to hoveddriftsmoduser for STMicroelectronics STEVAL-ASTRA1BFigur 4: De to hoveddriftsmodusene til STEVAL-ASTRA1B er full drift (Run) eller LP-modus. (Bildekilde: STMicroelectronics)

Ved å trykke på sidetasten, utløses overgangen mellom de to tilstandene. En annen inngang kan være utgangen fra en MEMS-hendelse (MEMS – microelectromechanical systems) eller resultatet fra en algoritme. Dette er bare ett eksempel på hvordan en tilstandsmaskin kan implementeres for å endre oppførselen til enheten. Flere mellomliggende tilstander kan også implementeres for å balansere systemets responsivitet og batterilevetid.

Mulige hendelser er

  • BP: Knappetrykk-hendelse
  • SD: Driftsstans-hendelse
  • ER: Feil-hendelse
  • EP: Automatisk overgang til neste trinn
  • RN: Gå til full-run-kommando
  • LP: Gå til lavstrøm-kommando

Innhente og visualisere skydata

STEVAL-ASTRA1B-transponderen har FP-ATR-ASTRA1-fastvarepakken forhåndsinstallert, slik at miljømålingssignaler og GNSS-posisjonsdata kan visualiseres på noen få minutter.

Ved å bruke STAssetTracking-mobilappen for smarttelefoner og nettbrett, som har Bluetooth aktivert og er koblet til Internett, vil transponderen registreres på TTN (The Things Network) V3-nettverksserveren som en LoRaWAN-deltaker via myst.com-brukerkontoen. Den er også knyttet til det nettbaserte DSH-ASSETRACKING-dashbordet på Amazon Web Services (AWS).

Etter TTN-registrering vises STEVAL-ASTRA1B i den oppdaterte enhetslisten i mobilappen. Ved å trykke på «Start synkronisering»-knappen i <Innstillinger>-menyen, aktiveres transponderens sendemodus slik at den sender ut de lagrede dataene via BLE og LoRaWAN parallelt. Mobilappen kan vise måledata fra minnet på et dashbord og sende ut transponderens GNSS-posisjon eller vise den som en markør på et kart (figur 5).

Bilde av mobilappen hjelper til med å registrere transponderen på TTN (klikk for å forstørre)Figur 5: Mobilappen hjelper til med å registrere transponderen på TTN og forbinde den til dashbordet i skyen. Den visualiserer også loggede sensorverdier og hjelper til med konfigurasjon og feilsøking. (Bildekilde: STMicroelectronics)

I tillegg til ASTRA-transponderen, kan det nettbaserte dashbordet samle mange andre frittstående trådløse trackere, for eksempel P-L496G-CELL02 (LTE) og NUCLEO-S2868A2 (Sigfox RF-sender) eller Internett-koblede noder som STEVAL-SMARTAG1 (Wi-Fi), STEVAL-MKSBOX1V1 (BLE-endenode) og STEVAL-SMARTAG1 (NFC-endenode) i skyen. Dette muliggjør utviklingen av et skybasert trådløst økosystem med flere protokoller.

Individuell konfigurasjon og programmering

Når fabrikkinnstillingene for ASTRA-transponderen har blitt evaluert under den innledende kommisjoneringen, er neste trinn for utvikleren å tilpasse transponderen til sin egen konstruksjon for ressurssporing.

For mindre tilpasninger som ikke trenger ekstra maskinvare, kan det være tilstrekkelig å konfigurere de ulike parametrene og funksjonene via BLE og mobilappen (trykk på «hammer og skiftenøkkel»-ikonet i mobilappen, figur 5).

En annen måte å konfigurere prosjektet på, er å bruke en kommandolinje og feilsøke konsollen. Mens et PC-terminalprogram (f.eks. Tera Term) kommuniserer via USB gjennom en virtuell COM-port, bruker mobilenheten STBLESensor-appen (ST BLE Sensor) og nettverk via BLE (figur 6).

Bilde av kommandolinje og feilsøkingskonsoll på en datamaskin (venstre) og på en mobilenhet (høyre) (klikk for å forstørre)Figur 6: Kommandolinje og feilsøkingskonsoll på en datamaskin (venstre) og på en mobilenhet (høyre). (Bildekilde: STMicroelectronics)

Tilgang via JTAG-grensesnittet er praktisk når det gjelder å omprogrammere ASTRA-kortet, for eksempel via en fastvareoppdatering, integrering av andre biblioteksfunksjoner eller generering av applikasjonskoden til en utvikler. For dette formålet er den separat tilgjengelige adapteren for feilsøking og programmering, STLINK-V3MINIE, koblet til ASTRA-kortet via en 14-pinners båndkabel. En IDE, for eksempel Keil, IAR eller STM32Cube, installert på en datamaskin kan deretter skrive kompilerte binære filer til applikasjonens programminne eller feilsøke programsekvenser.

STLINK-V3MINI har også et virtuelt COM-portgrensesnitt som gjør at vertsdatamaskinen kan kommunisere med mikrokontrolleren via UART.

Det er flere måter å gi fastvareoppdateringer til de forskjellige Arm-mikrokontrollerne på:

  • STM32Cube-programmereren på en datamaskin skriver den binære filen til flashminnet ved å bruke en JTAG-adapter og en mikrokontrolleroppstartslaster
  • STM32Cube-programmereren på en datamaskin skriver den binære filen til flashminnet via USB og en mikrokontrolleroppstartslaster
  • Trådløs fastvareoppgradering (FUOTA – firmware upgrade over-the-air) gjøres via BLE ved å bruke STBLESensor-appen på en mobilenhet

Siden applikasjonsstyringen STM32WL55JC (LoRaWAN) fungerer som master for STM32WB5MMG (BLE), må den respektive mikrokontrollerkjernen som skal flashes velges via forbindelseskabler (jumpere).

Grafisk programvarekonfigurering via STM32CubeMX

STM32Cube gjør jobben til utvikleren enklere ved å redusere utviklingsanstrengelsen, -tiden og -kostnadene. IDE dekker hele STM32 MCU-porteføljen. I tillegg muliggjør STM32CubeMX konfigurering og generering av C-kode via grafiske veivisere. Programvarepakken FP-ATR-ASTRA1 utvider funksjonaliteten til STM32Cube, og den kan installeres direkte i STM32CubeMX IDE-en.

Figur 7 viser STM32CubeMX-skallet: navigasjon (venstre og øverst), FP-ATR-ASTRA1-pakkekonfigurasjon (midten) og arkitektur (høyre). FP-ATR-ASTRA1-pakken tilbyr tre faner for tilpasning: [Plattforminnstillinger], [Parameterinnstillinger] og [ASTRA MOTOR].

Bilde av grafisk programvarekonfigurasjon ved å bruke STMicroelectronics STM32CubeMX-verktøyet (klikk for å forstørre)Figur 7: Grafisk programvarekonfigurasjon ved å bruke STM32CubeMX-verktøyet: Navigasjon (venstre og øverst), FP-ATR-ASTRA1-pakkekonfigurasjon (midten) og arkitektur (høyre). (Bildekilde: STMicroelectronics)

Når alle innstillingene er konfigurert, kan koden genereres fra STM32CubeMX ved å trykke på <Generer kode>-knappen. Ved å åpne den ønskede IDE-en, kan fastvarekoden deretter tilpasses, kompileres og flashes på kortet.

Den genererte kildekoden har en modulær arkitektur når det gjelder maskinvareblokker og funksjoner. Håndteringen av maskinvareblokker identifiseres gjennom spesifikke definisjoner (USE_GNSS). Funksjoner administreres i forskjellige filer, for eksempel systemnullstilling, konfigurasjon av tilstandsmaskin eller datahåndtering.

Til tross for fil-treets kompleksitet, er bare noen få filer involvert i applikasjonens konfigurasjon for brukstilfellene:

  • app_astra.c/.h
    Denne hovedfilen er inngangspunktet, og den kaller på nullstillingsfunksjoner inne i MX_Astra_Init() (liste 1)

Bilde av MX_Astra_Init()-funksjonen brukes for systemets nullstillingListe 1: Denne MX_Astra_Init()-funksjonen brukes for systemets nullstilling. (Bildekilde: STMicroelectronics)

  • astra_confmng.c/.h
    Denne styringen for kortkonfigurasjon inneholder variablene som er valgt av brukeren for å aktivere/deaktivere hver maskinvareblokk og brukstilfellets implementering og konfigurasjon.
  • astra_datamng.c/.h
    I denne filen lagres dataene som samles inn fra sensorene og andre innganger, i RAM-minnet. De er klare til å bli manipulert, for å for eksempel kjøre en bestemt algoritme på dataene.
  • astra_sysmng.c/.h
    Her implementeres de systemrelaterte funksjonene. De viktigste funksjonene, er kommandolinjegrensesnittet, knappetilbakekall (button callbacks), algoritmer, lysdioder, håndtering av brukstilfeller for ressurssporing, samt tidsstyring.
  • SM_APP.c/.h
    Disse filene inneholder konfigurasjonsstrukturene for tilstandsmaskinen.

Konklusjon

Utvikling av konstruksjoner for ressurssporing er en kompleks prosess som omfatter flere trinn, men den flerfunksjonelle STEVAL-ASTRA1B-utviklingsplattformen gjør denne oppgaven enklere. Takket være all den nødvendige maskinvaren og programvaren som er integrert, tilbyr den en rask og enkel måte å visualisere de loggede dataene til en trådløs transponder på, i det nettbaserte grensesnittet eller via mobilenheten. Som vist kan utviklere ganske enkelt tilpasse denne trådløse dataloggeren til sin egen sporings- eller overvåkingskonstruksjon ved å bruke fleksible konfigurasjonsverktøy uten kodeprogrammering, eller de kan bruke den automatiske kodegeneratoren.

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.