L’Internet of Things integra nella sua formalizzazione concettuale tutte le più importanti innovazioni recenti, con un potenziale che porterà a cambiamenti radicali, proprio come ha fatto Internet.
Quando una tecnologia o, meglio, una tendenza tecnologica particolarmente intrigante inizia a essere indicata con una sigla molto compatta, vuol dire che si è superata la prima barriera di incertezza, perchè la si considera con familiarità, quasi fosse già presente con tutte le sue promesse di innovazione, con una strada da percorrere forse lunga ma già tracciata. E’ il caso della Internet of Things, cui oramai ci si riferisce come IoT, e nessuno si permetterebbe di parlare di “internet delle cose”, perché troppo banale e soprattutto tale da svilirne il fascino. Di IoT si occupa dal settembre 2010 anche l’Unione Europea conla Internetof Things Initiative (IoT-i), finalizzata a coordinate tutte le azioni che potranno essere di supporto a quella che viene considerata come l’area più importante della Future Internet per l’alto potenziale e l’impatto positivo sull’economia e la società europea, con obiettivi quali: creazione di una vision strategica e tecnica per l’IoT in Europa che vada oltre l’attuale frammentazione di iniziative; contribuire a creare un ambiente sostenibile e socialmente accettabile per le tecnologie IoT e le correlate attività di ricerca e sviluppo; creare un contesto che favorisca l’adozione a livello internazionale della tecnologia IoT europea. Questi obiettivi tengono conto del fatto che attualmente non esiste un’idea ampiamente condivisa su come deve essere un modello di riferimento architetturale dell’IoT, il che rende ovviamente difficile se non impossibile pensare a un’interoperabilità di sistemi IoT diversi, spesso mutuati dalla base concettuale offerta dalle tecnologie machine-to-machine (M2M), che prevedono protocolli e funzionalità consolidate. Ma probabilmente manca qualcosa a questa premessa: cosa si intende per Internet of Things? Il concetto base nasce nel 1999 a opera di Kevin Ashton, cofondatore dell’Auto-ID Center del MIT, Massachusetts Institute of Technology, centro di eccellenza per le tecniche di identificazione automatica in radiofrequenza in cui sono nati standard di riferimento fondamentali per l’RFID, primo tra tutti l’EPC, Electronic Product Code, e non per nulla l’RFID è considerato come un prerequisito per l’IoT. In sintesi, al MIT si era partiti dal fatto che i computer, e di conseguenza internet, sono sostanzialmente dipendenti dagli essere umani per le informazioni, nel senso che la quasi totalità dei dati in qualsiasi forma disponibili su Internet sono stati prima raccolti e poi strutturati dalle persone utilizzando vari dispositivi di input. Ora, le persone sono limitate in tempo, attenzione e precisione, quindi poco adatte a catturare i dati dal mondo reale. Se invece i computer, da intendersi come sistemi di elaborazione di qualsiasi natura, potessero conoscere tutto quello che serve sapere sulle “cose” utilizzando dati raccolti automaticamente, cioè senza intervento umano, si sarebbe in grado di identificare e tracciare qualsiasi cosa, riducendo sprechi e perdite, abbattendo costi; si saprebbe esattamente, per esempio, quando sostituire un pezzo o quando ripararlo. Su queste premesse, si era arrivati a concludere che l’IoT poteva avere il potenziale per cambiare radicalmente il mondo, proprio come ha fatto Internet. Ma cosa manca perché questa visione diventi realtà?
La strada verso la InternetOfThings
Anche se la visione dell’Auto ID Center è abbastanza convincente, pur molto RFID_centric come tecnica di identificazione e raccolta automatica dei dati, non siamo di fronte a un riferimento standard tale da veicolare iniziative strutturate per la realizzazione di implementazioni interoperabili, e in effetti nella realtàla IoT, a seconda del contesto in cui ci si muove, è diversamente interpretata, fino a considerarla una specie di “universal global neural network”, che vuol dire tutto e nulla. Con un approccio più pragmatico, meglio focalizzato sul fatto tecnologico, l’Internet of Things è definibile come un insieme di macchine intelligenti (smart) che interagiscono e comunicano con altre macchine, oggetti, ambienti e infrastrutture, con generazione di enormi volumi di dati e loro elaborazione per attuare azioni utili che possano “comandare e controllare” entità varie, e alla fine anche rendere più semplice e confortevole la vita alle persone. Abbiamo evidenziato le funzioni di comando e controllo perché questo chiama direttamente in causa il mondo di cui ci occupiamo, quindi l’automazione industriale in tutte le sue declinazioni. Questa precisazione potrebbe portare anche a vedere l’IoT come un’evoluzione del machine-to-machine secondo la logica “wireless embedded internet” in cui dispositivi embedded ma IP-enabled diventano parte integrante di Internet, cosa ora possibile con l’accresciuta disponibilità di indirizzi internet dal passaggio dal protocollo IPv4 a IPv6. Ma ben più importante è il riferimento a macchine e dispositivi “smart”.
Le “cose” intelligenti, quindi?
A partire da un certo momento si è iniziato a parlare di smart devices, cioè intelligenti, con ciò intendendo la capacità si svolgere funzioni specifiche sulla base di un programma integrato. Oggi praticamente qualsiasi oggetto che abbia a che fare con l’elettronica o che preveda una parte di contenuto elettronico, è di fatto smart, qualifica che gli arriva dalla presenza di un processore embedded, tipicamente un microcontroller single chip che mette a disposizione programmabilità e funzionalità di comando e controllo, anche limitate ma adeguate allo scopo. Integrando anche una capacità di comunicazione, lo sfruttamento di questa intelligenza può arrivare alla comunicazione remota tra utente e smart device e, come passo ulteriore, un rapporto autonomo tra smart device tra loro, senza intervento umano: è questo è l’obiettivo dell’IoT. In sintesi si possono individuare due categorie di applicazioni, quelle che estendono il paradigma del machine-to-machine (M2M), con anche comunicazioni machine-to-infrastructure (M2I) e machine-to-nature (M2N), nuovi acronimi che iniziano a diffondersi, e quelle relative alla raccolta dati da quelli che per ora sono individuati come “end nodes”, di fatto device intelligenti con capacità di sensing e connettività, per un data mining di trend e comportamenti che possono generare utili informazioni al marketing per attivare nuovi servizi e nuove proposte commerciali. Questa seconda categoria è abbastanza inquietante e dovrà essere attentamente regolamentata dagli enti preposti per garantire sicurezza e privacy, senza dimenticare che già ora, non certo in ambito IoT, non mancano operazioni di raccolta dati comportamentali anche semplici, tipo quante volte si visita un sito, quanto ci si sofferma, e cose del genere. Con specifico riferimento all’ambito dell’automazione, lo scenario di maggior interesse è quello del controllo e ottimizzazione di processo, dove un approccio IoT potrebbe vedere varie classi di sensori per monitoraggio che raccolgono dati poi inviati a un computer anche remoto dove si effettua un’analisi da cui si generano comandi che tornano sulla linea sotto forma di azioni di controllo che portano a ottimizzare, sostanzialmente realtime, il processo, senza intervento umano. Ma, si diceva prima, cosa manca perché questa visione diventi realtà?
I building blocksdell’Internet of Things
I primi elementi necessari sono i Sensing Nodes, punto di partenza per la raccolta delle informazioni, che potrebbero integrare funzionalità diverse a seconda di specifiche esigenze, per esempio un sistema di visione per image processing, misuratori di flusso di gas per applicazioni smart energy o lettori RFID per determinare la presenza di un oggetto. Come si vede, nulla di tecnologicamente nuovo, ma con una differenza fondamentale: questi sistemi diventano “nodi” quando prevedono un ID unico e possono essere separatamente comandati e controllati da remoto. Altro mattone base è l’embedded processing, funzionalità localmente resa disponibile da componenti micro controller, da intendersi sia come realtime che come espandibile su più livelli a seconda delle esigenze, da una semplice rete a una più complessa struttura con sub-network gerarchiche controllate, appunto, a livelli diversi. Ulteriore mattone, le comunicazioni, sia wired che wireless, per trasferire le informazioni raccolte dai sensing nodes ed elaborate dagli embedded processing nodes, verso le destinazioni remote da questi ultimi individuate. Una volta che i dati sono stati elaborati in remoto, le funzioni di comunicazione riportano nuovi comandi verso gli embedded processing nodes, con esecuzione delle relative task, e qui entra in gioco la parte software di automatizzazione delle task, più propriamente in forma di middleware, altro mattone base per consentire a device e macchine eterogenee di comunicare tra loro e con l’infrastruttura che li circonda. Questa parte rappresenta un impegno notevole e dovrà strutturarsi secondo riferimenti condivisi per garantire interoperabilità. Si diceva poi del “processing remoto”, e a questo livello si collocano le “remote embedded processing units”, concetto che apre in modo più o meno spinto al Cloud Computing. Il luogo in cui avviene l’elaborazione remota può infatti essere un server locale, ma anche un Cloud locale di un’azienda o di un gruppo di aziende, oppure il Cloud di un provider di servizi. Parlando di applicazioni di comando e controllo, sono ben note le attuali posizioni degli operatori del settore industriale che ben difficilmente pensano a una “delega” completa di ciò che è realtime al di fuori dell’azienda, ma l’IoT è parte del futuro e non si può escludere nulla.
IoT e sicurezza
L’Internet of Things può diventare realtà solo se sono garantiti dei solidi meccanismi di sicurezza per le informazioni relative a tutti i building block prima citati, come disponibilità, confidenzialità, integrità. In merito alla disponibilità, la garanzia che un’infrastruttura possa processare un determinato servizio, memorizzare e rendere disponibili i dati quando e dove sono necessari, è senza dubbio il livello di sicurezza minimo da avere. Sulla confidenzialità ci sarebbe moto da dire in quanto non si tratta soltanto di avere la garanzia che determinate informazioni siano accessibili solo a chi è autorizzato, ma che le stesse non vadano come utilizzo oltre le regole che ne hanno a priori codificato la raccolta. Il discorso è molto complesso e riguarda eminentemente le tipologie di applicazioni che si erano prima definite come di data mining di trend e comportamenti, vero punto critico dell’IoT nella percezione generale, stante che non manca chi paventa la nascita di un nuovo Grande Fratello. Ultimo punto, l’integrità dei dati, come garanzia che siano accurati, autentici, tempestivi e completi. In tutti i precedenti temi di sicurezza si inserisce l’elemento della device-level security. Infatti, se l’intelligenza e la conseguente capacità di comunicazione ai diversi livelli dell’embedded processing si basa sulla presenza nei nodi di sensori di componenti microcontroller, ne consegue inevitabilmente che questi componenti saranno estremamente pervasivi nell’Internet of Things, e altrettanto inevitabilmente dovranno essere estremamente sicuri. Per garantire la sicurezza delle transazioni, uno dei metodi più diffusi consiste nel crittografare i dati alla fonte, e nel contesto che stiamo qui trattando significa farlo a livello microcontroller. Per quanto molti embedded processor general purpose siano in grado di svolgere funzioni di encryption/decryption di dati, le esigenze di capacità elaborative imposte da standard quali DES (data encryption standard), AES (advanced encryption standard) o SHA-1 (secure hash algorithm), possono causare un calo di prestazioni delle comunicazioni. Per questo motivo hanno iniziato ad apparire sul mercato i Secure Microcontroller, che integrano un encryption engine dedicato che permette di mantenere il realtime per le transazioni richieste, ed è quindi presumibile che in ambito IoT questi microcontrollori saranno molto diffusi.