Jumeau numérique

Modèle numérique vs ombre numérique vs jumeau numérique : le flux de données expliqué

La différence entre un modèle numérique, une ombre numérique et un jumeau numérique tient au sens dans lequel circulent les données. Découvrez chaque niveau traduit en topics MQTT concrets de télémétrie et de commande.

Trois panneaux montrant modèle numérique, ombre numérique et jumeau numérique avec des flèches de flux de données, illustrant la différence entre jumeau numérique et ombre numérique
Essayez-le sur votre propre broker MQTTObtenez un broker MQTT privé et managé avec l’offre Free et partez d’exemples de code prêts à l’emploi.
Essayer gratuitement Exemples de code Aucune carte bancaire requise

Jumeau numérique vs ombre numérique n'est pas un débat de vocabulaire marketing : c'est une distinction précise sur le sens dans lequel circulent les données entre un actif physique et son homologue numérique. Dans cet article, vous découvrirez les trois niveaux d'intégration (modèle numérique, ombre numérique, jumeau numérique), verrez chacun exprimé sous forme de topics MQTT concrets et obtiendrez une check-list pour classer honnêtement votre propre projet.

Le guide de la technologie du jumeau numérique couvre le concept plus large ; nous nous concentrons ici sur le flux de données.

Les trois niveaux en un coup d'œil

La classification largement utilisée dans la recherche en production industrielle distingue trois niveaux selon la façon dont les données circulent entre l'objet physique et l'objet numérique :

Niveau Du physique au numérique Du numérique au physique Exemple
Modèle numérique Manuel Manuel Modèle CAO d'une presse, mis à jour par un ingénieur après une modernisation
Ombre numérique Automatique Manuel Tableau de bord affichant en direct l'effort de la presse ; un opérateur décide quoi faire
Jumeau numérique Automatique Automatique Le jumeau détecte l'usure de l'outil et ajuste la consigne de la presse via le contrôleur

« Manuel » signifie ici qu'un humain transporte l'information, en saisissant des valeurs, en exportant des fichiers ou en se rendant à un pupitre. « Automatique » signifie que les données circulent par un système sans intervention humaine. Le niveau est fixé par le maillon le plus faible : si un sens est manuel, ce n'est pas un jumeau complet.

Niveau 1 : le modèle numérique

Un modèle numérique est une représentation statique ou hors ligne. Un assemblage CAO, une feuille de calcul de paramètres nominaux ou une simulation paramétrée à partir de fiches techniques sont autant de modèles numériques. Rien ne les relie à l'actif en fonctionnement : ils décrivent la conception, pas l'état actuel.

Les modèles numériques restent précieux. Ils sont la base sur laquelle reposent les autres niveaux : géométrie pour les vues 3D, valeurs nominales pour la comparaison et structure qui deviendra plus tard une hiérarchie de topics. Mais ils vieillissent dès que l'actif physique change et que personne ne met le fichier à jour.

En termes MQTT : il n'y a aucun topic. Si vous avez exporté une valeur une fois et l'avez publiée à la main, vous êtes encore à ce niveau.

Niveau 2 : l'ombre numérique

Une ombre numérique reçoit un flux de données automatique et continu depuis l'actif. L'objet numérique reflète toujours l'état actuel, mais toute action en réponse passe encore par une personne.

C'est là que se situent en réalité la plupart des projets dits de « jumeau numérique », et c'est très bien ainsi. Une vue en direct de chaque machine, des alarmes quand une valeur franchit un seuil et un historique pour l'analyse des causes racines apportent beaucoup de valeur sans aucun pilotage automatisé.

En termes MQTT : l'actif ou sa passerelle publie la télémétrie et l'état, et les consommateurs s'abonnent. Les données circulent dans un seul sens.

connectmq/demo/shd-4q2/press/line3/press07/telemetry   (asset -> shadow)
connectmq/demo/shd-4q2/press/line3/press07/state       (asset -> shadow, retained)
connectmq/demo/shd-4q2/press/line3/press07/status      (Last Will: online/offline)

Essayez sur le serveur MQTT public gratuit, réservé aux tests et aux prototypes, en remplaçant shd-4q2 par votre propre identifiant aléatoire :

mosquitto_sub -h broker.connectmq.com -p 1883 -i shd-4q2-shadow \
  -t "connectmq/demo/shd-4q2/#" -v

