Il protocollo Message Queuing Telemetry Transport, comunemente chiamato MQTT, è lo standard di riferimento dell'IoT come riferito dall'Organization for the Advancement of Structured Information Standards (OASIS) ISO/IEC 20922:2016 Information technology — Message Queuing Telemetry Transport (MQTT) v3.1.1 . Il protocollo è frutto del lavoro fatto da Andy Stanford-Clark di IBM, e Arlen Nipper di Cirrus Link Solutions nel 1999. Dopo una prima versione nel corso degli anni ne sono state rilasciate diverse.
Come riportato nell'ISO standard, Il protocollo funziona su TCP/IP o su altri protocolli di rete che forniscono connessioni affidabili e senza perdite. Le caratteristiche principali del suo successo:
protocollo di messaggistica estremamente leggero
Uso del modello di messaggio di publish/subscribe che fornisce la distribuzione dei messaggi uno-a-molti tremite messaggi asincroni.
progettato per dispositivi con hardware limitato
progettato per con banda di rete limitata
è un protocollo machine-to-machine (m2m)
semplice e di facile implementazione
Questo protocollo è l'ideale per il contesto dell'Internet of Things poichè è particolarmente orientato verso quei dispositivi per cui risulta fondamentale un basso consumo energetico.
Come specificato nella guida Comunicazione IoT, il modello architetturale publish/subscribe coinvolge una terza entità, detta Message broker, incaricata del routing dei messaggi in arrivo da un mittente a uno o più destinatari.
Il protocollo MQTT lascia libertà totale su quale Message Broker utilizzare purchè ve ne sia almeno uno! ;)
Per lo sviluppo dei nostri progetti un message broker è necessario, per questo ho deciso di presentarvene due da utilizzare a seconda dei casi.
Il primo è Mosquitto, uno tra i più famosi message broker open source che implementa il protocollo MQTT. Si tratta di un server multipiattaforma, leggero e user friendly, caratteristiche queste che gli permettono di essere utilizzato praticamente ovunque (anche in una Raspberry). Per implementare la connessione tra oggetti IoT non è necessario conoscerne né il numero, né la caratteristica, né tanto meno l’indirizzo fisico di rete, proprio in virtù della sua funzione. La sua efficienza è dovuta anche alla sua implementazione in linguaggio C.
Per i nostri scopi, tenendo a mente i nostri principi, ovvero realizzare progetti semplici ed economia, utilizzeremo un altro servizio. Mosquitto è comunque da l'ideale per tutti coloro che intendono realizzare il proprio piccolo server.
Nel corso dei nostri progetti, utilizzeremo un servizio online che offre un message broker senza la necessita di avere un server proprio, con tutto ciò che ne consegue in termini di costi e sicurezza. È possibile accedere al servizio online tramite il sito www.maqiatto.com/. Poichè vi è una semplice configurazione da effettuare, vi invitiamo a leggere la guida completa che spiega e mostra tutto nei dettagli guida maqiatto.
Una dashboard è semplicemente un pannello di controllo che consente una rapida visualizzazione delle informazioni richieste, consentendo inoltre il comodo invio di comandi.
Per un dato sistema è possibile utilizzare più di una dashboard così da consentire il pieno utilizzo delle funzionalità in qualsiasi momento e da qualsiasi posto.
A seconda del sistema operativo è opportuno installare e configurare la dashboard appropriata. In base al tuo device, segui la guida e configura la tua dashboard: