Cum să implementați în mod eficient aplicațiile de urmărire a activelor cu conectivitate multiplă

By Jens Wallmann

Aplicațiile avansate de urmărire a activelor, cum ar fi monitorizarea efectivelor de animale, gestionarea flotei și logistica, captează automat informații despre starea actuală și coordonatele de poziție ale obiectelor urmărite. Un transponder încorporat transmite datele de înregistrare în cloud și le pune la dispoziția centrului de control sau a unui dispozitiv mobil. În fabrică, actualizările de date wireless cu rază scurtă de acțiune sunt deseori necesare pentru schimbul de date logistice, istoricul proceselor și datele de monitorizare, pentru modificarea configurațiilor sau actualizarea firmware-ului în memoria transponderului.

Dezvoltatorii unor astfel de sisteme de urmărire a activelor se confruntă cu provocarea proiectării unui transponder cu senzor multifuncțional care să comunice prin diverse protocoale radio cu rază lungă și scurtă de acțiune, să colecteze o gamă largă de date de măsurare, să funcționeze luni de zile fără a necesita înlocuirea bateriei și să pună la dispoziție toate datele prin intermediul serviciilor de internet. În plus, proiectanții trebuie să realizeze toate acestea în timp ce reduc costurile și timpul de lansare pe piață.

Deși imensitatea sarcinii poate fi copleșitoare, proiectanții pot economisi mult timp și energie utilizând kiturile de dezvoltare ce integrează deja o mare parte din hardware-ul și software-ul necesare.

Acest articol analizează cerințele tehnice ale urmăririi avansate a activelor în cadrul mai multor aplicații. În continuare, este prezentat un kit de dezvoltare multifuncțional de la STMicroelectronics, ce reduce semnificativ efortul necesar pentru proiectarea, testarea și evaluarea prototipurilor. Acesta oferă o perspectivă asupra caracteristicilor funcționale cheie ale kitului de dezvoltare și arată cum pot dezvoltatorii să personalizeze cu ușurință funcțiile modulelor sistemului pe cip (SoC) combinate, fără necesitatea scrierii de coduri, și apoi prelua și vizualiza datele din cloud.

Caracteristicile unui transponder de măsurare wireless

Urmărirea activelor include o gamă largă de domenii de aplicare, fiecare dintre acestea necesitând echipamente tehnice specifice pentru transponder și rețeaua conectată. În Figura 1 sunt enumerate caracteristicile tehnice ale unui transponder de măsurare wireless în patru categorii de aplicații.

Diagrama caracteristicilor unui transponder de măsurare wireless (faceți clic pentru a mări imaginea)Figura 1: Caracteristicile unui transponder de măsurare wireless depind de aplicația de urmărire a activelor. (Sursă imagine: STMicroelectronics)

Un transponder autonom ce însoțește obiectul trebuie să detecteze influențele mediului înconjurător, poziția și starea obiectului (Detectare, Figura 1), să le stocheze și să le transmită cu următoarea ocazie prin intermediul unei varietăți de interfețe wireless (Conectivitate). Procesarea semnalelor și conversia la diferite protocoale wireless trebuie gestionate de un microcontroler (MCU) suficient de puternic și cu un grad ridicat de securitate a datelor („Procesare și securitate”). De asemenea, MCU controlează gestionarea energiei („Management energetic”) și asigură, astfel, o durată de viață lungă a bateriei transponderului.

Disponibilitatea datelor necesare pentru o aplicație de urmărire a activelor afectează complexitatea senzorilor și necesită o conectivitate adecvată. Pentru rutele de transport cunoscute și previzibile, cum ar fi livrarea de colete, este suficientă simpla stocare a semnalelor de măsurare în transponder. Apoi, datele pot fi citite de la mică distanță prin intermediul Bluetooth Low Energy (BLE) sau al comunicațiilor în câmp apropiat (NFC) la următorul punct de control logistic.

În cazul gestionării flotei, precum și al logisticii și al monitorizării efectivelor de animale pe distanțe lungi, transferul de date de la transponder prin cloud către aplicația de utilizare finală ar trebui să aibă loc pe cât posibil, în timp real. Prin urmare, transponderul are nevoie de o interfață radio mobilă pentru a acoperi o gamă largă. Printre opțiuni se numără LoRaWAN (Long Range Wide Area Network), Sigfox și Narrowband-Internet of Things (NB-IoT), deoarece aceste protocoale sunt optimizate pentru transferuri de date la viteză mică și economie de energie.

