MQTT industriale per impianti lontani e connessioni che cadono
MQTT è un protocollo publish/subscribe leggero: le macchine pubblicano i dati su un broker, e il software che ne ha bisogno si iscrive agli argomenti che gli servono. In ambito industriale lo si usa quando gli impianti sono tanti, distanti fra loro o collegati con reti mobili che ogni tanto si interrompono.
Cosa colleghiamo
Colleghiamo gateway, router industriali e servizi di raccolta che pubblicano in MQTT al software che usa i dati: un portale, un MES, un modulo dell’ERP. In mezzo c’è il broker, un server che riceve i messaggi e li smista. MQTT è uno standard OASIS; la versione 3.1.1 è anche norma ISO/IEC 20922, la 5.0 aggiunge codici di errore e proprietà sui messaggi.
Un esempio inventato ma tipico: un costruttore di essiccatoi con 40 impianti in Nord Africa, ciascuno con una SIM 4G. Una VPN per impianto da tenere aperta sarebbe fragile e costosa da gestire. Con MQTT ogni impianto apre una sola connessione in uscita verso il broker, e se la rete cade il gateway conserva i messaggi e li manda al ritorno.
Va deciso per primo lo schema dei topic. Uno schema come stabilimento/linea/macchina/variabile, deciso all’inizio e scritto in un documento, evita di ritrovarsi dopo un anno con tre convenzioni diverse sullo stesso broker. Dove i dispositivi lo supportano usiamo Sparkplug B, la specifica Eclipse che fissa struttura dei topic e formato dei messaggi.
I messaggi che passano dal broker
| Dato | Direzione | Frequenza e QoS |
|---|---|---|
| Telemetria (temperature, umidità, consumi) | Impianto → broker → software | Ogni 10–60 secondi, QoS 0 |
| Allarmi e cambi di stato | Impianto → broker → software | Quando avvengono, QoS 1 |
| Impianto online o offline | Broker → software | Last Will alla disconnessione, messaggio retained |
| Contatori di produzione giornalieri | Impianto → broker → software | A fine turno, QoS 1 |
| Comandi e nuovi setpoint | Software → broker → impianto | Su richiesta, QoS 1 con risposta dell’impianto |
QoS 0 consegna al massimo una volta, QoS 1 almeno una volta, QoS 2 esattamente una volta. Il 2 costa più messaggi e serve di rado.
Come è fatta l’architettura
Il broker sta in cloud o nel vostro data center, raggiungibile da tutti gli impianti. Sul lato software c’è un servizio che si iscrive ai topic, controlla che i messaggi abbiano il formato atteso e li scrive in un database di serie temporali; il portale e i report leggono da lì, non dal broker.
Il Last Will risponde alla domanda più semplice, cioè se l’impianto è acceso: quando un gateway si disconnette senza salutare, il broker pubblica al suo posto un messaggio di offline, e il portale mostra l’impianto in grigio entro una volta e mezza l’intervallo di keep alive. Nessuno deve accorgersene guardando i grafici fermi.
Sicurezza
- Solo connessioni TLS sulla porta 8883. La 1883 in chiaro non è esposta su internet.
- Un’identità per ogni dispositivo, con password o certificato client, revocabile da sola quando un gateway viene sostituito.
- Regole di accesso per topic: un impianto pubblica solo sotto il suo ramo e legge solo i propri comandi.
- Connessioni anonime disattivate sul broker, e registro delle connessioni conservato.
Domande frequenti
Parliamone in 30 minuti
Raccontateci il processo e cosa non funziona: vi diciamo se e come lo risolveremmo, con tempi e costi indicativi.
