MQTT IoT messaging protocol
Protocollo IoT · ISO/IEC 20922 · 9 min di lettura

MQTT — protocollo di messaggistica IoT

La spina dorsale di messaggistica publish/subscribe dell'IoT moderno. Come MQTT si inserisce nella smart home e nell'automazione degli edifici accanto a KNX, DALI e Home Assistant.

home/temphome/pvhome/motionautomatizācijalietotneierakstiMQTTbrokerpub / sub · QoSPublishersSubscribers

Cos'è MQTT?

MQTT (Message Queuing Telemetry Transport) è un protocollo di messaggistica publish/subscribe leggero, progettato originariamente per i collegamenti satellitari negli anni '90 (IBM/Eurotech). Oggi è il protocollo dominante per la comunicazione dispositivo-server nell'IoT — dai sensori ESP8266 ai PLC industriali.

A differenza di KNX (basato su bus) o Modbus (master/slave), MQTT usa un modello a broker: i dispositivi pubblicano messaggi su topic presso un broker centrale (es. Mosquitto), e qualsiasi sottoscrittore in ascolto su quel topic riceve il messaggio. Nessuna comunicazione diretta tra dispositivi.

Concetti chiave:

  • Broker: Server centrale che instrada tutti i messaggi (Mosquitto, HiveMQ, EMQX). In smart home = gira sul server HA o su un Pi separato.
  • Topic: Percorso testuale gerarchico, es. home/livingroom/light/state
  • Pubblicazione: Un dispositivo invia un messaggio a un topic
  • Sottoscrizione: Un client è in ascolto su un topic e riceve tutti i messaggi pubblicati su di esso
  • Messaggio retained: Il broker memorizza l'ultimo valore — i nuovi sottoscrittori lo ricevono subito
  • QoS 0/1/2: Al massimo una volta / Almeno una volta / Esattamente una volta — garanzia di consegna

Specifica MQTT

ParametroValore
StandardISO/IEC 20922 (MQTT 3.1.1), MQTT 5.0
TrasportoTCP/IP (porta 1883) o TLS (porta 8883)
TopologiaStella (centrata sul broker)
DirezionePublish/subscribe bidirezionale
PayloadQualsiasi binario/testo — tipicamente JSON o valore semplice
Separatore di topic/ (barra), es. home/floor1/room2/temp
Wildcard (un livello)+ (più), es. home/+/light
Wildcard (multilivello)# (cancelletto), es. home/#
QoS 0Invia e dimentica — nessuna garanzia di consegna
QoS 1Almeno una volta — il ricevitore conferma (può duplicare)
QoS 2Esattamente una volta — handshake a 4 vie
Messaggi retainedIl broker memorizza l'ultimo messaggio per topic
Messaggio WillInviato dal broker se un client si disconnette inaspettatamente
AutenticazioneNome utente/password, certificati TLS
Porta (non cifrata)1883
Porta (TLS)8883

MQTT nella smart home — l'ecosistema

MQTT è il linguaggio comune della smart home DIY e semiprofessionale. Diversi grandi progetti lo usano come livello di trasporto:

Zigbee2MQTT

zigbee2mqtt.io

Traduce i telegrammi radio Zigbee in MQTT. Collega un coordinatore Zigbee (CC2530, SkyConnect) ad HA, avvia Zigbee2MQTT e oltre 2.500 dispositivi Zigbee compaiono come topic MQTT. Nessun hub Philips Hue necessario.

Tasmota / ESPHome

tasmota.github.io

Firmware open source per i moduli ESP8266/ESP32. Flasha un relè Sonoff economico con Tasmota e diventa un interruttore smart che pubblica in MQTT. ESPHome è nativo per HA.

Integrazione MQTT di Home Assistant

home-assistant.io

HA può pubblicare e sottoscrivere qualsiasi topic MQTT. Configurazione tramite YAML o interfaccia. MQTT Discovery crea automaticamente entità HA quando un dispositivo si annuncia tramite un topic specifico.

