Velocizzare i progetti per l’Internet delle Cose

Non c’è alcun dubbio che l’argomento Internet delle Cose stia assumendo proporzioni significative in svariati ambiti, ma certamente non trascurabili nel mondo dell’industria elettronica. Il suo impatto è visibile praticamente in tutti i settori: dalle vendite al dettaglio B2C al commercio B2B. Se tra i consumatori più appassionati di tecnologia, le applicazioni IoT sono già conosciute da tempo (basti citare i braccialetti da indossare per monitorare l’attività fisica), le soluzioni per l’Internet delle Cose in ambito industriale rappresentano un mercato diverso, ma altrettanto rilevante e pronto ad esplodere. Le aziende non vedono l’ora di sfruttare al meglio questa nuova tecnologia per ottimizzare i processi aziendali e le attività quotidiane: in questo senso l’IoT può essere di enorme aiuto. Raccogliere grandi quantità di dati operativi, i cosiddetti “Big Data”, generati proprio dalle applicazioni IoT, sta aprendo le porte alla fornitura di una serie di servizi di nuova generazione, nonché a nuovi modelli di business che in passato erano semplicemente impensabili. Non è solamente la varietà delle diverse applicazioni di Internet delle Cose ad essere degna di nota, ma anche la rapidità con cui queste stanno arrivando sul mercato. Sia che si tratti delle attività vendita al dettaglio, sia di quelle destinate alle imprese, la possibilità di introdurre nuovi modelli di business, stabilire nuove collaborazioni, sfruttare il vantaggio di lanciare per primi un prodotto sul mercato e plasmare ecosistemi che verranno largamente adottati, si basa proprio sulla capacità di immettere sul mercato per tempo il progetto hardware. Gli sviluppatori di sistemi embedded stanno affrontando molte sfide a livello progettuale per sviluppare idee che siano efficienti dal punto di vista energetico, che abbiano un elevato livello di funzionalità e dotate di connessioni wireless, il tutto in una frazione del tempo necessario in passato! Non è quindi una sorpresa che i progettisti si sentano costretti a cambiare radicalmente il proprio modo di approcciare un qualsiasi progetto che si basi sulla tecnologia IoT.

Compatibilità e piattaforme
La maggior parte delle applicazioni legate all’Internet delle Cose presenta componenti simili tra loro, vale a dire: una serie di nodi terminali (sensori), un gateway (per facilitare la comunicazione a corto e medio raggio) ed un servizio basato su cloud oppure, in alternativa, un’applicazione di analisi statistica dei dati. La conformità alle specifiche tecniche tipiche dei sistemi aperti è ormai fondamentale per qualsiasi progetto pensato per l’Internet delle Cose, poiché è una condizione necessaria per garantire una compatibilità trasversale con le diverse piattaforme esistenti e per facilitare l’adozione su ampia scala di sensori capaci di adattarsi alle più svariate applicazioni. Indipendentemente dal tipo di applicazione, i nodi terminali tendono ad essere composti dai medesimi elementi di base. Tre questi vi sono: la capacità di connettersi a varie tipologie di uno o più sensori, una capacità di elaborazione integrata, la connettività senza fili, la possibilità di supportare protocolli IoT “leggeri” come Mqtt (Message Queue Telemetry Transport) e infine la sicurezza dei dispositivi e delle comunicazioni. Anche la dimensione fisica del dispositivo riveste una notevole importanza. Ciascuno degli aspetti citati porta con sé il proprio corollario di considerazioni e sfide da affrontare: molti dispositivi per IoT, ad esempio, sono alimentati a batteria e questo implica che i loro blocchi funzionali dedicati all’elaborazione e alla comunicazione senza fili debbano consumare pochissimo. Nel cercare velocemente un approccio diverso alla progettazione di soluzioni dedicate all’Internet delle Cose, molti sviluppatori di sistemi embedded hanno scelto di usare uno dei potenti computer multifunzione realizzati su singola scheda facilmente reperibili sul mercato. Anche se molti dei computer single board rappresentano dei potenziali candidati, gli sviluppatori devono analizzare con particolare attenzione i requisiti tecnici da rispettare nel loro progetto confrontandoli con le funzionalità standard offerte dai computer su scheda disponibili.

