Animazione Hover

La chiave della comunicazione tra l'Internet delle cose e gli esseri umani: il protocollo di trasmissione

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.

Gateway DTU/Edge/Piattaforma IoT/Modulo gatewayGateway DTU/Edge/Piattaforma IoT/Modulo gateway

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.

Gateway DTU/Edge/Piattaforma IoT/Modulo gatewayGateway DTU/Edge/Piattaforma IoT/Modulo gateway

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.

Gateway DTU/Edge/Piattaforma IoT/Modulo gatewayGateway DTU/Edge/Piattaforma IoT/Modulo gateway

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à.

Gateway DTU/Edge/Piattaforma IoT/Modulo gatewayGateway DTU/Edge/Piattaforma IoT/Modulo gateway

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.

Gateway DTU/Edge/Piattaforma IoT/Modulo gatewayGateway DTU/Edge/Piattaforma IoT/Modulo gateway

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.

Contatto