Connessione · Sparkplug B
MQTT Sparkplug B su un’unica piattaforma IoT industriale
Sparkplug B è la specifica aperta di Eclipse che trasforma il semplice MQTT in un protocollo autodescrittivo e consapevole dello stato per l’internet delle cose industriale. Kilo lo parla nativamente, come Sparkplug Host Application (applicazione host) e come Edge Node (nodo edge), su MQTT 3.1.1 e 5.0, testato con il TCK ufficiale di Sparkplug 3.0.0.
Supera il TCK ufficiale di Sparkplug 3.0.0 · vedi i risultati
Sparkplug B · basi
Cos’è MQTT Sparkplug B?
MQTT sposta messaggi attraverso un broker ma lascia aperte tre domande: cosa significa un topic, cosa contiene un payload e se il mittente è ancora vivo. Sparkplug B, la specifica aperta di Eclipse per l’internet delle cose industriale, risponde a tutte e tre.
Un unico namespace dei topic
Ogni messaggio vive sotto spBv1.0/group/type/edge-node/device, così ogni host sa da dove arriva un valore senza il manuale del produttore.
Payload Protocol Buffers
La «B» è la codifica: uno schema protobuf compatto di Eclipse Tahu in cui ogni metrica porta nome o alias, tipo di dato, timestamp e valore.
Regole sullo stato di sessione
Certificati birth e death, numeri di sequenza e richieste di Rebirth dicono a ogni host cosa è online, così un dato obsoleto non appare mai come attuale.
Sparkplug B · confronto
Sparkplug B vs MQTT: cosa aggiunge Sparkplug?
Sparkplug B non sostituisce MQTT: funziona su qualsiasi broker MQTT 3.1.1 o 5.0 e aggiunge l’accordo che il semplice MQTT lascia a ogni produttore.
Sparkplug B · topic
Come funziona il namespace dei topic Sparkplug B?
Ogni topic Sparkplug ha le stesse cinque parti. Il tipo di messaggio, al centro, dice cos’è il messaggio; una Host Application si annuncia su spBv1.0/STATE/host_id.
Un Edge Node va online ed elenca tutte le sue metriche.
Un dispositivo dietro il nodo va online con le sue metriche.
Solo i valori cambiati, invio su variazione.
Un nodo o dispositivo va offline; i suoi dati diventano obsoleti.
Comandi da un host verso un nodo o un dispositivo.
Una Primary Host Application annuncia di essere online.
Sparkplug B · stato di sessione
Come funzionano i certificati birth e death di Sparkplug?
I certificati birth descrivono tutto ciò che un nodo invierà; i certificati death, consegnati dal broker come Will MQTT, lo segnano offline nel momento in cui la connessione cade.
- CONNECT
NDEATH registrato come Will
L’Edge Node si connette con il suo certificato death come Will MQTT, con un numero bdSeq.
- NBIRTH
Certificato birth del nodo
Ogni metrica del nodo con tipo di dato e valore attuale, lo stesso bdSeq e seq 0.
- DBIRTH
Birth dei dispositivi
Uno per dispositivo dietro il nodo, così l’host conosce ogni metrica prima di qualsiasi dato.
- DATA
Solo variazioni
NDATA e DDATA portano i valori cambiati; seq va da 0 a 255 così l’host nota ogni buco.
- NDEATH
Death o Rebirth
Se il collegamento cade, il broker pubblica l’NDEATH. Davanti a un buco, l’host invia Rebirth.
Sparkplug B · ruoli
Cosa sono Edge Node e Host Application in Sparkplug?
Un Edge Node possiede la sessione MQTT all’edge; una Host Application consuma i dati. Kilo ricopre entrambi i ruoli, sul broker che scegli.
Gateway, PLC o software edge
- Pubblica birth, dati e death
- Esegue NCMD e DCMD
- Attende l’host primario se configurato
Qualsiasi broker MQTT 3.1.1 o 5.0
- Instrada i topic spBv1.0
- Consegna il Will NDEATH
- Conserva lo STATE retained
Piattaforma IIoT Kilo
- Pubblica STATE come Primary Host
- Traccia bdSeq, seq e Rebirth
- Trasforma le metriche in dispositivi, regole e allarmi
Sparkplug B · architettura
Come costruire un Unified Namespace con MQTT Sparkplug?
Uno unified namespace (UNS) è un’architettura IIoT in cui ogni sistema pubblica il proprio stato attuale in un’unica gerarchia condivisa, di solito un broker MQTT, invece di integrazioni punto a punto.
- Riporta la gerarchia dello stabilimento sugli ID Sparkplug: il gruppo per un sito o un’area, l’Edge Node per una linea o una cella, il dispositivo per una macchina.
- I certificati birth rendono ogni nodo autodescrittivo, così le nuove apparecchiature compaiono nel namespace senza mappatura manuale.
- I certificati death mantengono il namespace fedele: appena un nodo muore, ogni valore che possiede viene segnato come obsoleto.
- Kilo consuma lo stesso namespace, così dashboard, regole e allarmi vedono lo stabilimento esattamente come viene pubblicato.
Sparkplug B · confronto
OPC UA vs MQTT Sparkplug B
Sono complementari più che rivali: un’architettura IIoT comune legge le apparecchiature via OPC UA all’edge e le pubblica come Sparkplug B sul broker che alimenta lo unified namespace.
Sparkplug B · broker
Quale broker MQTT funziona con Sparkplug B?
Qualsiasi broker che implementi MQTT correttamente può trasportare Sparkplug B. Kilo funziona con il broker che già gestisci, su mqtt:// o mqtts://, oppure con un endpoint Cloud MQTT gestito.
Broker Sparkplug Compliant
Qualsiasi broker MQTT 3.1.1 o 5.0 con QoS 0 e 1, messaggi retained e Will. È tutto ciò che serve a Edge Node e host.
Broker Sparkplug Aware
Conserva inoltre gli ultimi certificati birth per chi si collega più tardi. Utile, ma né host né Edge Node dipendono da esso.
Il tuo broker o Cloud MQTT
Punta Kilo al broker che i tuoi Edge Node usano già, o lascia che la piattaforma crei un endpoint gestito con credenziali proprie.
Sparkplug B · esempio
Esempio MQTT Sparkplug B
Una linea di riempimento in un sito, dal primo certificato birth a una connessione persa, così come i messaggi appaiono sul broker.
- L’Edge Node line-3 registra il suo NDEATH come Will, poi pubblica il suo NBIRTH e un DBIRTH per il dispositivo filler.
- Da quel momento viaggiano solo le variazioni: un DDATA per variazione, ognuno con il numero seq successivo.
- I comandi scendono lungo lo stesso albero come DCMD.
- Se il gateway perde l’alimentazione, il broker pubblica l’NDEATH e ogni host segna offline line-3 e filler.
Sparkplug B · conformità
Cos’è il TCK di Eclipse Sparkplug?
Il Technology Compatibility Kit è la suite di test ufficiale della Eclipse Foundation per la specifica. L’implementazione Sparkplug B di Kilo supera il TCK 3.0.0 firmato per i profili Edge Node e Host Application, su MQTT 5.0 e 3.1.1, e ogni risultato è pubblico.
- 28/28
- Esecuzioni del TCK superate
- 273
- Requisiti superati
- 2
- Profili testati
- 6/6
- Gruppi opzionali superati
Connessione · Sparkplug B
Come collegare dispositivi Sparkplug B a una piattaforma IoT?
Punta Kilo al tuo broker
Aggiungi un connettore Sparkplug B al broker che i tuoi Edge Node usano già, o a un endpoint Cloud MQTT, e scegli i gruppi a cui iscriverti.
I birth diventano dispositivi
Ogni NBIRTH e DBIRTH registra il suo nodo o dispositivo con ogni metrica, tipo di dato e unità, quindi non serve alcun mapping del payload.
Dati, death e comandi
Le variazioni affluiscono in dashboard, regole e allarmi; i death segnano subito i valori come obsoleti; i comandi tornano come NCMD e DCMD.
Connessione · Sparkplug B
Cosa deve supportare una piattaforma IIoT per Sparkplug B?
- Sparkplug 3.0.0
- Profili Edge Node e Host Application, su MQTT 3.1.1 e MQTT 5.0, testati con il TCK ufficiale di Sparkplug 3.0.0.
- Stato di sessione completo
- Tracciamento di bdSeq e seq, death consegnati dal Will, richieste di Rebirth a ogni buco e marcatura come obsoleto nel momento in cui un nodo o un dispositivo muore.
- STATE dell’host primario
- Uno STATE birth retained e uno STATE death come Will, così gli Edge Node che attendono l’host primario sanno quando Kilo è in ascolto.
- Riordino dei messaggi
- I messaggi fuori ordine vengono trattenuti e riordinati entro un timeout prima di richiedere un Rebirth, così un breve intoppo del broker non è perdita di dati.
- Tutti i tipi di dato
- Tutti i tipi scalari e array di Sparkplug B, dataset, template, proprietà e alias delle metriche, decodificati in base a ciò che ogni birth ha dichiarato.
- Comandi in entrambe le direzioni
- Scritture NCMD e DCMD sulle metriche di nodi e dispositivi, incluso Node Control/Rebirth, da dashboard, regole o API.
Connessione · Sparkplug B
Cosa si può fare con i dati Sparkplug B?
Connessione · Sparkplug B
Domande frequenti su Sparkplug B
Sparkplug B è la stessa cosa di MQTT?
No. MQTT è il trasporto; Sparkplug B è una specifica sopra di esso che fissa il namespace dei topic, il payload Protocol Buffers e le regole sullo stato di sessione. Ogni messaggio Sparkplug B è un messaggio MQTT, ma la maggior parte del traffico MQTT non è Sparkplug.
Quali versioni di MQTT supporta Sparkplug B?
Sparkplug 3.0.0 funziona su MQTT 3.1.1 e MQTT 5.0. Kilo supporta entrambe ed è stato testato su entrambe con il TCK ufficiale.
Serve un broker speciale per Sparkplug B?
No. Va bene qualsiasi broker MQTT 3.1.1 o 5.0 che gestisca correttamente QoS 1, i messaggi retained e il Will. Un broker Sparkplug Aware è facoltativo.
Sparkplug B è open source?
La specifica è uno standard aperto della Eclipse Foundation sotto Eclipse Public License, e lo schema del payload è pubblicato in Eclipse Tahu. I prodotti la implementano in modo indipendente; l’implementazione di Kilo è propria.
Qual è la differenza tra IIoT e IoT?
L’IIoT, l’internet delle cose industriale, è l’IoT applicato a stabilimenti, utility e infrastrutture, dove i dati arrivano da PLC, contatori e macchine e devono essere affidabili, con timestamp e consapevoli dello stato. Questa affidabilità è esattamente ciò che Sparkplug B aggiunge a MQTT.
Posso continuare a usare JSON su MQTT?
Sì. Il connettore MQTT di Kilo continua a fare il parsing dei payload JSON, così dispositivi Sparkplug B e dispositivi MQTT semplici possono convivere nella stessa organizzazione.
Connessione · Sparkplug B
Altri modi per collegare apparecchiature industriali
Collegare dispositivi Sparkplug B a Kilo
Inizia gratis e punta Kilo al tuo broker, oppure prenota una call: mappiamo insieme gruppi Sparkplug, Edge Node e dispositivi.