Compatto e ricco di funzionalità
Un esempio di computer Single Board recentemente lanciato sul mercato è il modulo Intel Edison. In un modulo estremamente compatto, che misura solo 35,5 x 25,0 x 3,9 mm, è contenuto un incredibile mix di funzioni. Questo modulo, dalle dimensioni paragonabili a quelle di un francobollo, contiene un sistema completo sotto forma di circuito integrato realizzato da Intel, che comprende sia un microcontrollore Intel Atom dual core con Cpu dual threaded e frequenza di lavoro di 500 MHz, sia un microcontrollore Intel Quark a 32 bit che lavora a 100 MHz. L’intero sistema integrato su un singolo chip, insieme ad 1 GB di memoria Ram, 4 GB di memoria flash e 40 pin generici di ingresso/uscita riconfigurabili, è certamente in grado di soddisfare le necessità di elaborazione di quasi tutti i progetti per Internet delle Cose. L’interfaccia Gpio può essere configurata per il supporto di fino a 20 ingressi/uscite digitali Pwm, fino a 6 ingressi analogici, interfacce Uart, Spi e Usb. Alimentato in corrente continua a 1,8 V, il modulo Edison risulta particolarmente adatto per essere utilizzato nei progetti di prodotti indossabili alimentati a batteria. Tuttavia, ha molto di più da offrire e può soddisfare facilmente – quando non li supera - i requisiti in termini di capacità di calcolo e connettività richiesti da un tipico progetto per Internet delle Cose. Il modulo supporta sia la connettività Wi-Fi secondo lo standard 802.11 a/b/g/n, sia quella Bluetooth 4.0. Presto verrà supportata anche la versione di Bluetooth a basso consumo energetico. La Fig. 2 mostra un diagramma a blocchi del modulo Intel Edison. Sul circuito integrato SoC gira una distribuzione Linux integrata pre-installata, compatibile con Yocto Project, comprensiva anche di Python, Node.js e di uno stack software completo. Tuttavia, la disponibilità di un modulo così completo è solamente uno degli aspetti che ogni sviluppatore professionista di sistemi integrati deve considerare. Per essere in grado di realizzare il prototipo di un progetto è necessario disporre di una piattaforma hardware, come un kit di valutazione, oppure di un progetto di riferimento che consenta di interfacciare sensori ed ogni altro tipo di hardware. Il supporto per lo sviluppo del software rappresenta un altro aspetto cruciale, non solo in termini di disponibilità di un ambiente di sviluppo integrato IDE adeguato, ma anche per quanto riguarda l’intera serie di strumenti necessari al suo avanzamento, come, ad esempio, un sistema operativo real time e qualsiasi altro pacchetto di supporto alla scheda. Intel ha chiaramente dedicato molto impegno per realizzare una soluzione così completa. In particolare, per facilitare lo sviluppo rapido di prototipi, Intel ha progettato due schede madri nelle quali si inserisce il modulo Edison. La prima - e più semplice - è la cosiddetta scheda Intel Edison Breakout. Oltre a fornire una soluzione per rendere accessibile in modo comodo i 70 segnali attestati sul connettore del modulo Edison, la scheda è dotata di un connettore Usb Otg (On-the-go) e di un connettore micro Usb di tipo AB. Inoltre, la scheda dispone di un’area per la prototipazione con una griglia di punti di saldatura con passo di 0,1 pollici per componenti a inserzione, che permette di accedere a tutti i 40 canali Gpio, compresi Pwm, bus I2C, Uart, Spi e tutti i rimanenti segnali Gpio disponibili. La scheda serve anche per alimentare il modulo.

