MQTT: Il Protocollo di comunicazione dell'IoT

Lo standard per lo scambio dati nel mondo del IoT



Un protocollo specificatamente studiato per le situazioni in cui è richiesto un basso consumo e dove la banda è limitata. 


Come noto il cosiddetto Internet delle cose non è una rete vera e propria, ma una definizione nata dal marketing che sintetizza il crescente utilizzo di microprocessori embedded collegati alla rete, spesso connessi a sensori o ad altri strumenti di raccolta dati. Dato che i microprocessori sono ormai poco costosi e le reti sono pervasive, i sistemi embedded hanno il potenziale per fornire una grande quantità di dati che la maggior parte delle aziende potrebbe sfruttare.

In questo scenario, si rende necessaria la definizione di un protocollo di comunicazione standard sul quale basare le implementazioni IoT: L'Organization for the Advancement of Structured Information Standards (OASIS) ha dichiarato che il protocollo MQTT (Message Queuing Telemetry Transport) di IBM è lo standard di riferimento per la comunicazione per l'Internet delle Cose.

Come funziona?


Al posto del modello client/server di HTTP, il protocollo MQTT adotta un meccanismo di pubblicazione e sottoscrizione per scambiare messaggi tramite un appostivo "message broker". Invece di inviare messaggi a un determinato set di destinatari, i mittenti pubblicano i messaggi su un certo argomento (detto topic) sul message broker, Ogni destinatario si iscrive agli argomenti che lo interessano e, ogni volta che un nuovo messaggio viene pubblicato su quel determinato argomento, il message broker lo distribuisce a tutti i destinatari. In questo modo è molto semplice configurare una messaggistica uno-a-molti.

I punti di forza


La leggerezza al centro

In breve MQTT - che ha avuto la sua genesi nel 1999 grazie a un’idea di Andy Stanford-Clark (IBM) e Arlen Nipper  (Eurotech) - viene descritto come un protocollo di messaggistica estremamente leggero progettato per dispositivi limitati e reti a bassa larghezza di banda, alta latenza o sostanzialmente inaffidabili. I principi su cui si basa sono quelli di abbassare al minimo le esigenze in termini di ampiezza di banda e risorse mantenendo nel contempo una certa affidabilità e grado di certezza di invio e ricezione dei dati. E’ il mondo del machine-to-machine e, appunto, dell’Internet delle cose ma, affermano i promotori di questo protocollo, anche di quelle applicazioni mobili per le quali va tenuto in maggior conto il consumo di banda in rete e di energia dei dispositivi.

Il protocollo viene già utilizzato all’interno di sensori in grado di comunicare con un broker attraverso collegamenti satellitari, in ambienti SCADA (Supervisory Control and Data Acquisition), oppure su connessioni occasionali di dispositivi medicali, oltre ad ambienti di domotica. 

Diverse sono quindi le applicazioni che già lo implementano interoperando con vari prodotti che possono godere di caratteristiche di messaggistica così descritte. La prima è la possibilità di pubblicare/sottoscrivere pattern di messaggi per mettere a disposizione una distribuzione da uno a molti e un disaccoppiamento delle applicazioni. Quindi una tecnologia di trasporto dei messaggi agnostica rispetto al contenuto del payload, con l’uso nel contempo del protocollo TCP/IP, alla base di internet così come la conosciamo oggi, per fornire connettività di rete di base.

Tre livelli di servizio

Il primo è chiamato ‘at most once’ (al massimo una volta), con la distribuzione dei messaggi in base a quanto di meglio garantito dalla rete TCP/IP sottostante. Visto che in questo caso la perdita di messaggi o la loro duplicazione possono comunque verificarsi, l’uso ottimale è identificato con i dati raccolti da sensori ambientali dove non importa se una singola lettura viene smarrita in quanto quella successiva godrà presto di un’altra pubblicazione.

