Come implementare in modo efficace applicazioni di tracciabilità delle risorse multiconnettività

Di Jens Wallmann

Le applicazioni avanzate di tracciabilità delle risorse, come il monitoraggio del bestiame, la gestione delle flotte e la logistica, acquisiscono automaticamente le informazioni sullo stato corrente e le coordinate di posizione degli oggetti tracciati. Un transponder integrato trasmette i dati di registrazione al cloud e li rende disponibili al centro di controllo o a un dispositivo mobile. In fabbrica, gli aggiornamenti dei dati wireless a corto raggio sono spesso necessari per scambiare dati logistici, dati storici e di monitoraggio dei processi, modificare le configurazioni o aggiornare il firmware nella memoria del transponder.

Gli sviluppatori di questi sistemi di tracciabilità delle risorse si trovano di fronte alla sfida di progettare un transponder a sensore multifunzionale che comunichi attraverso vari protocolli radio a lungo e corto raggio, raccolga un'ampia gamma di dati di misurazione, funzioni per mesi senza dover sostituire la batteria e renda tutti i dati disponibili tramite servizi Internet. Inoltre, i progettisti devono realizzare tutto questo riducendo i costi e il time-to-market.

Anche se l'enormità del compito può sembrare onerosa, i progettisti possono risparmiare molto tempo ed energia utilizzando kit di sviluppo che integrano già gran parte dell'hardware e del software necessari.

Questo articolo illustra i requisiti tecnici per la tracciabilità avanzata delle risorse attraverso molteplici applicazioni. Viene quindi presentato un kit di sviluppo multifunzionale di STMicroelectronics che riduce in modo significativo lo sforzo di progettazione, collaudo e valutazione dei prototipi. Fornisce una panoramica delle principali caratteristiche funzionali del kit di sviluppo e mostra come gli sviluppatori possano facilmente personalizzare le funzioni dei moduli combinati SoC (System-on-Chip) senza scrivere codice, per poi recuperare e visualizzare i dati dal cloud.

Caratteristiche di un transponder di misurazione wireless

La tracciabilità delle risorse ha un'ampia gamma di settori di applicazione, ognuno dei quali richiede attrezzature tecniche molto specifiche per il transponder e la rete collegata. La Figura 1 evidenzia le caratteristiche tecniche di un transponder di misurazione wireless in quattro categorie applicative.

Schema delle caratteristiche di un transponder di misurazione wireless (fare clic per ingrandire)Figura 1: Le caratteristiche di un transponder di misurazione wireless dipendono dall'applicazione di tracciabilità delle risorse. (Immagine per gentile concessione di STMicroelectronics)

Un transponder autonomo che accompagna l'oggetto deve rilevare le influenze ambientali, la posizione e lo stato dell'oggetto (rilevamento, Figura 1), memorizzarle e trasmetterle alla prima occasione attraverso una serie di interfacce wireless (connettività). L'elaborazione del segnale e la conversione in vari protocolli wireless devono essere gestite da un microcontroller (MCU) sufficientemente potente e con un elevato grado di sicurezza dei dati ("elaborazione e sicurezza"). L'MCU controlla anche la gestione dell'alimentazione, garantendo così una lunga durata alla batteria del transponder.

La disponibilità di dati richiesta da un'applicazione di tracciabilità delle risorse influisce sulla complessità dei sensori e richiede una connettività adeguata. Per i percorsi di trasporto prevedibili e noti, come la consegna dei pacchi, è sufficiente memorizzare i segnali di misurazione nel transponder. I dati possono poi essere letti a distanza ravvicinata tramite Bluetooth Low Energy (BLE) o NFC (Near Field Communication) al successivo punto di controllo logistico.

Nel caso della gestione delle flotte, della logistica e del monitoraggio del bestiame su lunghe distanze, il trasferimento dei dati dal transponder attraverso il cloud all'applicazione finale deve avvenire il più possibile in tempo reale. Il transponder, pertanto, necessita di un'interfaccia radio mobile per coprire un ampio raggio d'azione. Le opzioni includono LoRaWAN (Long Range Wide Area Network), Sigfox e Narrowband-Internet of Things (NB-IoT), perché questi protocolli sono ottimizzati per trasferimenti di dati a bassa velocità e risparmio energetico.