mosquitto_pub -h broker.connectmq.com -p 1883 -i shd-4q2-press07 -q 1 \
  -t "connectmq/demo/shd-4q2/press/line3/press07/telemetry" \
  -m '{"force_kn":812,"stroke_rate_spm":28,"die_temp_c":61.5}'

L'abonné est une ombre numérique : il sait ce que fait la presse 07, mais ne peut pas l'influencer.

Niveau 3 : le jumeau numérique

Un jumeau numérique ajoute le chemin de retour automatique. L'objet numérique peut modifier le comportement de l'actif physique, en ajustant une consigne, en planifiant un arrêt ou en changeant une recette, sans que quelqu'un ressaisisse la décision.

En termes MQTT : vous ajoutez des topics de commande auxquels la passerelle s'abonne, et des topics d'acquittement qui confirment ce qui a réellement été appliqué.

connectmq/demo/shd-4q2/press/line3/press07/cmd/setpoint   (twin -> asset)
connectmq/demo/shd-4q2/press/line3/press07/cmd/ack        (asset -> twin)

Voici une passerelle minimale qui boucle la boucle. Elle accepte une consigne de cadence dans les limites autorisées, l'applique et renvoie un compte rendu. La logique du jumeau elle-même, la partie qui décide de la nouvelle consigne, pourrait être un script de règles, un modèle d'optimisation ou une recommandation validée par un opérateur.

import json

import paho.mqtt.client as mqtt

BASE = "connectmq/demo/shd-4q2/press/line3/press07"
current = {"stroke_rate_spm": 28}


def on_connect(client, userdata, flags, reason_code, properties):
    client.subscribe(f"{BASE}/cmd/setpoint", qos=1)


def on_message(client, userdata, msg):
    cmd = json.loads(msg.payload)
    rate = cmd.get("stroke_rate_spm")
    if isinstance(rate, (int, float)) and 10 <= rate <= 35:
        current["stroke_rate_spm"] = rate  # sur une vraie ligne : écrire dans l'automate ici
        result = "applied"
    else:
        result = "rejected"
    client.publish(f"{BASE}/cmd/ack",
                   json.dumps({"id": cmd.get("id"), "result": result, **current}), qos=1)
    client.publish(f"{BASE}/state", json.dumps(current), qos=1, retain=True)


client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="shd-4q2-press07-gw")
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.connectmq.com", 1883)
client.loop_forever()

Envoyez une commande et regardez l'acquittement et le nouvel état retenu arriver dans votre abonné :

mosquitto_pub -h broker.connectmq.com -p 1883 -i shd-4q2-twin -q 1 \
  -t "connectmq/demo/shd-4q2/press/line3/press07/cmd/setpoint" \
  -m '{"id":"sp-17","stroke_rate_spm":24}'

Remarquez que le jumeau ne présume pas que sa commande a fonctionné. Il attend que l'actif rapporte la valeur appliquée, et la partie ombre du système affiche l'état mesuré. Cette discipline garde le jumeau fidèle à la réalité, même quand des commandes sont rejetées ou retardées.

Pourquoi la distinction compte en pratique

Le périmètre de sécurité change. Une ombre n'a besoin que d'un accès en lecture pour les consommateurs et d'un accès en écriture pour la passerelle sur les topics de télémétrie. Un jumeau introduit des clients capables de modifier un comportement physique. Cela relève le niveau d'exigence en matière d'authentification, de séparation des identifiants et de journalisation d'audit. Le guide des bonnes pratiques de sécurité MQTT couvre TLS, les identifiants et le moindre privilège.

Les exigences de fiabilité changent. Perdre un échantillon de télémétrie dans une ombre crée un trou dans un graphique. Perdre ou dupliquer une commande dans un jumeau peut signifier une mauvaise consigne. Utilisez la QoS 1 pour les commandes, incluez des identifiants pour la déduplication et ajoutez une expiration pour que les commandes tardives soient ignorées. Les intervalles d'expiration des messages de MQTT 5 sont conçus exactement pour cela.

La responsabilité change. Les ombres appartiennent généralement à l'IT ou à une équipe data. Les jumeaux qui écrivent en retour exigent l'aval de l'automatisme et de la sécurité, car le chemin automatisé doit respecter les verrouillages de l'automate et du système de sécurité.