Con il livello di servizio ‘at least once’ (almeno una volta) viene invece assicurato l’arrivo dei messaggi, ma possono comunque verificarsi sempre dei duplicati. 

L’ultimo grado di servizio, quello più elevato, è definito ‘exactly once’ (esattamente una volta), con l’assicurazione che i messaggi arrivino, appunto, esattamente una volta. Ecco che i sistemi di billing possono essere il target ideale, considerato che la duplicazione o perdita di messaggi può portare all’applicazione di tariffe anche non corrette. 

Altre caratteristiche evidenziate di MQTT sono un overhead di trasporto ridotto, grazie a un header a lunghezza fissa da 2 byte, e scambi minimizzati per ridurre il traffico di rete. Infine il protocollo presenta un meccanismo per la notifica alle parti interessate di una disconnessione anormale di un client, utilizzando funzioni battezzate Last Will e Testament.

MQTT supporta infine anche un certo grado di sicurezza considerato che con un suo pacchetto è possibile passare direttamente anche nomi utente e password. Se si vogliono cifrare i dati trasmessi, tra i metodi suggeriti ci sono invece l’affiancamento di SSL (Secure Sockets Layer), il che in ogni caso aggiunge pesantezza al tutto, oppure l’uso di applicazioni di criptatura a monte e a valle della trasmissione.

Esempi grafici di comunicazione tramite protocollo MQTT






()

Articoli

Advantech B+B Smartworx - BB-485LDRC9

Convertitore industriale da RS-232 a RS-485 - Connettori da DB9 (e Terminal Block) a Terminal Block - Montaggio DIN

Advantech B+B Smartworx - BB-EIR-M-SC

Ethernet Media Converter Multi-Mode - connettore SC

Advantech B+B Smartworx - BB-VESP211-232

1 Port Mini Serial Server, RS-232

Advantech B+B Smartworx - BB-UHR307

USB 7 Port Up/Down Isolated Hub - 4Kv

News correlate

Che cosa è lo Standard EMC?

Prescrizioni per l'immissione di apparecchiature sul mercato

Scoprite i Router 3G/4G di Conel

La sicurezza dei collegamenti

Che cosa è l'Industry 4.0?

Caratteristiche e Benefici

Internet of Everything

Connettere in svariati modi persone, processi, dati e cose

Nuove frontiere per l'Automazione Industriale - Parte II

Efficienza, aumento dei prodotti da impianto con l'aggiunta di collegamenti Ethernet

Nuove frontiere per l'Automazione Industriale - Parte I

B&B Electronics la sicurezza nell'automazione industriale

USB EXTENDER

Lo strumento adatto a collocare i dispositivi USB entro una distanza raggiungibile

I dispositivi seriali

Storia dei collegamenti per mantenere la connettività della rete

IE-MiniMC Industrial Ethernet Media Converter

La soluzione più conveniente per estendere la vita produttiva degli impianti elettrici e delle attrezzature esistenti

Reti Mesh

Una rete decentralizzata e cooperativa in cui ogni nodo (router o client) è in grado di comunicare direttamente con qualsiasi altro nodo, vicino o lontano

SmartMesh IP

La modalità di collegamento di dispositivi intelligenti

VLINX ESP90x

La capacità di abilitare qualsiasi dispositivo serale alla rete Ethernet e permettere alle vostre porte seriali di lavorare per voi

WZZARD Intelligent Sensing Platform

Intelligenza nella periferica di rete e  piattaforma di rilevamento wireless per IoT

IoT nell'automazione industriale

Casi di studio in cui l'IoT aiuta l'uomo nello svolgimento del proprio lavoro

AirborneM2M Enterprise

La tecnologia wireless per gli ospedali moderni

Internet of Things

interconnessione dei dispositivi

BIVIAS: Due router mobili in un solo dispositivo di comunicazione.

Quando il gioco si fa duro...scende in campo la squadra più forte!

B&B Electronics presenta il nuovo E-catalogue

Sfoglia on line il catalogo dei prodotti B&B