Un ecosistema completo di tracciabilità delle risorse per snellire lo sviluppo

I progettisti di sistemi interessati a realizzare un'applicazione di tracciabilità delle risorse (ASTRA) in modo efficiente in termini di costi e di tempo possono utilizzare la piattaforma di sviluppo multifunzionale STEVAL-ASTRA1B di STMicroelectronics. Questa piattaforma comprende più CI e moduli SoC, semplificando notevolmente la prototipazione, la programmazione, il collaudo e la valutazione di soluzioni innovative di tracciamento e monitoraggio. Il kit di sviluppo consiste in una scheda di valutazione modulare, librerie firmware, strumenti di programmazione e documentazione, oltre a un'applicazione per dispositivi mobili e a un'interfaccia di visualizzazione basata sul web (Figura 2).

Immagine dell'ecosistema di tracciabilità delle risorse pronto per l'uso (fare clic per ingrandire)Figura 2: L'ecosistema di tracciabilità delle risorse pronto per l'uso si estende dal transponder di misurazione wireless al cloud fino all'applicazione finale, riducendo il lavoro di sviluppo. (Immagine per gentile concessione di STMicroelectronics)

La scheda STEVAL-ASTRA1B si basa su due moduli SoC a basso consumo per la connettività a corto e lungo raggio, insieme a NFC. La scheda include un modulo per le funzioni di sicurezza dei dati. La scheda portante è dotata di più sensori ambientali e di movimento, nonché di un modulo per sistema di navigazione satellitare globale (GNSS) che fornisce le coordinate di posizione e consente il geofencing. Un sistema di gestione dell'alimentazione regola la modalità operativa di tutti i componenti del dispositivo e controlla l'alimentazione. L'alimentazione è composta da un convertitore di commutazione, una batteria e un controller di carica USB-C per estendere il più possibile la durata della batteria. Alla consegna, il kit comprende una batteria al litio polimero (LiPo) da 480 mAh, una custodia, un'antenna SMA (LoRa) e un'antenna NFC.

I CI e i SoC della scheda STEVAL-ASTRA1B comprendono:

  • Due SoC wireless:
    • STM32WB5MMGH6TR: questo modulo SoC basato su un MCU ARM® Cortex®-M4/M0+ wireless a bassissimo consumo da 2,4 GHz funge da processore applicativo principale e supporta 802.15.4, BLE 5.0, Thread e Zigbee.
    • STM32WL55JCI6: questo SoC wireless è basato su un MCU ARM Cortex M0+ wireless a bassissimo consumo e supporta LoRa, Sigfox e GFSK a meno di 1 GHz (150 ~ 960 MHz).
  • ST25DV64K-JFR8D3: trasmettitore NFC
  • TESEO-LIV3F: modulo GNSS con multicostellazione simultanea
  • Sensori ambientali e di movimento:
    • STTS22HTR: sensore di temperatura digitale; -40 ~ 125 °C
    • LPS22HHTR: sensore di pressione; 26 ~ 126 kPa, assoluto
    • HTS221TR: sensore di umidità e temperatura; 0 ~ 100% di umidità relativa (RH) I²C, SPI ±4,5% RH
    • LIS2DTW12TR: accelerometro triassiale X, Y, Z; ±2 g, 4 g, 8 g, 16 g, 0,8 ~ 800 Hz
    • LSM6DSO32XTR: accelerometro, giroscopio, sensore di temperatura con uscita I²C, SPI
  • STSAFE-A110: Secure Element
  • Soluzione a batteria con architettura di gestione dell'alimentazione intelligente:
    • ST1PS02BQTR: regolatore a commutazione buck in CI; positivo regolabile, 1,8 V, 1 uscita, 400 mA
    • STBC03JR: caricabatterie in CI per batterie agli ioni di litio o al litio polimero
    • TCPP01-M12: protezione USB Type-C e di distribuzione dell'energia elettrica

