Protocolli dell'Internet of Things (Internet delle cose)

Cosa significa la locuzione "Internet of Things" (Internet delle cose)? La risposta dipende molto dalla posizione che ciascuno di noi occupa nella catena di approvvigionamento. Molti hanno tentato di spiegarla e le definizioni riflettono spesso le esigenze dei rispettivi settori e ordini del giorno. Tuttavia, gli ingegneri di hardware e software ne comprendono subito l'elemento essenziale: la creazione di prodotti che siano interconnessi. Di conseguenza, i sistemi integrati svolgeranno, e svolgono già, un ruolo fondamentale nello sviluppo dell'IoT. In questo articolo esamineremo Internet e i protocolli nuovi ed esistenti a supporto degli sforzi per la realizzazione dell'IoT. Prima di prendere in considerazione questi protocolli, occorre definire l'argomento principale, poiché le attività del dispositivo finale detteranno la maggior parte dei requisiti relativi ai protocolli da utilizzare.

Differenza tra IoT di consumo e IoT industriale


I requisiti software per i dispositivi IoT industriali e quelli di consumo possono differire notevolmente. Anche se questi due ambiti possono condividere un kernel e servizi di basso livello comuni, il middleware richiesto dalle rispettive applicazioni può essere enormemente diverso. 

L'IoT industriale, ovvero un nodo WSN, rappresenta uno stack di software per un dispositivo IoT industriale, ad esempio un nodo di sensori wireless (WSN, Wireless Sensor Node). Questo dispositivo a basso consumo energetico e a costi ridotti può essere alimentato interamente a batteria. In genere, un simile dispositivo utilizza un processore

a 32 bit. Può utilizzare anche un processore a 8 o 16 bit ma, in tal caso, gli stack di comunicazione devono essere eseguiti su moduli aggiuntivi. Di solito questo genere di dispositivo utilizza un protocollo di rete ad alta efficienza, ad esempio 6LoWPAN, per ridurre i tempi di trasmissione e consentire il risparmio di energia. Può inoltre comunicare su brevi distanze in modalità wireless mediante Bluetooth. In quanto nodo edge, richiede il trasferimento dei dati dalla rete wireless a una rete basata su IP (rete Internet pubblica o locale) e utilizza una rete Ethernet o Wi-Fi a basso consumo. 

Ovviamente, i requisiti software per questo dispositivo sono di gran lunga superiori. Potrebbe essere necessario l'uso di una Java VM o perfino di un protocollo di mercato verticale. Purtroppo, l'IoT di consumo è molto frammentato in termini di protocollo di mercato verticale (protocollo di applicazione). Molte aziende stanno proponendo soluzioni proprietarie. Nel mercato del consumo domestico, ad esempio:

  •   Apple dispone di MFI (Made For Idevices)

  •   Google (Nest) ha annunciato Thread

  •   Samsung, Intel, Dell, Atmel e Broadcom hanno unito le forze per lanciare Open Interconnect Consortium (OIC)

  •   Da anni la AllSeen Alliance (in precedenza AllJoyn) propone uno standard con membri Premier quali Haier, LG, Microsoft, Panasonic, Qualcomm, Sharp, Silicon Image, Technicolor e TP-Link.  

Vi sono altri esempi, come lo standard di comunicazione PLC (Power Line Communication): HomePlug e HomeGrid.

Anche nel mercato verticale medico organizzazioni come Continua Alliance, IHE (Integrating the HealthCare Enterprise) o IEEE stanno sviluppando e proponendo degli standard.

Micrium non offre simili protocolli. Un produttore di apparecchiature i cui prodotti devono essere compatibili con uno di questi protocolli IoT di consumo deve registrarsi con queste organizzazioni e quindi integrare tali protocolli nella propria applicazione di prodotti.

Nell'IoT industriale, le iniziative guidate dal mercato non sono così numerose. L'attività maggiore in questo ambito è definita Industrial Internet Consortium (IIC), i cui membri fondatori sono AT&T, Cisco, GE, Intel e IBM. Oltre a IIC, tuttavia, lo sviluppo di dispositivi e sistemi IoT è pressoché esclusivamente proprietario. Ecco perché attualmente la conoscenza di Internet e dei protocolli Internet (IP) è così importante per gli sviluppatori di sistemi integrati.

Protocollo Internet (IP)

L'utilizzo della tecnologia IP è fondamentale per l'IoT poiché consente l'interoperabilità dei sistemi. Questa caratteristica potrebbe non apparire così determinante oggi ma, con l'evolversi dell'IoT, l'interoperabilità dei sistemi diventerà una delle principali funzionalità in grado di generare profitti. Ethernet/Wi-Fi e 6LoWPAN dipendono in gran parte da IPv4 e IPv6.

Protocolli IP utilizzati in IoT

È certamente possibile creare un sistema IoT con tecnologie Web esistenti, anche se sarebbe meno efficiente dei protocolli più recenti. HTTP(S) e WebSocket sono standard comuni, insieme a XML o JavaScript Object Notation (JSON) nel payload. Quando si utilizza un browser Web standard (client HTTP), JSON fornisce un livello di astrazione per gli sviluppatori Web al fine di creare un'applicazione Web Stateful con una connessione duplex persistente a un server Web (server HTTP) mantenendo aperte due connessioni HTTP.

HTTP

HTTP è la base del modello client-server utilizzato per il Web. Il metodo più sicuro per implementare HTTP nel proprio dispositivo IoT è quello di includere solo un client, senza server. In altre parole, la sicurezza è maggiore se il dispositivo IoT può avviare connessioni a un server Web, ma non è in grado di ricevere richieste di connessione. Dopotutto, non è auspicabile che macchine esterne abbiano la possibilità di accedere alla rete locale dove i dispositivi IoT sono installati.

WebSocket

WebSocket è un protocollo che fornisce la comunicazione full-duplex su una singola connessione TCP su cui i messaggi possono essere inviati tra client e server e fa parte della specifica HTML 5. Lo standard WebSocket semplifica molto la complessità della gestione delle connessioni e della comunicazione Web bidirezionale. L'utilizzo di WebSocket in abbinamento al protocollo HTTP è una buona soluzione per i dispositivi IoT in grado di sostenere i payload HTTP.

XMPP

XMPP (Extensible Messaging and Presence Protocol) è un buon esempio di una tecnologia Web esistente che trova un nuovo impiego nello spazio IoT.

Il protocollo XMPP ha origine dalle tecnologie di messaggistica istantanea e informazioni sulla presenza e si è esteso a chiamate vocali e video, collaborazione, middleware leggero, aggregazione di contenuti e indirizzamento generalizzato di dati XML. Attualmente tale protocollo si contende la gestione su vasta scala di grandi elettrodomestici quali macchine per il lavaggio, l'asciugatura, la refrigerazione e così via.

I punti di forza del protocollo XMPP sono l'indirizzamento, la sicurezza e la scalabilità, che lo rendono la soluzione ideale per applicazioni IoT orientate al mercato del consumo.

HTTP, WebSocket e XMPP sono solo esempi di tecnologie utilizzate per IoT. Anche altri gruppi stanno lavorando senza sosta per sviluppare soluzioni adatte alle nuove sfide presentate da IoT.

Protocolli dedicati per IoT

Molti esperti IoT definiscono i dispositivi IoT dei sistemi vincolati perché ritengono che tali dispositivi debbano essere più economici possibile e utilizzare le MCU di dimensioni minori disponibili sul mercato, pur mantenendo la capacità di eseguire uno stack di comunicazione. 

Attualmente, l'adattamento di Internet per IoT costituisce una delle maggiori priorità per molti enti di standardizzazione globale. 

Se il sistema in uso non richiede le caratteristiche di TCP e può sussistere con le più limitate funzionalità UDP, la rimozione completa del modulo TCP aiuta a ridurre considerevolmente le dimensioni totali dell'ingombro del codice del prodotto. Questo è un vantaggio di cui l'universo IoT può usufruire grazie a 6LoWPAN (per WSN) e CoAP (protocollo Internet leggero).

CoAP

Anche se l'infrastruttura Web è disponibile e utilizzabile per dispositivi IoT, è troppo pesante per la maggior parte delle applicazioni IoT. Nel luglio 2013, IETF ha rilasciato il Constrained Application Protocol (CoAP) per l'utilizzo con reti e nodi (vincolati) con perdita di dati e a basso consumo energetico (LLN). CoAP, come HTTP, è un protocollo RESTful.