Les attentes changent. Appeler jumeau une ombre prépare les parties prenantes à une déception. Nommer honnêtement le niveau permet de planifier l'étape suivante de manière réfléchie.

Classez votre projet : une check-list

Répondez à ces questions pour chaque actif concerné :

  1. La représentation numérique est-elle liée à un actif précis et identifiable ? Sinon, il s'agit d'un modèle générique ou d'une simulation.
  2. Les données de l'actif arrivent-elles sans que personne ne les saisisse ou ne les exporte ? Sinon, vous avez un modèle numérique.
  3. Les données sont-elles assez fraîches pour les décisions que vous prenez, et indiquez-vous quand elles sont obsolètes ?
  4. La partie numérique peut-elle modifier le comportement de l'actif par un chemin système, comme un topic de commande consommé par une passerelle ?
  5. Chaque commande reçoit-elle un acquittement qui reflète ce que l'actif a réellement appliqué ?
  6. Les chemins de commande sont-ils authentifiés séparément des consommateurs en lecture seule, et journalisés ?

Des réponses positives de 1 à 3 donnent une ombre numérique solide. Des réponses positives également de 4 à 6 donnent un jumeau numérique. Si vous êtes entre les deux, il est courant et sensé de fonctionner d'abord en ombre, de prouver la qualité des données, puis d'activer le chemin de retour un cas d'usage à la fois.

Deux comparaisons voisines valent la lecture : device shadow vs jumeau numérique, qui examine le pattern « device shadow » des plateformes IoT cloud, et jumeau numérique vs simulation, qui distingue les jumeaux en direct des modèles hors ligne.

Le broker à chaque niveau

Dès le niveau de l'ombre, tout repose sur une messagerie fiable. Le broker MQTT dans le cloud devient le hub par lequel la télémétrie entre et les commandes sortent : sa disponibilité et sa sécurité fixent le plafond de tout le jumeau. Pour tout ce qui dépasse la démo, utilisez des identifiants privés et TLS sur un broker MQTT managé plutôt que sur le serveur MQTT public gratuit.

Avec ConnectMQ, chaque passerelle et chaque service de jumeau reçoit ses propres identifiants et son propre client ID depuis le portail, et l'explorateur de topics en direct affiche télémétrie, commandes et acquittements dans une seule vue pendant la mise en service. Les règles d'alerte à seuil du portail couvrent aussi un besoin courant au niveau de l'ombre : être prévenu quand une valeur sort de sa plage.

Passez de l'ombre au jumeau avec ConnectMQ

Commencez par la télémétrie à sens unique d'une ombre numérique, puis ajoutez des topics de commande et d'acquittement quand vous êtes prêt à boucler la boucle. Les deux fonctionnent sur le même broker. Créez un broker ConnectMQ Serverless gratuit, sans carte bancaire, et connectez votre première passerelle dès aujourd'hui.

Questions fréquentes

Qu'est-ce qu'une ombre numérique ?

Une ombre numérique est une représentation numérique qui reçoit automatiquement les données d'un actif physique, mais toute action en retour sur l'actif est réalisée manuellement par une personne. Elle reflète la réalité sans l'influencer.

Une ombre numérique est-elle moins bien qu'un jumeau numérique ?

Pas nécessairement. De nombreux cas d'usage de supervision, d'analyse et de maintenance n'ont besoin que d'une ombre, et le risque est moindre. Passez au jumeau quand une rétroaction automatisée crée une valeur claire.

Comment les topics MQTT traduisent-ils la différence ?

Une ombre utilise des topics de télémétrie et d'état qui partent de l'actif. Un jumeau ajoute des topics de commande qui vont vers l'actif et des topics d'acquittement qui confirment ce qui a été appliqué.

Un jumeau numérique doit-il piloter directement l'actif ?

Le chemin de retour doit être automatique, mais il peut tout de même exiger des étapes d'approbation ou des contrôles de sécurité dans la passerelle et le contrôleur. L'essentiel est que personne ne ressaisisse la décision à la main.

Articles liés

Tous les articles →

Votre broker MQTT privé, à quelques clics

Créez un compte, récupérez les identifiants de votre broker et connectez votre premier appareil — aucun serveur à installer, mettre à jour ou dimensionner.