Un ecosistem complet de urmărire a activelor pentru un efort de dezvoltare mai mic

Proiectanții de sisteme care doresc să realizeze propria aplicație de urmărire a activelor (ASTRA) într-un mod eficient din punct de vedere al costurilor și al timpului pot utiliza platforma de dezvoltare multifuncțională STEVAL-ASTRA1B de la STMicroelectronics. Platforma cuprinde mai multe circuite integrate și module SoC, simplificând foarte mult prototiparea, programarea, testarea și evaluarea soluțiilor inovatoare de urmărire și monitorizare. Kitul de dezvoltare este format dintr-o placă de evaluare modulară, biblioteci de firmware, instrumente de programare și documentația circuitului, precum și o aplicație pentru dispozitive mobile și o interfață de vizualizare bazată pe web (Figura 2).

Imagine a unui ecosistem de urmărire a activelor gata de utilizare (faceți clic pentru a mări imaginea)Figura 2: Ecosistemul de urmărire a activelor gata de utilizare se extinde de la transponderul de măsurare wireless la cloud și până la aplicația finală, reducând efortul de dezvoltare. (Sursă imagine: STMicroelectronics)

Placa STEVAL-ASTRA1B se bazează pe două module SoC cu consum redus de energie pentru conectivitate pe rază scurtă și pe rază lungă, împreună cu NFC. La bord este inclus un modul pentru funcțiile de securitate a datelor. Placa suport are mai mulți senzori de mediu și de mișcare, precum și un modul GNSS (Global Navigation Satellite System) care furnizează coordonatele poziției și permite funcția geofencing (restricționare geografică). Un sistem de management energetic reglează modul de funcționare a tuturor componentelor dispozitivului și controlează alimentarea cu energie. Sursa de alimentare este formată dintr-un convertor de comutare, o baterie și un controler de încărcare USB-C pentru a prelungi cât mai mult posibil durata de viață a bateriei. La livrare, kitul include o baterie litiu-polimer (Li-Poly) de 480 miliamperi-oră (mAh), o carcasă, o antenă SMA (LoRa) și o antenă NFC.

Circuitele integrate și SoC-urile de pe placa STEVAL-ASTRA1B cuprind:

  • Două SoC-uri wireless:
    • STM32WB5MMGH6TR: acest modul SoC bazat pe un MCU Arm® Cortex®-M4/M0+ de 2,4 gigahertzi (GHz) wireless cu consum foarte redus de energie acționează ca procesor principal al aplicației și acceptă 802.15.4, BLE 5.0, Thread și Zigbee
    • STM32WL55JCI6: acest SoC wireless se bazează pe un MCU Arm Cortex M0+ wireless cu consum foarte redus de energie și acceptă LoRa, Sigfox și GFSK la o frecvență sub 1 gigahertz (GHz) (150 - 960 megahertzi (MHz))
  • ST25DV64K-JFR8D3: emițător NFC
  • TESEO-LIV3F: modul GNSS cu constelație multiplă simultană
  • Senzori de mediu și de mișcare:
    • STTS22HTR: senzor digital de temperatură; între -40 și 125°C
    • LPS22HHTR: senzor de presiune; între 26 și 126 kilopascali (kPa), absolut
    • HTS221TR: senzor de umiditate și temperatură; între 0 și 100% umiditate relativă (UR) I²C, SPI ±4,5% UR
    • LIS2DTW12TR: accelerometru axa X, Y, Z; ±2g, 4g, 8g, 16g, între 0,8 Hertz (Hz) și 800 Hz
    • LSM6DSO32XTR: accelerometru, giroscop, senzor de temperatură I²C, ieșire SPI
  • STSAFE-A110: element securizat
  • Soluție alimentată cu baterii cu arhitectură inteligentă de management energetic:
    • ST1PS02BQTR: regulator de comutare de coborâre IC; reglabil pozitiv, 1,8 volți, 1 ieșire, 400 miliamperi (mA)
    • STBC03JR: încărcător de baterii IC pentru ioni de litiu (Li-ion) sau Li-Poly
    • TCPP01-M12: USB Type-C și protecție pentru alimentarea cu energie electrică

