Soluzioni Embedded per l’IoT: compiere le scelte corrette

0
3182
Soluzioni Embedded per l'IoT: compiere le scelte corrette
4
(2)

Il mercato delle soluzioni embedded è evoluto significativamente nell’ultimo decennio, guidato principalmente dall’espansione del settore IoT. Applicazioni sempre più sofisticate richiedono sempre maggiore potenza di calcolo e flessibilità pur tendendo alla miniaturizzazione. Allo stesso modo molte applicazioni, come, ad esempio, i dispositivi indossabili, richiedono dispositivi poco energivori che possano funzionare per estesi periodi di tempo facendo affidamento sulla propria batteria senza ventilazione attiva.

Questa evoluzione è stata abilitata da una sempre maggiore innovazione nei sistemi embedded. Questo articolo descrive alcuni dei trend chiave in questo mercato, con particolare attenzione a come i requisiti di nuove applicazioni stanno guidando l’innovazione nelle offerte hardware e software. Illustra anche alcune delle scelte che gli sviluppatori di soluzioni embedded sono chiamati a fare in un ambiente così dinamico. Inoltre, discute dell’importanza di un ecosistema embedded che possa efficientemente ridurre gli sforzi di sviluppo in modo da rientrare in scadenze stringenti e vincoli di costo.

L’IoT come motore dell’innovazione nei sistemi embedded

Il mercato globale dell’IoT continua a crescere rapidamente, spinto da fattori quali l’accesso alla tecnologia dei sensori a basso costo e a basso consumo, la disponibilità di connettività ad alta velocità, l’aumento dell’adozione di infrastrutture cloud e il crescente utilizzo dell’elaborazione dei dati e delle analisi basate sull’intelligenza artificiale. Gli sviluppatori di tutti i settori stanno sfruttando queste tecnologie per realizzare applicazioni innovative, tra cui wearable e sistemi mobili avanzati nei settori consumer e medicale, automobili autonome, sistemi di automazione di fabbrica e molto altro. In questo mercato dinamico stanno emergendo diverse tendenze, tra cui:

  • La crescente disponibilità di dispositivi a semiconduttori a basso consumo consente di realizzare un’ampia gamma di sensori a basso costo che possono funzionare per periodi prolungati con alimentazione a batteria.
  • I sensori stanno diventando sempre più intelligenti grazie all’aumento della potenza di elaborazione e molti dispositivi on the edge sono ora in grado di controllare schiere di sensori, raccogliere e pre-elaborare i loro dati.
  • Software sofisticato, un tempo limitato a potenti server nel cloud, può ora essere ospitato su questi dispositivi di elaborazione locale (edge computing). L’edge computing avvicina l’elaborazione e l’archiviazione dei dati alle loro fonti, riducendo le latenze associate a Internet e ai volumi di dati che vi transitano.
Figura 1: L’Edge computing porta l’elaborazione e lo storage dei dati fisicamente vicino alle fonti
  • Le architetture cloud-edge emergenti consentono di distribuire e scambiare le risorse dei server tra il cloud e i dispositivi sul campo e supportano la crescente capacità delle applicazioni IoT di sfruttare le tecniche di intelligenza artificiale, attraverso modelli di Machine Learning eseguiti sull’edge.
  • Gli OEM e i produttori sono sempre più interessati a monetizzare i dati generati dalle loro apparecchiature, utilizzando applicazioni basate sull’AI per offrire servizi a valore aggiunto come la manutenzione predittiva nei settori automobilistico e industriale.
  • Con molti processi mission-critical che dipendono dai dati generati da un numero crescente di endpoint IoT, il tema della sicurezza informatica è sempre più rilevante. Ogni endpoint rappresenta un possibile punto di ingresso per un attacco che potrebbe alterare il comportamento di un’applicazione con risultati potenzialmente disastrosi. Misure di sicurezza efficaci devono abbracciare l’intero stack software, a partire da processi di bootstrap sicuri e comprendendo l’utilizzo di sistemi operativi protetti, connettività cloud e strategie OTA sicure. Esistono diversi standard di sicurezza, come ETSI EN 303 645 e ETSI TS 103, che guidano gli sviluppatori nell’implementazione di soluzioni di sicurezza efficaci, mentre l’European Cybersecurity Act fornisce un quadro di riferimento per la cybersecurity dei prodotti.

L’evoluzione dell’IoT ha determinato una corrispondente evoluzione della tecnologia embedded, dell’hardware, delle tecnologie software e degli strumenti a supporto di suddette innovazioni. Esaminiamo cosa deve offrire la tecnologia embedded per soddisfare questi requisiti.

L’evoluzione dell’elaborazione Embedded

I sistemi embedded comprendono processori a basso costo e a basso consumo destinati ad applicazioni specifiche, incorporati in sistemi meccanici o elettrici che raccolgono dati da questi dispositivi fisici per consentire all’utente di prendere decisioni circostanziate e restituire i risultati ai dispositivi fisici. Questa definizione di base copre un ecosistema hardware e software complesso che si evolve costantemente per soddisfare i requisiti di cui sopra.