La scheda di valutazione funziona a temperature comprese tra +5 e 35 °C e utilizza le seguenti bande di frequenza:

  • BLE: 2400 ~ 2480 MHz, +6 dBm
  • LoRaWAN: 863 ~ 870 MHz, +14 dBm (limitato dal firmware)
  • GNSS (ricevitore): 1559 ~ 1610 MHz
  • NFC: 13,56 MHz

La struttura interna di STEVAL-ASTRA1B

Il transponder ASTRA si comporta come un datalogger e divide il flusso di dati in tre blocchi principali, ciascuno costituito da driver hardware e software e dal livello applicativo (Figura 3). L'ingresso dati (Figura 3, a sinistra) acquisisce tutti i segnali dei sensori su scheda. Il blocco centrale (Figura 3, centro) elabora e memorizza i dati. Infine, i dati memorizzati vengono trasmessi in modalità wireless (Figura 3 a destra). In caso di riconfigurazione, aggiornamento del firmware o scrittura di dati di processo/logistici, il flusso di segnali va nella direzione opposta.

Immagine del flusso di dati del transponder di misurazione wirelessFigura 3: Flusso di dati del transponder di misurazione wireless: i segnali del sensore (a sinistra) vengono elaborati, memorizzati (al centro) e quindi inviati (a destra) quando se ne presenta l'occasione. (Immagine per gentile concessione di STMicroelectronics)

Il firmware FP-ATR-ASTRA1 estende l'ambiente di sviluppo STM32Cube di STMicroelectronics e implementa un'applicazione completa di tracciabilità delle risorse che supporta la connettività a lungo raggio (LoRaWAN, Sigfox) e a corto raggio (BLE, NFC). Il pacchetto funzionale legge i dati dai sensori ambientali e di movimento, recupera la geolocalizzazione GNSS e invia tutto a un dispositivo mobile via BLE e, in parallelo, al cloud tramite connettività LoRaWAN.

Il pacchetto FP-ATR-ASTRA1 supporta profili a basso consumo per garantire una lunga durata e la massima autonomia a batteria. Offre inoltre caratteristiche chiave come la gestione di un Secure Element, la possibilità di aggiungere algoritmi personalizzati, interfacce di debug e funzionalità di espansione.

Il pacchetto software è composto da documentazione, driver e HAL, middleware e progetti di esempio. I progetti includono codice sorgente e binari compilati per gli ambienti di sviluppo integrato (IDE) Keil, IAR e STM32Cube. I cinque casi d'uso seguenti sono predefiniti e configurabili individualmente: gestione della flotta, monitoraggio del bestiame, monitoraggio delle merci, logistica e personalizzato.

STEVAL-ASTRA1B funziona come una semplice macchina a stati che cambia modalità operativa in base agli eventi. I due stati principali sono progettati per il funzionamento a pieno regime (Run) o a basso consumo (LP). In modalità Run, tutte le funzioni sono attive e tutti i dati vengono trasmessi come configurati. Nello stato LP, tutti i componenti, tranne l'MCU, sono impostati in modalità a basso consumo o disabilitati (Figura 4).

Schema delle due principali modalità operative di STEVAL-ASTRA1B di STMicroelectronicsFigura 4: Le due principali modalità operative di STEVAL-ASTRA1B sono il funzionamento a pieno regime (Run) o la modalità a basso consumo (LP). (Immagine per gentile concessione di STMicroelectronics)

Premendo il tasto laterale si attiva la transizione tra i due stati. Un altro ingresso può essere il risultato di un evento di un sistema microelettromeccanico (MEMS) o di un algoritmo. Questo è solo un esempio di come sia possibile implementare una macchina a stati per modificare il comportamento del dispositivo. È inoltre possibile implementare più stati intermedi per bilanciare la reattività del sistema e la durata della batteria.

Gli eventi possibili sono

  • BP: evento pulsante premuto
  • SD: evento di spegnimento
  • ER: evento di errore
  • EP: passaggio automatico alla fase successiva
  • RN: passaggio al comando di esecuzione completa
  • LP: passaggio al comando di basso consumo

Recuperare e visualizzare i dati del cloud

Il transponder STEVAL-ASTRA1B ha il pacchetto firmware FP-ATR-ASTRA1 preinstallato, per cui i segnali di misurazione ambientale e i dati di posizione GNSS possono essere visualizzati in pochi minuti.

