I dispositivi IoT utilizzano diversi protocolli di comunicazione e messaggistica a diversi livelli. Quando si sviluppano dispositivi IoT, il tipo, i livelli e le funzioni che il dispositivo è destinato a svolgere determinano spesso la scelta finale. MQTT, XMPP, DDS, AMQP e CoAP sono alcuni dei protocolli di comunicazione ampiamente utilizzati nel livello applicativo IoT. Oggi, questo articolo vi illustrerà i vantaggi e gli svantaggi di questi protocolli di comunicazione.


MQTT
MQTT è un protocollo machine-to-machine (M2M). È un protocollo di messaggistica basato su publish-subscribe per trasferire i dati dei dispositivi al server. Lo scopo principale di MQTT è la gestione remota dei dispositivi IoT. È utilizzato principalmente per grandi reti di piccoli dispositivi che devono essere monitorati o gestiti via Internet, ad esempio sensori di parcheggio, linee sottomarine, reti energetiche, ecc.


Come funziona MQTT
vantaggio:
Leggero per reti limitate
Selezione flessibile della qualità del servizio con determinate caratteristiche
▪ Standardizzato dal Comitato tecnico OASIS
Semplice e veloce da implementare
carenza:
Elevato consumo di energia a causa della connessione basata su TCP
Mancanza di crittografia
Scenari applicativi comuni:
Molti sensori di parcheggio sono installati in grandi parcheggi sotterranei per identificare il numero e la posizione dei posti auto vuoti o non occupati.
XMPP
XMPP utilizza il formato XML per la messaggistica. La caratteristica principale di questo protocollo è il suo meccanismo di indirizzamento. Utilizza un indirizzo chiamato Jabber ID (JID) per identificare i dispositivi/nodi nella rete IoT. Il JID segue lo standard name@domain.com. Questo meccanismo di indirizzamento consente a due nodi di scambiarsi informazioni indipendentemente dalla loro distanza nella rete.
I messaggi XMPP sono tipicamente trasmessi attraverso la connessione TCP sottostante. Utilizza un meccanismo di polling per identificare la destinazione del messaggio. XMPP è implementato utilizzando un'architettura client-server. Il client avvia il flusso XML inviando un tag di avvio. Il server risponde al client utilizzando il flusso XML. Poiché XMPP è un protocollo aperto, chiunque può avere un proprio server XMPP nella propria rete senza essere connesso a Internet.


Come funziona XMPP
vantaggio:
Schema di indirizzamento per identificare i dispositivi in rete.
Architettura client-server
carenza:
Messaggistica basata su testo, senza crittografia end-to-end configurata
Nessun regolamento sulla qualità del servizio
Scenari applicativi comuni:
Un termostato intelligente a cui si può accedere da uno smartphone tramite un server web; una console di gioco che consente la messaggistica istantanea tra due giocatori online.
DDS
Anche DDS si basa su un modello publish-subscribe. DDS collega i dispositivi direttamente, a differenza di MQTT, che li collega ai server. Per questo motivo DDS è più veloce di MQTT. Sembra che possa consegnare milioni di messaggi a più ricevitori diversi in pochi secondi, perché elimina la comunicazione con il server. Il DDS può essere utilizzato per fornire comunicazioni da dispositivo a dispositivo su un bus di dati. Fornisce un servizio dettagliato di qualità e affidabilità.


Come funziona il DDS
vantaggio:
▪ Basato su un semplice paradigma di comunicazione publish-subscribe
Architettura flessibile e adattabile che supporta il "rilevamento automatico" di applicazioni endpoint nuove o obsolete.
Basso overhead - può essere utilizzato con sistemi ad alte prestazioni
Consegna deterministica dei dati
Scalabile dinamicamente
Utilizzo efficiente della larghezza di banda di trasmissione
Scenari applicativi comuni:
Sistemi militari, parchi eolici, integrazione ospedaliera, imaging medicale, sistemi di tracciamento delle risorse, test e sicurezza automobilistica.
AMQP
Advanced Message Queuing Protocol (AMQP) è un protocollo di livello applicativo standard aperto utilizzato per inviare messaggi di transazione tra i server. Essendo un middleware incentrato sui messaggi, può gestire migliaia di transazioni in coda in modo affidabile. AMQP si concentra sull'assenza di perdita dei messaggi, che possono essere trasportati tramite TCP o UDP. L'uso del TCP garantisce connessioni affidabili da punto a punto. Inoltre, l'endpoint deve confermare l'accettazione di ogni messaggio. Lo standard descrive anche una modalità di transazione opzionale con una sequenza formale di commit multifase. AMQP si concentra sul monitoraggio dei messaggi e sulla garanzia che ogni messaggio venga consegnato come previsto, indipendentemente da guasti o riavvii.


Come funziona AMQP
vantaggio:
I messaggi possono essere inviati tramite TCP e UDP.
Fornisce una crittografia end-to-end
carenza:
Utilizzo delle risorse relativamente elevato, ad esempio consumo di energia e di memoria.
Scenari applicativi comuni:
AMQP è utilizzato principalmente per la messaggistica aziendale. In genere definisce dispositivi come i telefoni cellulari che comunicano con i centri dati di backend.
Riassumere
Tutti i protocolli sopra elencati sono particolarmente adatti a diversi scenari operativi. Ogni protocollo può essere scelto con attenzione in base ai suoi pro e contro per lo sviluppo di applicazioni IoT. I fattori principali da considerare nella scelta di uno di essi per la propria applicazione sono la qualità del servizio, la sicurezza e l'affidabilità richiesta dall'applicazione.
Ogni protocollo può essere scelto con attenzione in base ai suoi pro e contro per lo sviluppo di applicazioni IoT. I fattori principali da considerare nella scelta di un protocollo di trasporto per un'applicazione sono la qualità del servizio, la sicurezza e l'affidabilità richiesta dall'applicazione.


