MQTT spiegato: il protocollo che alimenta la smart home moderna

09 Kwi 2026
przez Dario Salaris

Dietro quasi ogni sistema domotico avanzato c'è un protocollo silenzioso che fa funzionare tutto: MQTT. Dalla comunicazione tra sensori e hub fino ai trigger delle automazioni, MQTT è il linguaggio universale dell'Internet of Things. Capirlo significa capire come funziona davvero la smart home.

Le origini: dall'industria petrolifera alla casa smart

MQTT (Message Queuing Telemetry Transport) nasce nel 1999 per risolvere un problema molto concreto: trasmettere dati dagli oleodotti e dalle piattaforme petrolifere ai sistemi di controllo SCADA. Queste installazioni si trovano in aree remote con connettività limitata e instabile. I sistemi esistenti (comunicazione seriale, satellite, onde radio a bassa banda) non garantivano la consegna affidabile dei dati.

MQTT è stato progettato per funzionare con connessioni a bassa banda, costi ridotti e affidabilità anche su reti instabili. Queste stesse caratteristiche lo rendono perfetto per l'IoT domestico, dove decine di sensori a basso consumo devono comunicare in modo efficiente con un sistema centrale.

Come funziona: publish e subscribe

Il meccanismo di MQTT si comprende facilmente con un'analogia: funziona come un sistema di abbonamento a canali tematici. I dispositivi pubblicano dati su canali (topic), gli iscritti ricevono automaticamente gli aggiornamenti sui canali che li interessano.

In MQTT, il cuore del sistema è il broker. Il broker riceve tutti i messaggi, li filtra, identifica chi è interessato e li distribuisce ai destinatari corretti. I client sono i dispositivi che pubblicano dati (sensori di temperatura, sensori di movimento, prese smart) o che si iscrivono per riceverli (app, dashboard, sistemi di automazione).

La comunicazione si organizza in topic, strutturati come percorsi gerarchici separati da slash. Per esempio: `casa/soggiorno/temperatura` identifica univocamente il sensore di temperatura del soggiorno. Un client che pubblica su questo topic invia il valore misurato (il payload, per esempio "22.5"); tutti i client iscritti a quel topic ricevono immediatamente il dato.

Topic e payload: la struttura dei dati

La struttura gerarchica dei topic permette organizzazioni flessibili. Un sistema domestico potrebbe usare:

  • `casa/soggiorno/temperatura` per il sensore di temperatura
  • `casa/soggiorno/umidita` per il sensore di umidità
  • `casa/cucina/consumo` per il monitoraggio energetico
  • `casa/ingresso/movimento` per il sensore PIR

I client possono iscriversi a topic specifici o usare wildcard: `casa/soggiorno/#` riceve tutti i dati del soggiorno, `casa/+/temperatura` riceve le temperature di tutte le stanze.

Il payload può contenere qualsiasi dato: un numero, una stringa, un oggetto JSON. La semplicità del formato lo rende compatibile con qualsiasi linguaggio di programmazione e piattaforma.

Sicurezza MQTT

La sicurezza in MQTT si implementa a più livelli. L'autenticazione tramite username e password protegge l'accesso al broker. La crittografia TLS/SSL cifra la comunicazione tra client e broker, impedendo l'intercettazione dei dati. I firewall vanno configurati per consentire solo il traffico in uscita verso il broker sulla porta MQTT dedicata.

Per ambienti domestici, il broker viene tipicamente eseguito sulla rete locale (Mosquitto su Raspberry Pi o come add-on di Home Assistant), eliminando la necessità di esporre dati su internet.

I vantaggi per la smart home

MQTT eccelle in quattro aree cruciali per la domotica. La leggerezza del protocollo permette ai dispositivi a batteria di comunicare senza sprechi energetici. L'affidabilità nella consegna dei messaggi (con tre livelli di QoS: at most once, at least once, exactly once) garantisce che nessun evento venga perso. La scalabilità a milioni di dispositivi rende il protocollo adatto sia a una casa con dieci sensori sia a un edificio commerciale con migliaia. L'efficienza su reti instabili mantiene il funzionamento anche quando il Wi-Fi ha problemi.

Come farlo con Roraima

MQTT è il protocollo nativo del gateway IoT Roraima. Ogni dispositivo connesso alla piattaforma comunica tramite MQTT, sia direttamente (per dispositivi compatibili come Shelly con MQTT abilitato) sia attraverso adapter specifici (come il Tuya MQTT adapter per i dispositivi Tuya).

Lo scenario engine di Roraima è costruito sopra MQTT: i trigger di tipo device_state_change e device_threshold ascoltano i topic MQTT dei dispositivi e attivano gli scenari corrispondenti. I trigger real-time sfruttano la bassa latenza di MQTT per reazioni istantanee: un sensore di movimento pubblica su `roraima/dispositivo_123/movimento`, lo scenario engine riceve il messaggio e in millisecondi attiva le azioni configurate.

Il broker MQTT integrato nel gateway gestisce la comunicazione tra tutti i dispositivi, con crittografia TLS per la sicurezza e autenticazione per ogni client. L'architettura publish-subscribe permette a più scenari di reagire allo stesso evento senza interferenze: un singolo sensore di temperatura può attivare contemporaneamente il condizionamento (scenario 1), aggiornare la dashboard (scenario 2) e registrare un alert se la temperatura supera una soglia (scenario 3).

Per i vendor tecnici che sviluppano dispositivi IoT personalizzati, il supporto MQTT nativo di Roraima significa integrazione immediata: qualsiasi dispositivo che pubblica su topic MQTT può essere registrato nel marketplace e venduto con accesso gestito.

Conclusione

MQTT è il protocollo invisibile che rende possibile la smart home moderna. Comprenderne il funzionamento aiuta a scegliere dispositivi compatibili, a progettare automazioni efficaci e a garantire la sicurezza della propria rete domestica. Roraima porta MQTT al mainstream, integrandolo nativamente nel gateway e nello scenario engine, senza richiedere all'utente finale di configurare broker o gestire topic manualmente.