In questa nuova rubrica che uscirà ogni lunedì vi voglio parlare di domotica e oggi vi voglio parlare del protocollo MQTT e del Broker Mosquitto.
MQTT è l’abbreviazione di Message Queue Telemetry Transport un protocollo ISO standard (ISO/IEC PRF 20922) di messaggistica leggero di tipo publish-subscribe, indica un protocollo di trasmissione dati TCP/IP e per comunicare serve un broker che fa da tramite.
Publish-subscribe funziona in questo modo: un client manda chiamato publisher che invia un messaggio al broker e i client detti subscriber che leggono il messaggio e se è per loro leggeranno.
MQTT per la domotica è molto interessante perché il publisher invia un messaggio con azione e nome del subscriber, il broker lo legge e lo invia e il subscriber interessato o più subscriber interessati leggono il messaggio ed effettuano l’azione inviata dal publisher.
Un esempio è quello di accendere la luce di una stanza con una lampadina o switch che supporti mqtt, inviamo da un’app mobile o Home Assistant il messaggio (publisher), il broker lo legge e lo ripubblica per la lampadina/switch interessato o più dispositivi interessati (subscriber) e si accende la luce ed è sia publisher che subscriber, legge l’azione da fare e pubblica il suo stato(acceso o spento on/off).
Ecco lo schema:
Il Broker MQTT è un software server che si occupa della ricezione e smistamento dei messaggi e il più leggero compatibile con i sistemi linux è il mosquitto broker.
I dispositivi possono essere solo publisher, solo subscriber o tutti e due, esempio il sensore di temperatura è solo publisher, il subscriber può essere uno smartphone che legge il messaggio del sensore di temperatura e un dispositivo sia publisher che subscriber come detto prima la lampadina/switch.
Perchè usare MQTT:
- La leggerezza del protocollo consente l’implementazione sia su dispositivi hardware fortemente vincolati, sia su reti ad elevata latenza o a larghezza di banda limitata in quanto risulta particolarmente resiliente in fase di comunicazione dei dati;
- La flessibilità del protocollo fa sì che possa supportare diversi scenari applicativi per dispositivi e servizi IoT;
- MQTT è un protocollo robusta, con una sua storia e una sua affidabilità. Insomma, non è un azzardo.
Alla prossimo appuntamento con “Parliamo Di Domotica”.