Utilizzando l'applicazione mobile STAssetTracking per smartphone e tablet, con Bluetooth abilitato e collegamento a Internet, il transponder viene registrato sul server di rete TTN (The Things Network) V3 come partecipante LoRaWAN tramite l'account utente myst.com. È inoltre collegato al dashboard web DSH-ASSETRACKING su Amazon Web Services (AWS).

Dopo la registrazione TTN, STEVAL-ASTRA1B appare nell'elenco aggiornato dei dispositivi dell'app mobile. Premendo il pulsante di avvio sincronizzazione nel menu delle impostazioni si attiva la modalità di trasmissione del transponder, che invia i dati memorizzati via BLE e LoRaWAN in parallelo. L'app mobile può visualizzare i dati di misurazione dalla memoria su un dashboard e fornire la posizione GNSS del transponder o visualizzarla come un marcatore su una mappa (Figura 5).

Immagine dell'app mobile che aiuta a registrare il transponder al server TTN (fare clic per ingrandire)Figura 5: L'app mobile aiuta a registrare il transponder al server TTN e a collegarlo al dashboard del cloud; visualizza i valori dei sensori registrati e assiste nella configurazione e nel debug. (Immagine per gentile concessione di STMicroelectronics)

Oltre al transponder ASTRA, il dashboard web può aggregare nel cloud molti altri monitor wireless autonomi, come P-L496G-CELL02 (LTE) e NUCLEO-S2868A2 (trasmettitore Sigfox RF) o nodi accoppiati a Internet come STEVAL-SMARTAG1 (Wi-Fi), STEVAL-MKSBOX1V1 (nodo finale BLE) e STEVAL-SMARTAG1 (nodo finale NFC). Ciò consente lo sviluppo di un ecosistema wireless multiprotocollo basato sul cloud.

Configurazione e programmazione individuale

Una volta che le impostazioni di fabbrica del transponder ASTRA sono state valutate con successo durante la messa in funzione iniziale, il passo successivo è quello di personalizzare il transponder in base alla propria applicazione di tracciabilità delle risorse.

Per piccoli interventi di personalizzazione senza hardware aggiuntivo, può essere sufficiente configurare i vari parametri e le funzioni tramite BLE e l'app mobile (premere l'icona del martello nell'app mobile, Figura 5).

Un altro modo per configurare il progetto è usare la riga di comando e la console di debug. Mentre un programma terminale per PC (come Tera Term) comunica via USB attraverso una porta COM virtuale, il dispositivo mobile utilizza l'applicazione STBLESensor (ST BLE Sensor) e si collega in rete via BLE (Figura 6).

Immagine della riga di comando e della console di debug su un PC (a sinistra) e su un dispositivo mobile (a destra) (fare clic per ingrandire)Figura 6: Riga di comando e console di debug su un PC (a sinistra) e su un dispositivo mobile (a destra). (Immagine per gentile concessione di STMicroelectronics)

Per riprogrammare la scheda ASTRA, come nel caso di un aggiornamento firmware, dell'integrazione di altre funzioni di libreria o della generazione di codice applicativo proprio dello sviluppatore, torna comodo l'accesso tramite l'interfaccia JTAG. A questo scopo, l'adattatore di debug e programmazione STLINK-V3MINIE, disponibile separatamente, viene collegato alla scheda ASTRA tramite un cavo a nastro a 14 pin. Un IDE come Keil, IAR o STM32Cube installato su un PC può quindi scrivere file binari compilati nella memoria del programma applicativo o sequenze del programma di debug.

STLINK-V3MINI fornisce anche un'interfaccia porta virtuale COM che consente al PC host di comunicare con il microcontroller di destinazione tramite UART.

Esistono diversi modi per effettuare gli aggiornamenti del firmware alle diverse MCU ARM:

  • Il programmatore STM32Cube su un PC scrive il file binario nella memoria flash utilizzando un adattatore JTAG e un bootloader MCU.
  • Il programmatore STM32Cube su un PC scrive il file binario nella memoria flash utilizzando USB e un bootloader MCU.
  • L'aggiornamento firmware via etere (OTA) viene eseguito via BLE utilizzando l'app STBLESensor su un dispositivo mobile.

