01/10/2025
Pronto per il futuro IoT con MQTT 5
Bridge BMS15 Vs MQTT 5
Articolo dedicato all’uso del protocollo MQTT in ambienti BMS (Building Management System), con particolare riferimento al software Bridge MQTT BMS15.
Cos’è MQTT e perché è fondamentale per l’IoT e la building automation.
Come configurare e utilizzare il client MQTT multi-broker.
Come sfruttare le funzionalità avanzate di MQTT v5.
Esempi pratici di integrazione con impianti domotici, hotel automation, controllo accessi, termoregolazione.
Diagnostica, logging e suggerimenti per una configurazione robusta.
L’obiettivo è automatizzare processi, ridurre sprechi, aumentare sicurezza e qualità del servizio.
MQTT è il “linguaggio” più usato, È leggero e affidabile anche su reti mobili o instabili. I dispositivi inviano messaggi su argomenti tematici chiamati topic. Le applicazioni che servono quei dati si iscrivono agli stessi topic. In mezzo c’è un broker che smista tutto in modo ordinato. Questo modello publish/subscribe separa chi produce i dati da chi li consuma. Riduce accoppiamenti rigidi. Permette di aggiungere nuovi servizi senza modificare i dispositivi. La scalabilità è lineare: più sensori e più lettori si aggiungono, il broker resta il punto di coordinamento.
Nelle edifici intelligenti MQTT collega termostati, luci, contatori, accessi. Si vede in tempo reale dove si consuma e dove si spreca. Si attivano scenari automatici e si ricevono allarmi mirati. Nell’industria abilita monitoraggio di linee, OEE, qualità, manutenzione predittiva.
Nell’energia integra fotovoltaico, batterie e colonnine EV per ottimizzare autoconsumo e picchi. In agricoltura guida irrigazione e microclima. Nelle città abilita cassonetti e parcheggi smart, illuminazione adattiva, meteo di quartiere.
— Introduzione al protocollo MQTT
MQTT (Message Queuing Telemetry Transport) è un protocollo di messaggistica leggero, basato su TCP/IP, progettato per ambienti con risorse limitate e connessioni instabili.
Utilizza un modello publish/subscribe, dove:
I publisher inviano messaggi su un determinato topic.
I subscriber si iscrivono a topic di interesse per ricevere i messaggi.
Il broker è l’intermediario che gestisce la distribuzione dei messaggi.
Vantaggi principali:
Basso consumo energetico.
Minimo overhead di rete.
Supporto a milioni di dispositivi IoT.
Affidabilità tramite QoS (Quality of Service)2.
— Funzionalità avanzate MQTT v5 (Release Bridge V5.6)
Funzione Vantaggio Assigned Client Identifier Evita conflitti di ClientId, utile in ambienti condivisi.
Receive Maximum Ottimizza la gestione dei messaggi QoS1/2, evitando sovraccarichi.
Maximum Packet Size Protegge da pacchetti troppo grandi, migliora stabilità.
Maximum QoS Impone limiti QoS, utile per broker con policy restrittive.
Retain Available Evita errori su retain non supportati.
Wildcard Subscription Available Previene sottoscrizioni non valide.
Shared Subscription Available Supporta bilanciamento carico tra client.
Subscription Identifiers Available Permette routing logico dei messaggi.
Server Keep Alive Adatta il KA secondo le preferenze del broker.
— Architettura Bridge BMS15
Fino a 10 broker MQTT simultanei di base.
Interfaccia grafica con log circolari,
metriche e stato connessione.
Mapping topic → tag per invio verso BMS.
— Flussi dati e gestione pacchetti
Ingresso (broker → client)
Ricezione PUBLISH con parsing proprietà v5.
Risoluzione alias e scarto messaggi scaduti.
Eventi UI con metadati MQTT v5.
Uscita (client → broker)
Gestione CONNECT, SUBSCRIBE, PUBLISH, UNSUBSCRIBE.
Throttle QoS1/2 secondo Receive Maximum.
Clamp automatico su QoS e retain.
Controllo dimensione pacchetti (Maximum Packet Size).
— Gestione Keep Alive e rete
PING a 75% del KA effettivo.
Timer basato su TX reale.
Un solo PING attivo.
RTT visibile su PINGRESP.
Invio con Socket.NoDelay e Write+Flush in TLS.
— Esempi pratici
Esempio 1 — Automazione hotel
Sensore porta → hotel/room123/door
Client riceve evento → invia comando a BMS per attivare luce.
Esempio 2 — Termoregolazione
Termostato → building/floor2/room5/temp
Client riceve valore → invia a BMS per regolare valvola.
Esempio 3 — Controllo accessi
Badge RFID → access/entry/employee123
Client riceve evento → attiva apertura porta via BMS.
www.berninisystems.com