Placa de evaluare funcționează la temperaturi cuprinse între +5 și 35°C și utilizează următoarele benzi de frecvență:

  • BLE: între 2400 MHz și 2480 MHz, +6 decibeli raportați la un miliwatt (mW) (dBm)
  • LoRaWAN: între 863 MHz și 870 MHz, +14 dBm (limitat de firmware)
  • GNSS (receptor): între 1559 MHz și 1610 MHz
  • NFC: 13,56 MHz

Structura internă a STEVAL-ASTRA1B

Transponderul ASTRA se comportă ca un înregistrator de date și își împarte fluxul de date în trei blocuri principale, fiecare dintre acestea fiind format din drivere hardware și software, precum și din stratul de aplicație (Figura 3). Intrarea de date (Figura 3, stânga) captează toate semnalele senzorilor de la bord. Blocul central (Figura 3, centru) procesează și stochează datele. În cele din urmă, datele stocate sunt difuzate wireless (Figura 3 dreapta). În cazul unei reconfigurări, al unei actualizări a firmware-ului sau al scrierii datelor de proces/logistică, fluxul de semnal circulă în direcția opusă.

Imagine a fluxului de date al transponderului de măsurare wirelessFigura 3: Fluxul de date al transponderului de măsurare wireless: semnalele senzorilor (stânga) sunt procesate, stocate (centru) și apoi trimise (dreapta) atunci când apare ocazia. (Sursă imagine: STMicroelectronics)

Firmware-ul FP-ATR-ASTRA1 extinde mediul de dezvoltare STM32Cube de la STMicroelectronics și implementează o aplicație completă de urmărire a activelor care suportă conectivitatea pe rază lungă (LoRaWAN, Sigfox) și pe rază scurtă (BLE, NFC). Pachetul funcțional citește date de la senzorii de mediu și de mișcare, recuperează geopoziționarea GNSS și trimite totul către un dispozitiv mobil prin BLE și, în paralel, către cloud prin conectivitatea LoRaWAN.

Pachetul FP-ATR-ASTRA1 acceptă profiluri cu consum redus de energie pentru a asigura o durată lungă de viață a bateriei pentru o autonomie maximă. De asemenea, oferă caracteristici cheie, cum ar fi gestionarea securizată a elementelor, capacitatea de a adăuga algoritmi personalizați, interfețe de depanare și capacități de extindere.

Pachetul software este împărțit în: documentație, drivere și HAL, middleware și exemple de proiecte. Proiectele includ codul sursă și fișiere binare compilate pentru mediile de dezvoltare integrate (IDE) Keil, IAR și STM32Cube. Următoarele cinci cazuri de utilizare predefinite pot fi configurate individual: gestionarea flotei, monitorizarea efectivelor de animale, monitorizarea mărfurilor, logistică și personalizare.

STEVAL-ASTRA1B funcționează ca o mașină de stare simplă care își schimbă modul de funcționare în funcție de evenimente. Cele două stări principale sunt proiectate pentru funcționare completă (modul Run (Rulare)) sau pentru putere redusă (LP). În modul Run (Rulare), toate funcțiile sunt active, și toate datele sunt transmise conform configurației. În starea LP, toate componentele, cu excepția MCU, sunt setate în modul de consum redus de energie sau dezactivate (Figura 4).

Diagrama celor două moduri principale de funcționare a STMicroelectronics STEVAL-ASTRA1BFigura 4: Cele două moduri principale de funcționare a STEVAL-ASTRA1B sunt funcționarea completă (Run (Rulare)) sau modul LP. (Sursă imagine: STMicroelectronics)

Apăsarea tastei laterale declanșează tranziția între cele două stări. O altă intrare poate fi ieșirea unui eveniment al unui sistem microelectromecanic (MEMS) sau rezultatul unui algoritm. Acesta este doar un exemplu al modului în care poate fi implementată o mașină de stare pentru a schimba comportamentul dispozitivului. De asemenea, pot fi implementate mai multe stări intermediare pentru a echilibra capacitatea de reacție a sistemului și durata de viață a bateriei.

Evenimentele posibile sunt

  • BP: eveniment buton apăsat
  • SD: eveniment de închidere
  • ER: eveniment de eroare
  • EP: tranziție automată la etapa următoare
  • RN: trecere la comanda de funcționare completă
  • LP: trecere la comanda de consum redus de energie

Recuperarea și vizualizarea datelor din cloud

Transponderul STEVAL-ASTRA1B are preinstalat pachetul de firmware FP-ATR-ASTRA1, astfel încât semnalele de măsurare a mediului și datele de poziție GNSS pot fi vizualizate în câteva minute.