Node-RED

nodered.org

Programmazione visuale a flussi che sottoscrive topic MQTT, applica logica e pubblica su altri topic o endpoint KNX/HTTP. Spesso usata accanto ad HA per il routing complesso.

WirenBoard

wirenboard.com

Il controller russo su guida DIN usa MQTT come protocollo principale. WirenBoard pubblica tutte le letture dei sensori e accetta comandi tramite topic MQTT. Funziona con HA e Node-RED.

Esempi di struttura dei topic

Esempio di albero dei topic MQTT (smart home)

home/
├── livingroom/
│   ├── light/state          → "ON" / "OFF"
│   ├── light/brightness     → "75"  (0-100%)
│   ├── light/color_temp_k   → "3000"
│   ├── temperature          → "21.5"
│   └── occupancy            → "true" / "false"
├── kitchen/
│   ├── light/state          → "ON"
│   └── humidity             → "45"
├── bedroom/
│   ├── blind/position       → "75"  (0=open, 100=closed)
│   └── thermostat/setpoint  → "20.5"
└── panel/
    ├── meter/power_w        → "1247"
    └── meter/energy_kwh     → "1852.3"

MQTT vs KNX — quando usare cosa

AspettoMQTTKNX TP
InfrastrutturaRete IP (Ethernet/Wi-Fi)Cavo di bus TP dedicato
AffidabilitàDipende dalla rete e dall'uptime del brokerDeterministica, il bus è sempre attivo
LatenzaMillisecondi (IP) + andata e ritorno al broker<50 ms (telegramma di bus diretto)
ScalabilitàIllimitata (scalabilità orizzontale)255 indirizzi per linea, max 15 linee
Complessità di setupBassa (broker + publish/subscribe)Alta (programmazione ETS, indirizzamento)
Costo hardwareBasso (ESP8266 = 2 €)Alto (attuatore KNX = 50–200 €+)
CertificazioneNon richiestaCertificato KNX + licenza ETS
Funziona senza server❌ Il broker deve essere in esecuzione✅ Il bus locale funziona senza server
Caso d'uso miglioreDati dei sensori, integrazione IoT, DIY flessibileControllo critico per la sicurezza, edificio commerciale
Utente tipicoMaker, integratore HA, sviluppatore IoTIngegnere elettrico, specialista DALI/KNX

La risposta sincera: In un'installazione premium ben progettata, KNX gestisce il controllo hardware (commutazione, dimmerazione, tapparelle) e MQTT/IP gestisce l'aggregazione dei dati dei sensori e le integrazioni software (monitoraggio energetico, presenza, meteo). Sono complementari — non in competizione.

Opzioni di integrazione KNX + MQTT

Home Assistant (integrazioni KNX + MQTT)

Sia l'integrazione KNX sia quella MQTT girano in HA. Le automazioni possono leggere i valori dei sensori MQTT e attivare gli attuatori KNX — o viceversa. Nessun hardware aggiuntivo.

knx-mqtt-bridge (open source)

Servizio Node.js autonomo che collega gli indirizzi di gruppo KNX ai topic MQTT in modo bidirezionale. Ogni GA KNX viene mappata su un topic MQTT. Gira su Pi o Docker.

Nodi Node-RED KNX + MQTT

node-red-contrib-knx + nodi MQTT. Programmazione visuale a flussi: topic MQTT → trasformazione → telegramma KNX. Ottimo per il routing condizionale complesso.

Gateway WirenBoard WB-MGW

Il gateway WirenBoard può tradurre tra dispositivi RS-485/Modbus e MQTT. Poi HA legge MQTT e pubblica su KNX. Diffuso nell'Europa dell'Est.

Architettura KNX + MQTT progettata per il tuo progetto

Integriamo le reti di sensori MQTT con i quadri di controllo KNX — Zigbee2MQTT, contatori di energia, sensori HVAC — tutto unificato in un unico sistema.

Richiedi un preventivo →
Loading...
Back to top