Come prototipare rapidamente i dispositivi IoT utilizzando il nodo IoT del kit B-L4S5I-IOT01A Discovery
Contributo di Editori nordamericani di DigiKey
2021-09-22
Mentre i dispositivi sono sempre più connessi all'Internet delle cose (IoT), gli sviluppatori che partono da zero si stanno rendendo conto che tutto non è ancora così semplice come pensavano, in particolare se i tempi sono stretti e i costi sono limitati. Dalla scelta di un ambiente di sviluppo affidabile, sicuro e ben supportato alla selezione di software e hardware compatibili, scoprono che progettare e creare un dispositivo IoT richiede ancora svariate competenze.
Ciò di cui gli sviluppatori hanno sempre più bisogno è l'accesso a soluzioni sicure, librerie di connettività cloud, un RTOS e una piattaforma di sviluppo hardware e software compatibile con sensori integrati, il tutto in un formato scalabile.
Questo articolo illustra come i progettisti IoT possono prototipare rapidamente i prodotti utilizzando il nodo IoT del kit B-L4S5I-IOT01A Discovery di STMicroelectronics. Esamina le capacità del microcontroller su scheda, i numerosi sensori e le opzioni di configurazione e come connettersi ad Amazon Web Services (AWS) e iniziare rapidamente a creare un prototipo e un prodotto finale.
Introduzione al nodo IoT del kit B-L4S5I-IOT01A Discovery
La scheda B-L4S5I-IOT01A Discovery è una scheda di sviluppo completa utilizzabile per prototipare quasi tutti i dispositivi IoT embedded (Figura 1). La scheda ha una quantità sufficiente di potenza di elaborazione, sensori ed espandibilità da far sognare ad occhi aperti qualsiasi sviluppatore di applicazioni. La scheda B-L4S5I-IOT01A è basata sul processore a basso consumo STM32L4S5VIT6 Arm® Cortex®-M4 da 120 MHz, supportato da 2 MB di Flash di programma e 640 kB di SRAM. STM32L4S5VIT6 ha anche caratteristiche ideali per applicazioni IoT come:
- Un'unità in virgola mobile (FPU)
- Un controller di accesso dinamico alla memoria (DMA) a 14 canali
- Un acceleratore hardware per la crittografia AES e HASH
- Funzioni grafiche avanzate
- Un punteggio di riferimento energetico di 233 ULPMark CP
Figura 1: B-L4S5I-IOT01A è basato su un processore Arm Cortex-M4 da 120 MHz con 2 MB di memoria flash, 640 kB di RAM, connettività wireless e vari sensori. (Immagine per gentile concessione di STMicroelectronics)
La potenza di elaborazione e l'efficienza energetica da sole non fanno l'eccellenza di una piattaforma di prototipazione rapida. La scheda è anche dotata di connettività wireless sotto forma di un modulo Wi-Fi conforme a 802.11b/g/n (ISM43362-M3G-L44) di Inventek Systems e un modulo Bluetooth 4.1 di STMicroelectronics, oltre a una serie di sensori. Questi includono due microfoni omnidirezionali digitali MP34DT01, un sensore digitale capacitivo HTS221 per l'umidità relativa e la temperatura e un magnetometro a tre assi ad alte prestazioni LIS3MDL.
L'elenco di cui sopra non è completo; la descrizione più dettagliata è riportata qui. Poi, è importante esaminare gli strumenti software e gli stack disponibili per accelerare lo sviluppo.
L'ecosistema STM32
L'ecosistema che circonda qualsiasi scheda di sviluppo determina se un team può creare un prototipo rapido o meno. Ad esempio, per prototipare un dispositivo IoT con B-L4S5I-IOT01A, gli sviluppatori hanno bisogno di accedere a un compilatore, un ambiente di sviluppo integrato (IDE), librerie di driver, strumenti di configurazione e software per gli aggiornamenti firmware. La scheda B-L4S5I-IOT01A Discovery supporta tutte queste esigenze.
Molti sviluppatori usano Eclipse e il compilatore GNU C per l'ambiente di sviluppo. STMicroelectronics fornisce uno strumento gratuito, STM32CubeIDE (Figura 2), che permette loro di programmare e costruire progetti software. STM32CubeIDE permette di accedere attraverso varie prospettive a un ambiente di sviluppo software, uno strumento di configurazione per microcontroller e un ambiente di debug.
Figura 2: STM32CubeIDE fornisce agli sviluppatori un IDE per creare, configurare e gestire il software embedded del loro dispositivo IoT. (Immagine per gentile concessione di Beningo Embedded Group)
STM32CubeIDE non solo è un modo per creare, costruire e gestire progetti software, ma ha anche un'interfaccia per STM32CubeMx. STM32CubeMx è uno strumento di configurazione per microcontroller che permette di configurare reti di distribuzione del clock, periferiche, sensori e middleware. Gli sviluppatori configurano le impostazioni, poi la toolchain genera i driver e i file di configurazione, riducendo drasticamente il tempo di sviluppo e aiutandoli a concentrarsi sul codice applicativo e non sul codice dell'infrastruttura standard.
Oltre a configurare e distribuire una base di codice, l'ecosistema STM32 viene fornito con diversi strumenti utili per gli sviluppatori che lavorano su progetti d'avanguardia. Ad esempio, coloro che desiderano sfruttare l'apprendimento automatico nelle applicazioni possono utilizzare l'estensione X-CUBE-AI di STM32Cube.AI, che fornisce ai team un quadro semplificato per convertire, convalidare ed eseguire inferenze su STM32. Così, gli sviluppatori possono addestrare un modello usando TensorFlow Lite e poi convertire il modello in pochi minuti in codice C sul microcontroller. Inoltre, esistono pacchetti di estensioni con software pronto all'uso tra cui:
- FP-AI-FACEREC per applicazioni di riconoscimento facciale
- FP-AI-NANOEDG1 per applicazioni di monitoraggio delle condizioni
- FP-AI-VISION1 per applicazioni di classificazione delle immagini
- FP-AI-SENSING1 per applicazioni di classificazione audio e della scena
Ogni dispositivo IoT dovrebbe considerare la sicurezza, anche durante la fase di prototipazione rapida. Il web oggi pullula di attacchi, violazioni della sicurezza e sfruttamento dei dati aziendali e dei clienti. Pertanto, qualsiasi piattaforma di prototipazione rapida dovrebbe avere la capacità di scalare a un sistema di produzione in modo efficiente. La scheda Discovery può sfruttare gli stack software Secure Boot Secure Firmware Update (SBSFU) di STMicroelectronics per fornire agli sviluppatori questa capacità. SBSFU è disponibile nel pacchetto di funzioni X-CUBE-SBSFU, che fornisce:
- Servizi per la radice di attendibilità (RoT)
- Servizi di gestione sicura delle chiavi
- Schemi crittografici
- Servizi di aggiornamento del firmware sicuro
L'ecosistema che circonda la scheda B-L4S5I-IOT01A Discovery è ricco, con molti pacchetti di funzioni e strumenti disponibili per aiutare lo sviluppatore. Molti sviluppatori IoT sono interessati al pacchetto X-CUBE-AWS che fornisce tutto l'occorrente per connettersi al cloud quando si usa AWS. Esaminiamo come si potrebbe fare.
Connessione al cloud
Per iniziare con il cloud, uno sviluppatore deve scaricare X-CUBE-AWS. Il pacchetto software viene fornito come un file zip con diversi progetti concepiti per l'uso su B-L4S5I-IOT01A, ad esempio:
- Bootloader_KMS
- Bootloader_STSAFE
- Cloud
Questi progetti si trovano sotto:
Projects/B-L4S5I-IOT01A/Applications/
Con il progetto AWS cloud che si trova sotto:
Cloud/aws_demos
Il progetto cloud è disponibile per STM32Cube IDE, Keil e IAR. Naturalmente, uno sviluppatore potrebbe trasportarli su altri IDE, ma questi tre sono i più usati nel settore.
Uno sviluppatore non deve sapere come far funzionare il progetto in modo indipendente. Sono disponibili diversi documenti utili per aiutarli a partire. In primo luogo, nella directory principale del progetto, il file Release_Notes.html che contiene informazioni generali sul progetto insieme a limitazioni e riferimenti preziosi.
Poi, la guida introduttiva che descrive come connettersi ad AWS utilizzando il progetto. Questo documento descrive come connettersi ad AWS insieme alle informazioni sullo stack e sul software (Figura 3). Il documento descrive anche gli stack software in dettaglio, che può aiutare lo sviluppatore a capire come è organizzato e le modifiche necessarie per connettere il dispositivo al cloud.
Figura 3: X-CUBE-AWS fornisce il firmware e gli esempi applcativi necessari per connettersi ad AWS e sviluppare un prodotto IoT in grado di connettersi ad AWS. (Immagine per gentile concessione di STMicroelectronics)
Il modo più semplice per connettersi al cloud consiste nel seguire il tutorial della guida introduttiva. Oltre al tutorial, ci sono diverse fonti di riferimento aggiuntive utili per familiarizzare velocemente con il pacchetto software, tra cui:
Tra questi documenti, gli sviluppatori possono ottenere rapidamente un'applicazione cloud che può essere utilizzata come base per la loro applicazione per dispositivi IoT.
Consigli e suggerimenti per l'utilizzo della scheda B-L4S5I-IOT01A Discovery
La scheda B-L4S5I-IOT01A Discovery ha molte caratteristiche e capacità che gli sviluppatori possono sfruttare per prototipare rapidamente un prodotto embedded. Di seguito sono forniti diversi "suggerimenti" da tenere a mente che possono semplificare e accelerare lo sviluppo, ad esempio:
- Approfittate di X-CUBE-AWS per connettervi facilmente ad AWS. Il pacchetto software viene fornito con FreeRTOS già sulla scheda di sviluppo; gli sviluppatori devono solo distribuire il dispositivo per la connessione al cloud.
- Leggete attentamente la documentazione per iniziare. La documentazione contiene i passi necessari per eseguire un aggiornamento del firmware e connettersi ad AWS.
- Sperimentate le capacità di aggiornamento via etere (OTA) dell'esempio. La necessità di applicare patch e aggiornare i dispositivi IoT sul campo è critica. Gli sviluppatori dovrebbero essere consapevoli delle capacità e delle eventuali limitazioni degli aggiornamenti sicuri del firmware.
- Evitate di partire da zero sfruttando i pacchetti di funzioni di STMicroelectronics, che aiutano gli sviluppatori a iniziare subito con le capacità e funzionalità del dispositivo. Questi pacchetti di funzioni possono accelerare enormemente lo sviluppo.
- Prendetevi il tempo di leggere la documentazione STSAFE e capire come migliorare la sicurezza del dispositivo con Secure Element. La sicurezza deve essere incorporata in un dispositivo fin dall'inizio, quindi farlo durante la fase di prototipazione rapida è essenziale.
Seguendo questi consigli, gli sviluppatori risparmieranno parecchio tempo nella prototipazione delle applicazioni.
Conclusione
Sviluppare un dispositivo connesso all'IoT da zero ha ancora molti ostacoli e insidie che possono ritardare i programmi e far lievitare i costi. Per evitare questi problemi, gli sviluppatori possono sfruttare la scheda B-L4S5I-IOT01A Discovery per prototipare rapidamente le applicazioni connesse. Gli stack software, i pacchetti di espansione e l'ecosistema di STMicroelectronics forniscono agli sviluppatori uno sportello unico per integrare facilmente il software e accelerare l'implementazione. B-L4S5I-IOT01A è anche in grado di soddisfare le esigenze dei dispositivi moderni come la connettività cloud, l'avvio sicuro del firmware con OTA e persino l'esecuzione di applicazioni di apprendimento automatico di base.
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.