Utilizând aplicația mobilă STAssetTracking pentru smartphone-uri și tablete, cu funcția Bluetooth activată și dispozitivul conectat la internet, transponderul este înregistrat pe serverul rețelei TTN (The Things Network) V3 ca participant LoRaWAN prin intermediul contului de utilizator myst.com. De asemenea, acesta este legat de tabloul de bord web DSH-ASSETRACKING de pe Amazon Web Services (AWS).

După înregistrarea pe TTN, STEVAL-ASTRA1B apare în lista actualizată a dispozitivelor din aplicația mobilă. Apăsarea butonului „Start synchronization” (Pornire sincronizare) din meniu activează modul de transmisie al transponderului, astfel încât acesta trimite datele stocate prin BLE și LoRaWAN în paralel. Aplicația mobilă poate afișa datele de măsurare din memorie pe un tablou de bord și poate afișa poziția GNSS a transponderului sau o poate afișa sub forma unui marcator pe o hartă (Figura 5).

Imaginea aplicației mobile ajută la înregistrarea transponderului la TTN (faceți clic pentru a mări imaginea)Figura 5: Aplicația mobilă ajută la înregistrarea transponderului pe TTN și la conectarea acestuia la tabloul de bord în cloud; aceasta vizualizează valorile senzorilor înregistrate și ajută la configurare și depanare. (Sursă imagine: STMicroelectronics)

În plus față de transponderul ASTRA, tabloul de bord web poate agrega multe alte dispozitive de urmărire wireless autonome, cum ar fi P-L496G-CELL02 (LTE) și NUCLEO-S2868A2 (transmițător Sigfox RF) sau noduri cuplate la internet, cum ar fi STEVAL-SMARTAG1 (Wi-Fi), STEVAL-MKSBOX1V1 (nod final BLE) și STEVAL-SMARTAG1 (nod final NFC) în cloud. Acest lucru permite dezvoltarea unui ecosistem wireless multiprotocol bazat pe cloud.

Configurație și programare individuală

Odată ce setările din fabrică ale transponderului ASTRA au fost evaluate cu succes în timpul punerii în funcțiune inițiale, următorul pas este personalizarea transponderului de către dezvoltator pentru propria aplicație de urmărire a activelor.

Pentru lucrări minore de personalizare fără hardware suplimentar, poate fi suficientă configurarea diverșilor parametri și funcții prin intermediul BLE și al aplicației mobile (apăsați pictograma „ciocan și cheie” din aplicația mobilă, Figura 5).

O altă modalitate de configurare a proiectului este utilizarea unei linii de comandă și a unei console de depanare. În timp ce un program terminal de PC (de ex., Tera Term) comunică prin USB printr-un port COM virtual, dispozitivul mobil utilizează aplicația STBLESensor (ST BLE Sensor) și se conectează în rețea prin BLE (Figura 6).

Imagine a liniei de comandă și a consolei de depanare pe un PC (stânga) și pe un dispozitiv mobil (dreapta) (faceți clic pentru a mări imaginea)Figura 6: Linia de comandă și consola de depanare pe un PC (stânga) și pe un dispozitiv mobil (dreapta). (Sursă imagine: STMicroelectronics)

Pentru reprogramarea plăcii ASTRA, ca și în cazul unei actualizări de firmware, al integrării altor funcții de bibliotecă sau al generării unui cod de aplicație propriu al dezvoltatorului, accesul prin intermediul interfeței JTAG este convenabil. În acest scop, adaptorul de depanare și programare STLINK-V3MINIE, disponibil separat, este conectat la placa ASTRA prin intermediul unui cablu tip panglică, cu 14 pini. Apoi, un IDE cum ar fi Keil, IAR sau STM32Cube instalat pe un PC, poate scrie fișiere binare compilate în memoria programului aplicației sau depana secvențe de program.

De asemenea, STLINK-V3MINI oferă o interfață de port COM virtual care permite PC-ului gazdă să comunice cu microcontrolerul țintă prin UART.

Există mai multe modalități de a actualiza firmware-ul diferitelor MCU-uri Arm:

  • Programatorul STM32Cube de pe un PC scrie fișierul binar în memoria flash utilizând un adaptor JTAG și un bootloader MCU
  • Programatorul STM32Cube de pe un PC scrie fișierul binar în memoria flash utilizând USB și un bootloader MCU
  • Actualizarea over-the-air a firmware-ului (FUOTA) se realizează prin BLE utilizând aplicația STBLESensor pe un dispozitiv mobil