Ad esempio, la classica assegnazione delle architetture dei processori alle aree di applicazione sta attualmente cambiando: la logica consolidata dei dispositivi basati su Arm Cortex per le applicazioni embedded a bassa potenza e X86 per i client e i server più performanti sta cambiando, poiché le prestazioni dei dispositivi basati su Arm, come i processori QCS5430/6490 di Qualcomm e la serie Genio 510/700 di Mediatek, si avvicinano a  quelle dei dispositivi X86 .

Inoltre, moderni dispositivi Arm come i.MX 8MPlus di NXP, la serie Genio 510/700 e i chip QCS5430/6490 sono dotati di acceleratori neurali per facilitare l’inferenza veloce. I dispositivi Arm sono, quindi, sempre più interessanti per l’utilizzo in applicazioni AI ad alte prestazioni in ambito edge. Allo stesso tempo, esiste una notevole quantità di software X86 precostituito che non può essere utilizzato efficacemente con le architetture Arm. La scelta dell’architettura Arm o X86 dipende, quindi, non solo dall’applicazione specifica, ma anche dalle competenze di sviluppo interne e dagli investimenti software esistenti.

Il compito di sviluppare soluzioni hardware per l’IoT si sta semplificando grazie all’integrazione, da parte di aziende come SECO, dei più recenti System-on-Chip (SoC) di produttori come Qualcomm, MediaTek, NXP e Intel in Computer-on-Modules (COM) in modo indipendente dall’architettura. Integrando il SoC con funzionalità quali DRAM, boot-flash, distribuzione della tensione e interfacce di comunicazione, i COM vengono implementati insieme a schede carrier specifiche per l’applicazione, contenenti funzionalità definite dal cliente. L’utilizzo di un COM accelera il ciclo di sviluppo, consentendo allo sviluppatore di concentrarsi sull’applicazione finale senza occuparsi della progettazione hardware. Le economie di scala ottenibili con l’approccio COM aumentano anche i margini di profitto e riducono i rischi di sviluppo grazie all’uso di soluzioni affidabili e testate. I COM consentono anche un secondo approvvigionamento di hardware e supportano la scalabilità al di là di una famiglia di processori, di fornitori di processori e persino di architetture (Arm Cortex o x86).

Per garantire l’interoperabilità dei moduli COM sono nati diversi standard, tra cui SMARC, COM Express e COM-HPC. I moduli SMARC rappresentavano circa il 15% del totale del mercato dei COM, valutato 1 miliardo di dollari nel 2022, con applicazioni prevalenti nella fascia a bassa potenza del mercato. Con un fabbisogno energetico tipico di pochi Watt, i moduli SMARC sono solitamente basati su processori Arm. Tuttavia, possono essere dotati di altre architetture SoC a basso consumo, tra cui X86. L’aderenza allo standard SMARC, che specifica le caratteristiche fisiche del COM, garantisce la continuità del prodotto finale; sostituendo il COM, il prodotto può essere aggiornato durante il suo ciclo di vita per sfruttare nuove funzionalità.

I COM, come il SOM-SMARC-Genio700 e il SOM-SMARC-Genio510 di SECO, figura 2, sono la scelta ideale per la realizzazione di soluzioni embedded.  Basate sui nuovi processori applicativi Genio 510/700 di Mediatek, queste potenti aggiunte alla vasta famiglia di moduli SMARC di SECO sono destinate alle applicazioni IoT industriali che richiedono prestazioni elevate e bassi consumi. Mentre il processore Genio510 offre un’impressionante potenza di calcolo a un prezzo conveniente, il Genio700, con 2 core aggiuntivi, garantisce prestazioni ancora più elevate per applicazioni che devono sostenere un maggior carico di lavoro.

Figura 2: Il modulo SOM-SMARC-Genio700 di SECO (Source: SECO)

I COM SOM-SMARC-QCS5430 e SOM-SMARC-QCS6490 semplificano l’accesso ai processori QCS5430 e QCS6490 ad alte prestazioni di Qualcomm. Questi COM supportano le applicazioni di apprendimento automatico locale ad alta intensità di calcolo e offrono anche la possibilità di utilizzare Windows.

Altri COM disponibili da SECO includono il SOM-SMARC-MX95, basato sul processore NXP i.MX 95, che offre una potenza di elaborazione superiore e funzioni di sicurezza avanzate per la prossima generazione di applicazioni edge.

