Connexion · Sparkplug B

MQTT Sparkplug B sur une seule plateforme IIoT

Sparkplug B est la spécification ouverte d’Eclipse qui fait du MQTT classique un protocole autodescriptif et conscient de l’état pour l’internet des objets industriel. Kilo le parle nativement, en tant que Sparkplug Host Application (application hôte) et en tant qu’Edge Node (nœud de périphérie), sur MQTT 3.1.1 et 5.0, testé avec le TCK Sparkplug 3.0.0 officiel.

SPARKPLUG EN LIGNE

Réussit le TCK Sparkplug 3.0.0 officiel · voir les résultats

Sparkplug B · bases

Qu’est-ce que MQTT Sparkplug B ?

MQTT achemine les messages via un broker mais laisse trois questions ouvertes : ce que signifie un topic, ce que contient un payload et si l’émetteur est encore en vie. Sparkplug B, la spécification ouverte d’Eclipse pour l’internet des objets industriel, répond aux trois.

Topics

Un seul espace de noms

Chaque message vit sous spBv1.0/group/type/edge-node/device : tout hôte sait d’où vient une valeur, sans manuel du fabricant.

Payload

Payload Protocol Buffers

Le « B » désigne l’encodage : un schéma protobuf compact d’Eclipse Tahu où chaque métrique porte un nom ou un alias, un type, un horodatage et une valeur.

État

Règles d’état de session

Certificats birth et death, numéros de séquence et demandes de Rebirth disent à chaque hôte ce qui est en ligne : une donnée périmée n’est jamais affichée comme actuelle.

Sparkplug B · comparaison

Sparkplug B vs MQTT : qu’apporte Sparkplug ?

Sparkplug B ne remplace pas MQTT : il fonctionne sur tout broker MQTT 3.1.1 ou 5.0 et ajoute l’accord commun que MQTT seul laisse à chaque fabricant.

MQTT classique MQTT Sparkplug B
Topics Choisis par chaque fabricant Espace spBv1.0 fixe pour tout appareil
Payload Tout format, souvent du JSON maison Métriques Protocol Buffers typées
Découverte Lire le manuel du fabricant Le certificat birth liste chaque métrique
État en ligne Inconnu, sauf à le développer Deaths via la Will MQTT, aussitôt
Store and forward Données perdues, sauf buffer côté client Stockées horodatées en périphérie, envoyées en historique à la reconnexion
Bande passante Payload complet à chaque publication Envoi sur changement, alias de métriques
Intégration Parsing spécifique par appareil De la configuration, pas du code

Sparkplug B · topics

Comment fonctionne l’espace de noms des topics Sparkplug B ?

Chaque topic Sparkplug a les mêmes cinq parties. Le type de message, au milieu, dit ce qu’est le message ; une Host Application s’annonce sur spBv1.0/STATE/host_id.

spBv1.0 Espace de noms et version
/
group_id Un site, une ligne ou une zone
/
message_type Ce qu’est le message
/
edge_node_id Passerelle ou contrôleur
/
device_id Machine ou capteur (facultatif)
NBIRTH

Un Edge Node passe en ligne et liste toutes ses métriques.

DBIRTH

Un appareil derrière le nœud passe en ligne avec ses métriques.

NDATA · DDATA

Seules les valeurs modifiées, envoi sur changement.

NDEATH · DDEATH

Un nœud ou un appareil passe hors ligne ; ses données deviennent périmées.

NCMD · DCMD

Commandes d’un hôte vers un nœud ou un appareil.

STATE

Une Primary Host Application annonce qu’elle est en ligne.

Sparkplug B · état de session

Comment fonctionnent les certificats birth et death de Sparkplug ?

Les certificats birth décrivent tout ce qu’un nœud enverra ; les certificats death, délivrés par le broker comme Will MQTT, le marquent hors ligne dès que la connexion tombe.

  1. CONNECT

    NDEATH enregistré comme Will

    L’Edge Node se connecte avec son certificat death comme Will MQTT, porteur d’un numéro bdSeq.

  2. NBIRTH

    Certificat birth du nœud

    Chaque métrique du nœud avec son type et sa valeur actuelle, le même bdSeq et seq 0.

  3. DBIRTH

    Births des appareils

    Un par appareil derrière le nœud : l’hôte connaît chaque métrique avant toute donnée.

  4. DATA

    Changements seulement

    NDATA et DDATA portent les valeurs modifiées ; seq va de 0 à 255 pour révéler tout trou.

  5. NDEATH

    Death ou Rebirth

    Si le lien tombe, le broker publie le NDEATH. Sur un trou, un hôte envoie un Rebirth.

Sparkplug B · rôles

Qu’est-ce qu’un Edge Node et une Host Application Sparkplug ?

Un Edge Node détient la session MQTT en périphérie ; une Host Application consomme les données. Kilo joue les deux rôles, via le broker de votre choix.

Edge Node

Passerelle, automate ou logiciel edge

  • Publie births, données et deaths
  • Exécute NCMD et DCMD
  • Attend l’hôte principal si configuré
Broker MQTT

Tout broker MQTT 3.1.1 ou 5.0

  • Achemine les topics spBv1.0
  • Délivre la Will NDEATH
  • Conserve le STATE retenu
Host Application

Plateforme IIoT Kilo

  • Publie STATE comme Primary Host
  • Suit bdSeq, seq et Rebirth
  • Transforme les métriques en appareils, règles et alarmes

Sparkplug B · architecture

Comment créer un Unified Namespace avec MQTT Sparkplug ?

Un unified namespace (UNS) est une architecture IIoT où chaque système publie son état actuel dans une hiérarchie partagée unique, généralement un broker MQTT, au lieu d’intégrations point à point.

  • Calquez la hiérarchie de l’usine sur les identifiants Sparkplug : le groupe pour un site ou une zone, l’Edge Node pour une ligne ou une cellule, l’appareil pour une machine.
  • Les certificats birth rendent chaque nœud autodescriptif : un nouvel équipement apparaît dans l’espace de noms sans mappage manuel.
  • Les certificats death gardent l’espace de noms fidèle : dès qu’un nœud meurt, chaque valeur qu’il détient est marquée périmée.
  • Kilo consomme ce même espace de noms : tableaux de bord, règles et alarmes voient l’usine exactement telle qu’elle est publiée.
Entreprise broker / UNS mqtts://uns.example.com
Site · zone group_id plant-berlin
Ligne · cellule edge_node_id line-3
Machine device_id filler
Métrique metric Motor/Temperature = 71.5 °C

Sparkplug B · comparaison

OPC UA vs MQTT Sparkplug B

Ils sont complémentaires plutôt que rivaux : une architecture IIoT courante lit les équipements en OPC UA en périphérie et les publie en Sparkplug B vers le broker qui alimente l’unified namespace.

OPC UA MQTT Sparkplug B
Niveau Machine et cellule Du site à l’entreprise et au cloud
Mode d’échange Client/serveur (plus PubSub) Publish/subscribe via un broker
Modèle de données Modèle d’information riche et typé Métriques typées, templates, datasets
Trafic Polling ou abonnements par client Envoi sur changement, un flux pour tous
État Par session Certificats birth et death pour chaque nœud

Sparkplug B · brokers

Quel broker MQTT utiliser avec Sparkplug B ?

Tout broker qui implémente correctement MQTT peut transporter Sparkplug B. Kilo fonctionne avec le broker que vous exploitez déjà, en mqtt:// ou mqtts://, ou avec un endpoint Cloud MQTT géré.

Requis

Broker Sparkplug Compliant

Tout broker MQTT 3.1.1 ou 5.0 avec QoS 0 et 1, messages retenus et Will. C’est tout ce dont Edge Nodes et hôtes ont besoin.

Facultatif

Broker Sparkplug Aware

Stocke en plus les derniers certificats birth pour les clients arrivés plus tard. Utile, mais ni hôtes ni Edge Nodes n’en dépendent.

Kilo

Votre broker ou Cloud MQTT

Pointez Kilo vers le broker que vos Edge Nodes utilisent déjà, ou laissez la plateforme fournir un endpoint géré avec ses propres identifiants.

Sparkplug B · exemple

Exemple MQTT Sparkplug B

Une ligne de remplissage sur un site, du premier certificat birth à la perte de connexion, telle que les messages apparaissent sur le broker.

  • L’Edge Node line-3 enregistre son NDEATH comme Will, puis publie son NBIRTH et un DBIRTH pour l’appareil filler.
  • Ensuite, seuls les changements circulent : un DDATA par changement, chacun avec le numéro seq suivant.
  • Les commandes redescendent par la même arborescence sous forme de DCMD.
  • Si la passerelle perd son alimentation, le broker publie le NDEATH et chaque hôte marque line-3 et filler hors ligne.
spBv1.0 · plant-berlin
NBIRTH spBv1.0/plant-berlin/NBIRTH/line-3
bdSeq=4 · seq=0 · Node Control/Rebirth (Boolean)
DBIRTH spBv1.0/plant-berlin/DBIRTH/line-3/filler
Bottles/Count (UInt64) · Motor/Temperature (Float) · State (String)
DDATA spBv1.0/plant-berlin/DDATA/line-3/filler
seq=12 · Motor/Temperature = 71.5
DCMD spBv1.0/plant-berlin/DCMD/line-3/filler
Bottles/Count = 0
NDEATH spBv1.0/plant-berlin/NDEATH/line-3
bdSeq=4 · publié par le broker comme Will

Sparkplug B · conformité

Qu’est-ce que le TCK Eclipse Sparkplug ?

Le Technology Compatibility Kit est la suite de tests officielle de la Fondation Eclipse pour la spécification. L’implémentation Sparkplug B de Kilo réussit le TCK 3.0.0 signé pour les profils Edge Node et Host Application, sur MQTT 5.0 et 3.1.1, et chaque résultat est public.

28/28
Exécutions du TCK réussies
273
Exigences satisfaites
2
Profils testés
6/6
Groupes optionnels réussis

Connexion · Sparkplug B

Comment connecter des appareils Sparkplug B à une plateforme IoT ?

1

Pointez Kilo vers votre broker

Ajoutez un connecteur Sparkplug B au broker que vos Edge Nodes utilisent déjà, ou à un endpoint Cloud MQTT, et choisissez les groupes auxquels vous abonner.

2

Les births deviennent des appareils

Chaque NBIRTH et DBIRTH enregistre son nœud ou son appareil avec chaque métrique, type de données et unité : aucun mapping de payload n’est nécessaire.

3

Données, deaths et commandes

Les changements alimentent tableaux de bord, règles et alarmes ; les deaths marquent aussitôt les valeurs comme périmées ; les commandes repartent en NCMD et DCMD.

Connexion · Sparkplug B

Que doit prendre en charge une plateforme IIoT pour Sparkplug B ?

Sparkplug 3.0.0
Profils Edge Node et Host Application, sur MQTT 3.1.1 et MQTT 5.0, testés avec le TCK Sparkplug 3.0.0 officiel.
État de session complet
Suivi de bdSeq et seq, deaths délivrés par la Will, demandes de Rebirth à chaque trou, et marquage périmé dès qu’un nœud ou un appareil meurt.
STATE de l’hôte principal
Un STATE birth retenu et un STATE death en Will : les Edge Nodes qui attendent l’hôte principal savent quand Kilo écoute.
Réordonnancement des messages
Les messages arrivés dans le désordre sont retenus et remis en ordre dans un délai avant toute demande de Rebirth : un bref accroc du broker n’est pas une perte de données.
Tous les types de données
Tous les types scalaires et tableaux de Sparkplug B, datasets, templates, propriétés et alias de métriques, décodés selon ce que chaque birth a déclaré.
Commandes dans les deux sens
Écritures NCMD et DCMD sur les métriques des nœuds et des appareils, y compris Node Control/Rebirth, depuis les tableaux de bord, les règles ou l’API.

Connexion · Sparkplug B

Que faire des données Sparkplug B ?

Connexion · Sparkplug B

FAQ Sparkplug B

Sparkplug B, est-ce la même chose que MQTT ?

Non. MQTT est le transport ; Sparkplug B est une spécification au-dessus qui fixe l’espace de noms des topics, le payload Protocol Buffers et les règles d’état de session. Tout message Sparkplug B est un message MQTT, mais la plupart du trafic MQTT n’est pas du Sparkplug.

Quelles versions de MQTT Sparkplug B prend-il en charge ?

Sparkplug 3.0.0 fonctionne sur MQTT 3.1.1 et MQTT 5.0. Kilo prend en charge les deux et a été testé sur les deux avec le TCK officiel.

Faut-il un broker spécial pour Sparkplug B ?

Non. Tout broker MQTT 3.1.1 ou 5.0 qui gère correctement la QoS 1, les messages retenus et la Will convient. Un broker Sparkplug Aware est facultatif.

Sparkplug B est-il open source ?

La spécification est un standard ouvert de la Fondation Eclipse sous Eclipse Public License, et le schéma du payload est publié dans Eclipse Tahu. Les produits l’implémentent de manière indépendante ; l’implémentation de Kilo est la sienne.

Quelle est la différence entre IIoT et IoT ?

L’IIoT, l’internet des objets industriel, c’est l’IoT appliqué aux usines, aux réseaux d’utilité publique et aux infrastructures, où les données viennent d’automates, de compteurs et de machines et doivent être fiables, horodatées et conscientes de l’état. Cette fiabilité est exactement ce que Sparkplug B ajoute à MQTT.

Puis-je continuer à utiliser du JSON sur MQTT ?

Oui. Le connecteur MQTT de Kilo continue de parser les payloads JSON : appareils Sparkplug B et appareils MQTT classiques peuvent coexister dans une même organisation.

Connecter des appareils Sparkplug B à Kilo

Commencez gratuitement et pointez Kilo vers votre broker, ou réservez un appel : nous cartographions ensemble vos groupes Sparkplug, Edge Nodes et appareils.