Deoarece controlerul de aplicație STM32WL55JC (LoRaWAN) acționează ca master pentru STM32WB5MMG (BLE), nucleul MCU respectiv care urmează să fie actualizat trebuie selectat prin intermediul unor fire de șuntare .

Configurarea grafică a software-ului utilizând STM32CubeMX

STM32Cube simplifică viața dezvoltatorilor prin reducerea eforturilor, timpului și costurilor de dezvoltare. IDE-ul acoperă întregul portofoliu MCU STM32. În plus, STM32CubeMX permite configurarea și generarea de cod C cu ajutorul unor asistenți grafici. Pachetul software FP-ATR-ASTRA1 extinde funcționalitatea STM32Cube și poate fi instalat direct în STM32CubeMX IDE.

Figura 7 prezintă carcasa STM32CubeMX: navigare (stânga și sus), configurația pachetului FP-ATR-ASTRA1 (mijloc) și arhitectura acestuia (dreapta). Pachetul FP-ATR-ASTRA1 oferă trei file pentru personalizare: [Platform Settings] (Setări platformă), [Parameter Settings] (Setări parametri) și [ASTRA ENGINE] (Motor ASTRA).

Imagine a configurației grafice a software-ului utilizând instrumentul STMicroelectronics STM32CubeMX (faceți clic pentru a mări imaginea)Figura 7: Configurarea grafică a software-ului utilizând instrumentul STM32CubeMX: navigare (stânga și sus), configurația pachetului FP-ATR-ASTRA1 (mijloc) și arhitectura acestuia (dreapta). (Sursă imagine: STMicroelectronics)

După configurarea tuturor setărilor, codul poate fi generat de STM32CubeMX prin apăsarea butonului <Generate Code> (Generare cod). Deschizând IDE-ul dorit, codul firmware poate fi personalizat, compilat și afișat pe placă.

Codul sursă generat are o arhitectură modulară din punct de vedere al blocurilor hardware și al funcțiilor. Gestionarea blocului hardware este identificată prin definiții specifice (USE_GNSS). Funcțiile sunt gestionate în diferite fișiere, cum ar fi inițializarea sistemului, configurarea mașinii de stare sau gestionarea datelor.

În ciuda complexității arborelui de fișiere, doar câteva fișiere sunt implicate în configurarea aplicației pentru cazurile de utilizare:

  • app_astra.c/.h
    Acest fișier principal este punctul de intrare și apelează funcțiile de inițializare din MX_Astra_Init() (Lista 1)

Imaginea funcției MX_Astra_Init() este utilizată pentru inițializarea sistemuluiLista 1: Funcția MX_Astra_Init() este utilizată pentru inițializarea sistemului. (Sursă listă: STMicroelectronics)

  • astra_confmng.c/.h
    Acest manager de configurare a plăcii conține variabilele selectate de utilizator pentru activarea/dezactivarea fiecărui bloc hardware și pentru implementarea și configurarea cazurilor de utilizare.
  • astra_datamng.c/.h
    În acest fișier, datele colectate de la senzori și alte intrări sunt stocate în memoria RAM. Acestea sunt pregătite pentru manipulare, de exemplu, pentru rularea unui anumit algoritm pe date.
  • astra_sysmng.c/.h
    Aici sunt implementate funcțiile legate de sistem. Principalele funcționalități sunt interfața de linie de comandă, apelurile cu butoane, algoritmii, ledurile, gestionarea cazurilor de utilizare a urmăririi activelor și gestionarea cronometrului.
  • SM_APP.c/.h
    Aceste fișiere conțin structurile de configurare ale mașinii de stare.

Concluzie

Dezvoltarea aplicațiilor de urmărire a activelor este un proces complex, cu mai multe etape, însă platforma de dezvoltare multifuncțională STEVAL-ASTRA1B simplifică sarcina. Având la bord toate componentele hardware și software necesare, aceasta oferă o modalitate rapidă și ușoară de vizualizare a datelor înregistrate ale unui transponder wireless în interfața web sau prin intermediul aplicației pentru dispozitive mobile. După cum s-a arătat, dezvoltatorii pot personaliza pur și simplu acest înregistrator de date wireless în funcție de aplicația lor de urmărire sau de monitorizare, utilizând instrumente de configurare flexibile, fără programare de cod, sau pot utiliza generatorul automat de cod.

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.

About this author

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.