Poiché il controller applicativo STM32WL55JC (LoRaWAN) funge da master per STM32WB5MMG (BLE), è necessario selezionare il rispettivo core MCU tramite i ponticelli.

Configurazione grafica del software con STM32CubeMX

STM32Cube semplifica la vita degli sviluppatori riducendo gli sforzi di sviluppo, i tempi e i costi. L'IDE copre l'intera gamma di MCU STM32. Inoltre, STM32CubeMX consente la configurazione e la generazione di codice C tramite procedure guidate di tipo grafico. Il pacchetto software FP-ATR-ASTRA1 espande le funzionalità di STM32Cube e può essere installato direttamente nell'IDE di STM32CubeMX.

La Figura 7 mostra lo shell STM32CubeMX: navigazione (a sinistra e in alto), configurazione del pacchetto FP-ATR-ASTRA1 (al centro) e architettura (a destra). Il pacchetto FP-ATR-ASTRA1 offre tre schede per la personalizzazione: Impostazioni piattaforma, Impostazioni parametri e MOTORE ASTRA.

Immagine della configurazione grafica del software con lo strumento STM32CubeMX di STMicroelectronics (fare clic per ingrandire)Figura 7: Configurazione grafica del software con lo strumento STM32CubeMX: navigazione (a sinistra e in alto), configurazione del pacchetto FP-ATR-ASTRA1 (al centro) e architettura (a destra). (Immagine per gentile concessione di STMicroelectronics)

Una volta configurate tutte le impostazioni, il codice può essere generato premendo il pulsante da STM32CubeMX. Aprendo l'IDE desiderato, il codice del firmware può essere personalizzato, compilato e trasferito sulla scheda.

Il codice sorgente generato ha un'architettura modulare in termini di blocchi hardware e funzioni. La gestione del blocco hardware è identificata da definizioni specifiche (USE_GNSS). Le funzioni sono gestite in diversi file, come l'inizializzazione del sistema, la configurazione della macchina a stati o la gestione dei dati.

Nonostante la complessità della struttura dei file, solo pochi file sono implicati nella configurazione dell'applicazione dei casi d'uso:

  • app_astra.c/.h
    questo file principale è il punto di ingresso e chiama le funzioni di inizializzazione all'interno di MX_Astra_Init() (listato 1).

Immagine della funzione MX_Astra_Init() utilizzata per l'inizializzazione del sistema.Listato 1: La funzione MX_Astra_Init() viene utilizzata per l'inizializzazione del sistema. (Listato per gentile concessione di STMicroelectronics)

  • astra_confmng.c/.h
    questo gestore di configurazione della scheda contiene le variabili selezionate dall'utente per abilitare/disabilitare ogni blocco hardware e l'implementazione e la configurazione dei casi d'uso.
  • astra_datamng.c/.h
    questo file memorizza nella RAM i dati raccolti dai sensori e da altri input. Sono pronti per le modifiche, ad esempio per eseguire un algoritmo specifico sui dati.
  • astra_sysmng.c/.h
    questo file implementa le funzioni relative al sistema. Le funzionalità principali sono l'interfaccia a riga di comando, le chiamate dei pulsanti, gli algoritmi, i LED, la gestione dei casi d'uso di tracciabilità delle risorse e la gestione dei timer.
  • SM_APP.c/.h
    questi file contengono le strutture di configurazione della macchina a stati.

Conclusione

Lo sviluppo di applicazioni di tracciabilità delle risorse è un processo complesso e multi-fase, ma la piattaforma di sviluppo multifunzionale STEVAL-ASTRA1B lo semplifica molto. Con tutto l'hardware e il software necessari su scheda, è un modo rapido e semplice per visualizzare i dati registrati di un transponder wireless nell'interfaccia web o tramite l'applicazione per dispositivi mobili. Come illustrato, gli sviluppatori possono semplicemente personalizzare questo datalogger wireless per l'applicazione di monitoraggio o tracciamento finale utilizzando strumenti di configurazione flessibili senza programmazione del codice, oppure possono utilizzare il generatore automatico di codice.

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

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.