Una scheda di prototipazione
La scheda Intel Edison per Arduino è anch’essa adatta per la prototipazione di una vasta gamma di applicazioni in ambito Internet delle Cose e può essere particolarmente attraente per i progettisti e gli appassionati di elettronica che abbiano familiarità con le schede di espansione (shield) di Arduino. Si tratta di una scheda più ampia e dotata di maggiori funzionalità, che offre sempre l’accesso a tutti i pin Gpio della scheda Breakout, ma in una configurazione compatibile con la piedinatura con una scheda shield per Arduino Uno R3. Questa scheda, rendendo estremamente semplice accedere ad ingressi e uscite Gpio e ad ospitare i numerosi modelli di schede shield Arduino disponibili sul mercato, rappresenta un compagno ideale per il vostro primo sviluppo con il modulo Edison. Poiché il modulo Edison funziona con una tensione di alimentazione di 1,8 V in continua, la scheda prevede una serie di traslatori di livello per poter ospitare gli shield che lavorano a 3,3 V e 5 V, in modo selezionabile dall'utente. La compatibilità con Arduino viene ulteriormente migliorata dalla disponibilità dell’ambiente di sviluppo integrato Ide Intel Edison Arduino. Scaricabile dal sito Maker di Intel, questo ambiente di sviluppo integrato molto ben conosciuto offre un modo semplice e veloce per realizzare i primi prototipi del vostro progetto IoT per mezzo di un programma per Arduino, ossia uno sketch. Sul medesimo sito, inoltre, si possono trovare alcune istruzioni semplici e intuitive adatte per iniziare, nonché collegamenti ad altri approfondimenti specifici. Pensato più specificatamente per gli sviluppatori professionisti è invece l’ambiente di sviluppo integrato XDK di Intel nella versione per Internet delle Cose. Questo pacchetto di strumenti trasversale a più piattaforme supporta Node.js, che è una soluzione particolarmente adatta alle applicazioni IoT. Sono inoltre disponibili ulteriori opzioni di strumenti di sviluppo, come mostrato nella precedente Fig. 4. Lo stack software preinstallato di Edison comprende tutto quanto serve per creare un sistema completo, compreso il programma per avviare il sistema operativo, il pacchetto Linux di supporto per la scheda ed un affidabile programma di avvio del sistema (boot Rom), oltre a pacchetti middleware più specifici per Internet delle Cose, come, ad esempio, lo stack software del protocollo Mqtt, il servizio mDNS (multicast Domain Name System) multicast e conforme allo standard Zeroconf (che prevede la configurazione dinamica dei nodi della rete attraverso il protocollo IP) ed un daemon per la gestione di rete a riga di comando ConnMan. Per semplificare ulteriormente il processo di prototipazione, Intel ha realizzato il kit di connettività e comunicazioni IoT Developer kit. Questo insieme di esempi di codice e di librerie, disponibile sia in Node.js, sia in C/C++, fornisce una serie di semplici esempi di applicazioni per Internet delle Cose, tra cui un termostato per la regolazione del riscaldamento, la documentazione di riferimento ed alcuni brevi seminari tecnici. A complemento di tale libreria e ad integrazione delle capacità offerta dal modulo Intel Edison che spaziano dalla realizzazione di nodi periferici alle comunicazioni con l’infrastruttura cloud, Intel offre l’accesso al sito web IoT Analytics. Questo servizio di analisi molto semplice da utilizzare consente la registrazione di singoli dispositivi basati sul modulo Edison e, sfruttando gli esempi di codice, permette l’archiviazione dei dati generati dalla vostra applicazione di IoT. Le funzioni incluse in questo servizio comprendono: analisi dei dati, rappresentazioni grafiche, allarmi generati in base a regole stabilite e gestione dei dispositivi (nodi IoT).

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome