Protocolli di comunicazione per la Internet of Things, dalla A alla Z

Da AMQP a Z-Wave, passando per Bluetooth, cellulari, HomeKit, IoTivity, JSON-LD, LoRaWAN, NFC, Sada e Zigbee: tutti i più importanti standard e protocolli di comunicazione per connettere sensori e dispositivi IoT

equinix

Uno dei problemi principali per la diffusione dell’IoT è l’assenza di uno standard univoco per la comunicazione tra sensori ed elaborazione centrale. A volte, nella stessa rete, coesistono diversi protocolli, standard e tecnologie.

I sensori possono essere direttamente collegati alla rete IP/internet, oppure comunicare con un collettore centrale utilizzando diversi sistemi e protocolli wired o wireless. La scelta tra l’uno e l’altro dipende da vari fattori, tra cui:

  • La distanza tra i sensori e i collettori
  • La quantità di dati che è necessario trasmettere nel tempo (ampiezza di banda)
  • Il ritardo con cui i dati possono arrivare (latenza)
  • Il consumo energetico
  • La presenza o meno di un collegamento fisico (cavo)

Di seguito elenchiamo alcune tra le più diffuse tecnologie e protocolli per la connessione di dispositivi IoT.

AMQP (Advanced Message Queuing Protocol)

AMQP è uno standard open source che consente a diverse applicazioni di comunicare tra loro su qualsiasi rete e da qualsiasi dispositivo. AMQP è supportato da diverse integrazioni middleware commerciali, tra cui Microsoft Windows Azure Service Bus, VMware RabbitMQ e IBM MQlight. Inizialmente è stato sviluppato dal settore finanziario per la comunicazione M2M ad alta velocità, ma ha iniziato a essere utilizzato nei progetti IoT.

Bluetooth

Esistono due forme principali di Bluetooth nell’IoT. La varietà standard viene largamente utilizzata per connettere dispositivi consumer e sistemi domotici, dai frigoriferi connessi agli altoparlanti per la doccia, alle serrature delle porte. Bluetooth Low Energy, spesso indicato semplicemente come BLE, è un po’ più attraente per le reti più grandi o con difficoltà di gestione quotidiana, dal momento che la durata della batteria è un fattore meno limitante. Entrambi i formati hanno ottenuto un aggiornamento a dicembre 2016 con Bluetooth 5, che espande la gamma effettiva di dispositivi Bluetooth e aumenta il potenziale throughput.

Dati cellulari

Ovviamente non è il modo più efficiente di fare le cose, ma ci sono numerose implementazioni IoT che utilizzano i dati wireless dai carrier cellulari come livello di trasporto. I gestori di telefonia hanno in genere dei piani dati specifici per questo tipo di implementazioni, che consentono di tenere sotto controllo i costi di connessione.

CoAP (Constrained Application Protocol)

CoAP è un protocollo Internet progettato per l’uso con dispositivi vincolati e senza grande potenza di calcolo. Fa parte degli standard ufficiali della Internet Engineering Task Force e, come si può immaginare dal nome, funziona bene con i gadget su piccola scala come il digital signage e l’illuminazione intelligente.

DDS (Data Distribution Service)

Si tratta di un altro standard middleware, come AMQP, creato dall’Object Management Group, un consorzio del settore tecnologico che risale al 1989 e che puntava alla creazione di standard distribuiti di gestione degli oggetti. DDS utilizza un sistema di “topic” – tipi di informazioni conosciuti dal sistema, come “temperatura della caldaia” o “velocità del nastro trasportatore” – per fornire informazioni ad altri nodi che hanno “dichiarato” un interesse per un determinato topic, in teoria ovviando al bisogno di una complicata programmazione della rete.

HomeKit

Un dispositivo di controllo e front-end di marca propria di Apple per dispositivi domestici intelligenti. HomeKit ha il solito problema Apple di funzionare bene solo se le parti centrali del sistema sono tutte di produzione Apple, il che potrebbe rivelarsi fastidioso per chi non possiede una Apple TV o un iPad, ma ha anche la concomitante virtù Apple di essere semplice da configurare e utilizzare e adottato da molti produttori dei dispositivi periferici.

IoTivity

IoTivity è un progetto open source che sta tentando di creare un livello software standard per la connettività dei dispositivi IoT, supportato da un gruppo di attori del mondo tecnologico tra cui Microsoft, Intel, Qualcomm, LG e Samsung. Nell’ottobre 2016 il progetto ha assorbito un gruppo chiamato AllSeen Alliance, creatori di uno standard rivale chiamato AllJoyn e i due sistemi a questo punto sono per lo più interoperabili.

JSON-LD (JavaScript Object Notation per dati collegati)

JSON-LD è una leggera evoluzione del formato di file JSON inteso a fornire un modo semplice per trasferire dati leggibili da macchine su una rete di dispositivi che potrebbero formattare le informazioni in modo diverso tra loro.

LoRaWAN

LoRa si riferisce a una tecnologia di chip wireless proprietaria progettata per l’utilizzo in implementazione WAN a bassa potenza. La tecnologia LoRaWAN è simile a (e compete con) Sigfox, sebbene la LoRa Alliance sia un consorzio di aziende e non una singola azienda.

MQTT (Trasporto Telemetria MQ)

MQTT è un protocollo di pubblicazione / sottoscrizione per messaggistica, progettato per essere utilizzato in situazioni in cui i dispositivi che parlano tra loro hanno una potenza di calcolo limitata o sono collegati da reti inaffidabili o soggette a latenza e ritardi. Fa quello che dovrebbe fare molto bene, ma è un po’ ostacolato dal fatto che l’implementazione di controlli di sicurezza difficili può essere complicata e può compromettere la natura leggera del protocollo.

NFC (Near-field communication)

La rete a più bassa potenza tra quelle disponibili è in circolazione da molto tempo ed è adatta per l’utilizzo in alcune applicazioni IoT. È adatto all’uso di NFC tutto ciò che può essere collocato molto vicino a ciò con cui deve interagire e che non ha bisogno di scambiare grandi quantità di dati.

Physical Web

Un concetto creato da Google che propone “interazioni rapide e fluide con oggetti e luoghi fisici”. Utilizza un protocollo chiamato Eddystone per trasmettere in broadcast link usando Bluetooth Low Energy. L’idea è di poter scambiare dati con un parchimetro od ottenere informazioni su un negozio mediante la scansione del suo chiosco con il telefono.

SCADA (Supervisory Control and Data Acquisition)

SCADA esiste dai tempi dei mainframe e delinea i primi tentativi di controllo computerizzato sistematico su applicazioni industriali, di produzione e di trasporto pesante. Le reti SCADA di vecchia generazione sono spesso molto insicure, essendo state progettate per la facilità d’uso, piuttosto che per la sicurezza, in un’epoca in cui le reti non erano connesse e la cybersecurity un problema meno pressante.

Sigfox

Sigfox è sia l’abbreviazione di una tecnologia WAN proprietaria, a banda stretta e bassa potenza, sia il nome dell’azienda francese produttrice. La natura proprietaria della tecnologia è insolita (sebbene non unica) per lo spazio LPWAN, ma il modello di business di Sigfox è diverso dalla maggior parte delle altre aziende. L’idea sembra essere quella di agire come una sorta di operatore mobile IoT, fornendo copertura di rete on-demand per chiunque desideri realizzare implementazioni Internet of Things.

SMS

Sì, i vecchi normali messaggi di testo possono essere un mezzo di comunicazione perfettamente accettabile per determinati tipi di dispositivi IoT, in particolare quelli che sono sparsi su una vasta area geografica e hanno una certa tolleranza al ritardo nella comunicazione. La società di controllo sui parassiti svedese Anticimex, ad esempio, dispone di trappole intelligenti che aggiornano l’azienda sull’attività tramite SMS.

Thread

Thread è un protocollo di rete a bassa potenza che incorpora 6LoWPAN, creato da un gruppo guidato dalla Nest Labs di Google, nota soprattutto per il suo termostato intelligente Nest, probabilmente il primo rivoluzionario dispositivo domestico intelligente. Dall’estate 2016, una versione open source della specifica è stata disponibile per gli sviluppatori come OpenThread.

TR-069 (Technical Report 069)

Si tratta di un documento di specifiche del Broadband Forum e che delinea un protocollo denominato CWMP (“Consumer-premises equipment WAN Management Protocol”) progettato per consentire agli utenti di configurare e gestire in remoto apparecchiature client tramite una rete IP. Risale ai primi anni Duemila e originariamente era stato progettato per aiutare gli operatori di rete via cavo a gestire da remoto apparecchi come i set-top box.

Weave

Weave è il livello software di Google e Nest per le case intelligenti. È progettato pensando alla flessibilità e alla sicurezza, anche per dispositivi particolarmente limitati, ed è basato sulla piattaforma Android di Google. È anche parzialmente open source: Google ha pubblicato ciò che definisce “alcuni dei componenti principali” di Weave su GitHub.

Web Thing Model

La proposta del World Wide Web Consortium per un framework IoT fisico è Web Thing, sistema che, prevedibilmente, sfrutta la tecnologia web esistente per connettere i dispositivi, piuttosto che basarsi su protocolli di rete personalizzati.

XMPP (eXtensible Messaging and Presence Protocol)

Un chiaro caso di abuso di acronimi, XMPP è nato come Jabber, uno standard open source per i client di chat che ha guadagnato una notorietà minore tra i giocatori di determinati giochi di ruolo online. Da allora è diventato uno standard IETF, con una vasta gamma di estensioni e implementazioni, molte delle quali sono finalizzate alla funzionalità di base dell’IoT come la scoperta e il provisioning.

Zigbee

Zigbee è un protocollo di rete wireless mesh che vanta la rara combinazione di una buona durata della batteria e un decente livello di sicurezza, grazie alla crittografia integrata a 128 bit. La contropartita è una bassa velocità massima di trasmissione dati e un raggio relativamente ristretto, ma ci sono molte applicazioni per dispositivi fisso per le quali è molto adatto. È anche uno standard IEEE 802.15.4, cosa che offre un elevato grado di interoperabilità.

Z-wave

Come Zigbee, Z-wave è una tecnologia di rete wireless a corto raggio e a bassa potenza utilizzata principalmente per applicazioni di domotica intelligente. È standardizzato dall’ITU.

6LoWPAN

Lo strano acronimo sta per “IPv6 su reti personali a bassa potenza”. L’idea è di fornire un’implementazione di sistemi come Zigbee o Z-wave, ma su protocollo IPv6, per soddisfare chi ritiene che per creare veramente una “Internet delle cose”, sia necessario che le cose siano direttamente connesse con un protocollo Internet.