I progettisti che sviluppano sistemi embedded come i dispositivi IoT si concentrano sull’innovazione a livello applicativo per diversificare i loro prodotti, così come i produttori costituiscono una fonte sempre più importante di idee con un notevole potenziale per prodotti ad alta penetrazione. In entrambi i casi, il tradizionale approccio di sviluppo dei prodotti embedded, che consiste nel combinare l’hardware di base con il cuore dell’applicazione, potrebbe costituire un ostacolo al raggiungimento del successo. Un’insufficiente competenza nella progettazione hardware, come la mancanza di risorse finanziarie o produttive per realizzare un prototipo, potrebbero impedire a un’applicazione, sia pure molto valida, di uscire dallo stadio dell’idea iniziale. I fornitori di componenti e i più attivi fra i distributori hanno identificato le grandi potenzialità per liberare il talento progettuale applicativo che, in questo scenario, potrebbero essere offerte dalla disponibilità di piattaforme hardware flessibili con tutte le funzionalità necessarie agli sviluppatori per iniziare rapidamente il progetto di un prototipo. Una scheda adatta a questo scopo deve essere dotata delle funzioni più rilevanti per i tipi di applicazioni da realizzare. Ad esempio, la messa a punto di prototipi di applicazioni IoT potrebbe richiedere almeno un microcontrollore a basso consumo, funzioni di connettività come Ethernet o Usb, supporto wireless Bluetooth Low Energy o Wi-Fi e diversi sensori di temperatura, moto, pressione o di luce ambientale.
Una piattaforma per ogni esigenza
Sul mercato sono già presenti numerose schede di elaborazione, alcune delle quali sono diventate vere e proprie piattaforme di prototipizzazione di ampia diffusione. Alcune, come la Raspberry Pi, non sono state concepite inizialmente come piattaforme di sviluppo e si sono diffuse per mancanza di alternative. Uno dei principali svantaggi di questo tipo di schede è che contengono parti fondamentali, come il processore host, che non sono ideali per certe applicazioni, come ad esempio i dispositivi IoT con esigenze di basso consumo, e potrebbero essere di difficile reperibilità sul mercato. L’iniziativa 96Boards è l’esempio di un concetto creato per superare queste limitazioni, offrendo la flessibilità desiderata dagli sviluppatori che vorrebbero avere la libertà di realizzare le loro nuove idee di prodotto come desiderano. Ci sono tre specifiche di 96Boards, ognuna delle quali si indirizza a un settore chiave del mercato embedded. Queste schede si basano su microprocessori Arm Cortex-A
e su microcontrollori Cortex Rx/Mx. Inoltre, gli sviluppatori possono utilizzare la loro conoscenza di questi core standard a 32 bit e a 64 bit, come del codice già esistente e già collaudato. Infine sono specificati i fattori di forma standard, il che semplifica la progettazione del prodotto finale. Attualmente sono disponibili le specifiche di tre 96Boards:
- la versione CE (Consumer Edition), che si rivolge ai segmenti home digitale, mobile e embedded;
- la versione EE (Enterprise Edition), che si rivolge ai segmenti delle reti e dei server;
- la versione IE (IoT Edition), che si rivolge ai segmenti Internet of Things ed embedded.
La piattaforma a basso costo CE è adatta all’impiego di sistemi operativi standard Linux-based, come Android o il software open-source/maker community. Questa specifica definisce un fattore di forma compatto card-type con dimensioni di 85 x 54 x 12 mm e richiede un minimo hardware, che include almeno 0,5 GB di Ram, un MicroSdhc Socket per un massimo di 64 GB di memoria Flash di storage, Wi-Fi e Bluetooth LE, supporto per Usb Host e Device, oltre alle interfacce correnti Pc media, come Hdmi, e testate 40-way e 60-way ad uso dello sviluppatore. I membri di 96Boards possono certificare i progetti della loro scheda conformemente a questa specifica. Le schede possono quindi essere rese disponibili per gli sviluppatori, chiavi in mano e pronte per l’uso, come piattaforme embedded. Arrow, in qualità di membro di 96Boards, ha operato come pioniere nella creazione di una delle prime schede CE, attualmente molto diffusa, la DragonBoard 410c. Basata sul diffusissimo processore di Qualcomm Snapdragon 410 a 64 bit con architettura Arm v8, questa scheda consente di iniziare progetti a basso costo utilizzando le più avanzate tecnologie mobili. Nell’ultimo anno Qualcomm, Linaro e Arrow hanno sviluppato un esteso supporto software e di ecosistema per DragonBoard 410c. C’è un’ampia scelta di sistemi operativi, che comprende Android, Debian Linux, OpenEmbedded, Ubuntu Core e Windows 10 IoT, che funzionano perfettamente con i più diffusi kit di sviluppo IoT come Aws (Amazon web services), AT&T M2X, Brillo, Ibm Bluemix Watson e Microsoft Azure. Di recente, il gruppo 96Boards ha realizzato Carbon Ble, la prima scheda compatibile al mondo certificata 96Boards IoT Edition, disponibile nella propria rete di distribuzione. Grazie al fatto che la specifica IE consente l’uso di SoC a 32 bit o a 64 bit nei profili Cortex R/M o Cortex-A, Carbon Ble trae vantaggio da questa flessibilità per indirizzarsi al microcontrollore STM32F401RE 84MHz Cortex-M4 di STMicroelectronics. Essa è precaricata anche con il nuovo Rtos leggero Zephyr della fondazione Linux e, di conseguenza, offre una combinazione di elevate prestazioni e alta efficienza energetica per estendere la durata di sofisticate applicazioni IoT. La connettività wireless è quella di nRF51822 Bluetooth LE SoC di Nordic e della relativa antenna in chip, mentre gli sviluppatori possono aggiungere sensori o altre funzionalità, eventualmente richieste mediante l’header di espansione a bassa velocità e 30 vie. La scheda utilizza il compatto fattore di forma IE Standard Micro di 60 x 30 x 9 mm.
Ampliare la scelta
Oltre a supportare le specifiche 96Boards, Arrow trae vantaggio dallo stretto contatto con i principali fornitori di semiconduttori e IP per offrire ai progetti IoT un approccio al mercato ancora più flessibile. In collaborazione con gli esperti di sistemi embedded focalizzati sull’IoT dell’italiana Reloc e con Renesas, Arrow ha guidato lo sviluppo della scheda Aris (Arrow Renesas IoT Synergy). Questa piattaforma ad alta integrazione (Fig. 1) combina la potenza del processore Renesas S7 240MHz Cortex-M4 con un accelerometro Mems e un giroscopio integrati e con i sensori di temperatura e di umidità, e costituisce la soluzione ideale per un’ampia gamma di applicazioni di data logging o context-sensing. Sono supportate tutte le connettività wireless Bluetooth LE, Wi-Fi e Nfc. Il supporto integrato per Nfc consente di realizzare applicazioni come sensori industriali per forzare i dati al Cloud mediante un lettore Nfc o uno smartphone Nfc-enabled. L’esteso supporto software disponibile offre un potente vantaggio agli sviluppatori che utilizzano Aris. Reloc ha sviluppato un set completo di driver e di middleware per la gestione delle periferiche del dispositivo, creando un ambiente di sviluppo IoT esterno. La piattaforma di sviluppo Synergy di Renesas offre potenti risorse che aiutano a completare lo sviluppo del software, fra cui il Bsp (Board support package) e gli esempi di codice.
Aumentare la sicurezza
Un’altra iniziativa guidata da Arrow per una piattaforma IoT è la board SmartEverything, che combina la sicurezza hardware con un’estesa integrazione di sensori e con la capacità di elaborazione dell’Arm Cortex-M0+ a basso consumo (Fig. 2). La garanzia, per i sistemi intelligenti connessi, di una difesa contro gli attacchi fisici od on-line è attualmente la preoccupazione numero uno di molti sviluppatori di applicazioni IoT. SmartEverything contiene un dispositivo ATSHA204 CryptoAuthentication di Atmel, che dispone di molte funzionalità Tpm (Trusted platform module) adatte alle applicazioni embedded. Esso implementa un completo algoritmo hash di sicurezza Sha-256 con il supporto di autenticazione messaggi, e può essere usato per la validazione dell’autenticità del software, del firmware o dell’hardware, garantendo un boot sicuro, controllando le password, scambiando chiavi di sessioni e fornendo un sicuro storage dei dati. Sulla scheda sono presenti sensori di moto, di temperatura, di pressione, di luce ambientale e sensori di prossimità che usano le variazioni del tempo di volo per avere una precisione maggiore di quella dei sensori di prossimità tradizionali. La connettività wireless locale comprende Bluetooth Low Energy e Nfc. Per dare al Cloud una connessione wireless a basso consumo, la scheda supporta una tecnologia a banda strettissima, che permette comunicazione a lunga distanza libera da licenza mediante la rete globale SigFox. Il modem SigFox presente a bordo contiene un ricevitore Gps e un’antenna integrata.