Esistono anche librerie di componenti software standardizzati che consentono il riutilizzo di codice collaudato, evitando inutili rielaborazioni. Poiché lo sviluppo di applicazioni IIoT è sempre più incentrato sulla servitizzazione, gli strumenti middleware, come la suite software Clea di SECO, creano un livello di astrazione dall’infrastruttura sottostante, consentendo allo sviluppatore di concentrarsi sullo sviluppo di applicazioni a valore aggiunto. La suite software open-source Clea integra l’orchestrazione dei dati attraverso i suoi componenti middleware di base e supporta la rapida implementazione di modelli di intelligenza artificiale su scala. La suite software cloud-agnostica astrae lo sviluppatore dalle complessità delle piattaforme IoT sottostanti, garantendo il pieno controllo del percorso dei dati e offrendo al contempo funzionalità complete di gestione dei dispositivi, compresi gli aggiornamenti OTA e la containerizzazione del software. Lo stack modulare di Clea comprende tre componenti principali, Portal, Edgehog e Astarte, ed è scalabile da POC a implementazioni di produzione complete. Clea è in grado di eseguire i servizi Google Cloud out-of-the-box e gli sviluppatori possono utilizzare il set di strumenti completo per creare rapidamente applicazioni AI personalizzate, beneficiando anche di una serie di strutture precostituite attraverso il Clea App Framework.

Sviluppare una soluzione embedded

La descrizione precedente illustra le sfide degli sviluppatori di fronte alla progettazione di una soluzione embedded. Per garantire che l’integrazione sfrutti efficacemente tutte le tecnologie disponibili, è necessaria una notevole conoscenza di diverse aree.

La scelta del processore è determinata dalla posizione dell’applicazione nello spettro prestazioni-potenza, ma anche dalle esigenze del software di sistema. Per molti versi, il software determina la progettazione del prodotto più dell’hardware, a causa del tempo e delle risorse necessarie per il suo sviluppo, nonché dell’impatto del software sull’esperienza dell’utente.

Nella scelta dell’hardware si deve tenere conto anche del ciclo di vita del prodotto; rispetto agli oltre 10 anni dei dispositivi Arm, i processori X86 vengono tradizionalmente sostituiti dopo cinque-sette anni. Ciò potrebbe non essere l’ideale per alcuni prodotti, anche se Intel ha recentemente annunciato l’intenzione di supportare le CPU industriali per 15 anni e l’uso di COM può mitigare i problemi del ciclo di vita.

Nella scelta tra Arm e X86, lo sviluppatore deve anche considerare le competenze interne disponibili e gli investimenti in strumenti di sviluppo come IDE e compilatori. Se il team interno ha esperienza con l’ambiente Windows e ha creato librerie di componenti riutilizzabili, il passaggio ad Arm e Linux può produrre ritardi nel progetto.

È necessario considerare anche la sicurezza della soluzione, che influisce non solo sulla scelta dell’hardware e del software, ma anche sulla manutenzione periodica e sugli aggiornamenti.

Con una scelta così ampia, il rischio è che si perda tempo prezioso per lo sviluppo in fase di valutazione e analisi e, peggio ancora, che scelte sbagliate portino a una precoce obsolescenza del prodotto. Nel frattempo, in un ambiente così competitivo c’è un’enorme pressione per arrivare rapidamente sul mercato con soluzioni scalabili e convenienti e le aziende devono sfruttare un ecosistema efficace per facilitare il percorso verso il mercato.

La velocità di commercializzazione richiede un forte ecosistema

Un ecosistema efficace consente agli sviluppatori di sfruttare i prodotti, le soluzioni e le competenze dei partner per ridurre costi e tempistiche del ciclo di sviluppo. I partner dell’ecosistema possono fornire supporto in numerose aree, tra cui il supporto per gli strumenti software, fornendo plug-in, librerie, API, applicazioni e molto altro.

Il compito di scegliere e integrare l’hardware, ad esempio, può essere semplificato adottando una scheda COM preconfigurata per applicazioni specifiche. Un buon partner dell’ecosistema, come SECO, può fornire una gamma di SBC e COM in grado di coprire l’intero spettro di prestazioni e potenza, oltre a offrire supporto nell’integrazione. Investendo in partnership strategiche con le aziende tecnologiche leader del settore, SECO partecipa attivamente a un’ampia gamma di programmi di accesso anticipato, consentendo ai propri clienti di beneficiare di tecnologie all’avanguardia con rischi ridotti e time-to-market accelerati.

Lo sviluppo del software può essere accelerato utilizzando strumenti come la suite software Clea di SECO, che semplifica l’accesso ai dispositivi e la gestione dei dati e fornisce anche framework precostituiti per supportare il rapido sviluppo di routine di intelligenza artificiale. SECO può anche offrire supporto per l’intero ciclo di sviluppo, compreso il supporto alla migrazione tra architetture Windows e Arm.

Nell’attuale mercato dei sistemi embedded, lo sviluppatore ha accesso a un ventaglio di scelte non triviale di funzionalità tecnologiche che possono essere integrate in soluzioni IoT innovative. In un mercato in rapida evoluzione, dove le finestre di opportunità sono brevi, lo sviluppatore non ha il tempo di integrare da zero: sfruttare le capacità dell’ecosistema è la chiave del successo.

di Volker Keith, Executive Vice President Product Division ARM COM, SECO Northern Europe

Per informazioni clicca qui

Quanto hai trovato interessante questo articolo?

Voto medio 4 / 5. Numero valutazioni: 2

Ancora nessuna valutazione! Valuta per primo questo articolo.