CoAP è semanticamente allineato con HTTP e dispone perfino di una mappatura one-to-one bidirezionale con HTTP. I dispositivi di rete sono vincolati da microcontroller di dimensioni minori con piccole quantità di memoria flash e RAM, mentre i vincoli su reti locali, ad esempio 6LoWPAN, sono dovuti a percentuali di errore di pacchetto elevate e a una bassa velocità di elaborazione (decine di kilobit al secondo). CoAP può essere un buon protocollo per dispositivi a batteria o con approvvigionamento energetico.

Caratteristiche di CoAP: CoAP utilizza UDP

 Poiché CoAP utilizza UDP, alcune delle funzionalità TCP sono replicate direttamente in CoAP. Ad esempio, CoAP distingue tra messaggi confermabili (che richiedono un riconoscimento) e non confermabili.

  •   Richieste e risposte vengono scambiate in modo sincrono su messaggi CoAP (a differenza di HTTP, dove viene utilizzata una connessione TCP).

  •   Tutte le intestazioni, i metodi e i codici di stato hanno una codifica binaria, aspetto che riduce l'overhead del protocollo. Tuttavia, ciò richiede l'utilizzo di un analizzatore del protocollo per la risoluzione dei problemi di rete.

  •   A differenza di HTTP, la capacità di memorizzare risposte CoAP nella cache non dipende dal metodo di richiesta, bensì dal codice della risposta.

    CoAP soddisfa pienamente le esigenze di un protocollo estremamente leggero e con una connessione di natura permanente. Tale protocollo ha familiarità semantica con HTTP ed è RESTful (risorse, identificatori di risorse e manipolazione di tali risorse tramite interfaccia di programmazione delle applicazioni (API) uniforme). Se si dispone di una certa esperienza con il Web, l'utilizzo di CoAP è relativamente semplice.

    MQTT

    MQ Telemetry Transport (MQTT) è un protocollo open source sviluppato e ottimizzato per dispositivi vincolati e reti a bassa ampiezza di banda, ad alta latenza o inaffidabili. È un protocollo di trasporto di messaggistica publish/subscribe estremamente leggero e ideale per la connessione di dispositivi di piccole dimensioni a reti con ampiezza di banda minima. MQTT è efficiente in termini di utilizzo dell'ampiezza di banda, è indipendente dai dati e dispone di un riconoscimento continuo delle sessioni poiché utilizza TCP. Questo protocollo è mirato a ridurre al minimo i requisiti delle risorse dei dispositivi tentando al contempo di garantire affidabilità e un certo livello di garanzia di consegna con gradi di servizio.

    MQTT è destinato a grandi reti di dispositivi di piccole dimensioni che devono essere monitorate o controllate da un server back-end su Internet. Non è progettato per il trasferimento tra dispositivi, né per il multicast dei dati a molti ricevitori. MQTT è semplice e offre poche opzioni di controllo. In genere, le applicazioni che utilizzano MQTT sono lente, ovvero la definizione di "tempo reale" in questo caso è misurata solitamente in secondi.

    Confronto tra protocolli IoT potenziali

    Cisco è un elemento centrale nella rete Internet, poiché le sue apparecchiature IP sono ovunque. Tuttavia, questa azienda non partecipa attivamente all'evoluzione di IoT. Cisco scorge le potenzialità insite nella connessione di oggetti fisici, nell'ottenimento di dati dal nostro ambiente e nell'elaborazione di questi dati per migliorare i nostri standard di vita.

  • Questi protocolli IoT specifici di Internet sono stati sviluppati per soddisfare i requisiti di dispositivi con piccole quantità di memoria e reti con bassa ampiezza di banda e alta latenza.
  • HTTP può essere un protocollo pesante per un dispositivo IoT. I suoi messaggi sono di grandi dimensioni perché vengono inviati in formato leggibile dagli utenti. Per i dispositivi IoT, le dimensioni di payload costituiscono spesso un vincolo. Per una grande famiglia di dispositivi, le funzionalità di segnalazione e accettazione di comandi possono essere eseguite in modo più efficiente con un protocollo molto più leggero. MQTT è stato proposto come la risposta a questi problemi. Tale protocollo non è uno standard IETF ed è sviluppato da IBM ed Eclipse Foundation.

    Conclusione

    La locuzione "Internet of Things" ("Internet delle cose") contiene Internet. Alcune aziende potrebbero offrire apparati definiti "dispositivi IoT" senza l'uso del protocollo Internet. È prevedibile: oggi IoT è un termine così potente (alcuni potrebbero dire "la moda del momento") che ogni produttore vuole sfruttarne l'enorme copertura mediatica.

    Il protocollo Internet (IP) è un vettore, ovvero può racchiudere tanti protocolli per l'IoT quanti ne comprende attualmente per il Web. Molti esperti del settore richiedono che venga realizzata una standardizzazione dei protocolli. Ma se i protocolli per il Web sono così numerosi, perché non dovrebbero esisterne altrettanti per l'IoT? Ognuno sceglie i protocolli da utilizzare in base alle proprie esigenze. L'unica differenza è che i protocolli IoT hanno ancora un'origine piuttosto recente e devono ancora dimostrare la propria affidabilità. Occorre ricordare che Internet divenne una realtà grazie all'IP versione 4. Attualmente è in atto la distribuzione massiva dell'IP versione 6 e l'IoT è l'applicazione vincente che i vettori delle telecomunicazioni aspettavano da tempo per giustificare l'investimento richiesto.

    Il posizionamento per ciascun protocollo IoT richiede un'analisi simile. Ad eccezione di HTTP, tutti questi protocolli sono posizionati come protocolli IoT publish-subscribe in tempo reale, con il supporto per milioni di dispositivi. A seconda della definizione di "tempo reale" (secondi, millisecondi o microsecondi) e delle "cose" (nodi WSN, dispositivi multimediali, dispositivi indossabili personali, scanner medici, controllo motori e così via), la selezione del protocollo per il proprio prodotto è fondamentale. Di base, questi protocolli sono tutti molto diversi tra loro.

    Oltre alla progettazione di software e hardware, tuttavia, esiste quella dei sistemi di dati IoT. È necessario separare i dati dall'applicazione in modo da poter conseguire con essi nuovi obiettivi che non abbiamo ancora mai immaginato. Per il tipico sviluppatore di sistemi integrati, pensare specificatamente ai dati generati dal sistema richiede una mentalità nuova. Questi dati costituiscono un valore. Nella progettazione di sistemi integrati, comprendiamo molto bene come realizzare l'architettura della Cosa, la rete locale e perfino il gateway. Il processore, il sensore, la connettività wireless, il gateway, la rete IP e la sicurezza sono tutti elementi ben noti allo sviluppatore dei sistemi integrati.

    La nuova sfida per la comunità che opera con i sistemi integrati è sfruttare il valore inerente ai nostri dati utilizzando al meglio un certo tipo di cloud computing. Per poter monetizzare i dati del sistema integrato è assolutamente necessario un determinato tipo di cloud computing, che sia privato, in outsourcing o pubblico. Questo è un nuovo paradigma per la comunità operante nel settore dei sistemi integrati.

    Attualmente si sta effettuando il test e la distribuzione dell'infrastruttura, della tecnologia software e di quella hardware dei sistemi integrati e del cloud computing, agevolando così l'emergere dell'Internet of Things. Per conseguire il successo e realizzare i 50 miliardi di dispositivi che verranno sviluppati entro il 2020, abbiamo bisogno degli stessi standard aperti, dello sviluppo e della collaborazione che hanno supportato la creazione dell'Internet of People (Internet delle persone), noto anche come il Web. La IPSO Alliance sta promuovendo gli standard IP e li utilizza per creare le architetture di riferimento ricercate dagli sviluppatori di prodotti.

    L'IoT per sistemi integrati rappresenta la nuova rivoluzione industriale. Le potenzialità di crescita del settore dei sistemi integrati sono enormi. Per realizzare tale potenziale, il settore dei sistemi integrati deve adottare il nuovo paradigma IoT. Ora comprendiamo ciò che è necessario intraprendere. Non abbiamo ancora definito al meglio e stabilito standard per ciascun elemento strutturale dei futuri sistemi IoT come la facilità di configurazione o l'aggiornamento di firmware remoto sicuro, ma questo non dovrebbe impedire a nessuno di creare un sistema in grado di fornire valore ai propri clienti. 






Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra politica sulla privacy. Si prega di prendere un momento per rivedere questi cambiamenti. Cliccando su Accetto, l'utente accetta la Politica sulla privacy e Condizioni di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy