Digitaler Zwilling

Open-Source-Tools für digitale Zwillinge im Vergleich: Ditto, BaSyx, Three.js und mehr

Ein praxisnaher Vergleich von Open-Source-Tools für digitale Zwillinge über Modellierung, Daten, Visualisierung und Historie hinweg, mit Hinweisen, wie sich jedes Tool mit einem MQTT-Broker verbindet und wann sich Kombinationen lohnen.

Werkzeugkasten mit Open-Source-Tools für digitale Zwillinge rund um einen MQTT-Broker, für Modellierung, Visualisierung und Historie
Probieren Sie es auf Ihrem eigenen MQTT-Broker ausHolen Sie sich im Free-Tarif einen privaten, verwalteten MQTT-Broker und starten Sie mit fertigen Codebeispielen.
Kostenlos testen Codebeispiele Keine Kreditkarte erforderlich

Mit Open-Source-Tools für digitale Zwillinge bauen Sie einen leistungsfähigen Zwilling, ohne eine proprietäre Plattform lizenzieren zu müssen, doch kein einzelnes Projekt deckt alles ab. Dieser Leitfaden vergleicht die nützlichsten Optionen nach der Schicht, die sie abdecken (Modellierung, Datenintegration, Visualisierung und Historie), und erklärt, wie jedes Tool MQTT-Daten konsumiert. Am Ende können Sie einen Stack zusammenstellen, der zu Ihrem Anwendungsfall passt, statt Ihren Anwendungsfall in ein einziges Tool zu zwängen.

Wenn Sie sich noch orientieren, lesen Sie zuerst den Leitfaden zur Digital-Twin-Technologie.

In Schichten denken, nicht in Plattformen

Ein funktionierender Zwilling braucht vier Dinge:

  1. Ein Modell: was das Asset ist, seine Eigenschaften und Beziehungen.
  2. Live-Daten: aktuelle Werte, die aus dem Feld hereinkommen, und Befehle, die hinausgehen.
  3. Visualisierung: Dashboards, 3D-Szenen oder beides.
  4. Historie: gespeicherte Zeitreihen für Trends, Analysen und Machine Learning.

Open-Source-Projekte spezialisieren sich meist auf eine oder zwei dieser Schichten. MQTT ist der Klebstoff, über den sie sich einen Live-Datenstrom teilen: Gateways publizieren einmal, und jedes Tool abonniert, was es braucht. Deshalb ist die Spalte „Wie MQTT konsumiert wird" in der folgenden Tabelle genauso wichtig wie die Funktionsliste.

Die Tools im Überblick

Tool Hauptschicht Modellformat Wie MQTT konsumiert wird Geeignet für
Eclipse Ditto Modell und Zwillingszustands-API Things mit Attributen und Features (JSON) Integrierte MQTT-3.1.1- und -5-Verbindungen mit Payload-Mapping Gerätezwillinge mit REST-/WebSocket-APIs und Suche
Eclipse BaSyx Modell (Industrie 4.0) Teilmodelle der Verwaltungsschale Data-Bridge-Komponente abonniert MQTT und aktualisiert Teilmodelle AAS-basierte Interoperabilität in der Fertigung
FIWARE Orion-LD Kontextmodell NGSI-LD-Entitäten IoT Agent für JSON oder UltraLight über MQTT Smart City und domänenübergreifende Kontextdaten
Node-RED Integration und Logik Flows, beliebiges JSON Native MQTT-In- und -Out-Nodes Verbindungslogik, Transformationen, schnelle Dashboards
Three.js 3D-Visualisierung glTF-Szenen MQTT.js über Secure WebSocket im Browser Individuelle Web-3D-Zwillinge
Babylon.js 3D-Visualisierung glTF- und Babylon-Szenen MQTT.js über Secure WebSocket Web-3D mit integriertem Inspector und GUI
Telegraf + InfluxDB Historie Zeitreihen-Messwerte Telegraf-Input-Plugin mqtt_consumer Speicherung von Telemetrie für Trends
Grafana Dashboards Panels über Datenquellen Über eine Datenbank oder ein MQTT-Datenquellen-Plugin Betriebs-Dashboards und Alarmierung

Eclipse Ditto

Ditto ist der vollständigste Open-Source-Dienst für den „Zwillingszustand". Jeder Zwilling ist ein Thing mit Attributen (überwiegend statisch) und Features (veränderlicher Zustand). Ditto speichert den aktuellen Zustand, stellt ihn über REST- und WebSocket-APIs bereit, unterstützt die Suche über alle Things und setzt feingranulare Policies dafür durch, wer was lesen oder schreiben darf.

Ditto verbindet sich über seinen Connectivity-Service mit MQTT-Brokern: Sie definieren eine Verbindung mit Source-Adressen (zu abonnierende Topics), Target-Adressen (Topics, auf die Änderungen publiziert werden) und einem Payload-Mapping, das Ihr Geräte-JSON in Ditto-Protokollnachrichten umwandelt. Das funktioniert gut, wenn andere Anwendungen den Zwillingszustand lieber per HTTP abfragen als MQTT zu abonnieren. Unser Leitfaden zu Eclipse Ditto mit MQTT zeigt eine vollständige Verbindungseinrichtung.

Achtung: der Betriebsaufwand. Ditto läuft als mehrere Dienste plus Datenbank und passt daher zu Teams, die mit Containern und Kubernetes vertraut sind.

Eclipse BaSyx

BaSyx implementiert die Verwaltungsschale (Asset Administration Shell, AAS), das standardisierte Modell für digitale Zwillinge, das im Umfeld der Plattform Industrie 4.0 entstanden ist und heute von der Industrial Digital Twin Association (IDTA) weiterentwickelt wird. Eine AAS beschreibt ein Asset über Teilmodelle wie Typenschild, technische Daten und Betriebsdaten, mit semantischen IDs, die sie herstellerübergreifend verständlich machen.

Für Live-Daten abonniert die Data Bridge von BaSyx Quellen wie MQTT-Topics und schreibt Werte in Teilmodell-Elemente. Wenn Ihre Kunden oder Partner eine AAS erwarten, ist BaSyx die naheliegende Open-Source-Wahl. Der Leitfaden zur Verwaltungsschale erklärt das Modell.

Achtung: die Lernkurve bei AAS-Metamodellen und semantischen IDs. Beginnen Sie mit Standard-Teilmodellvorlagen, statt eigene zu entwerfen.

FIWARE Orion-LD

Der Context Broker von FIWARE speichert Entitäten in NGSI-LD, einem Linked-Data-Format, das sich gut für Städte, Versorger und Landwirtschaft eignet, wo Daten aus vielen Domänen kombiniert werden müssen. IoT Agents übersetzen Geräteprotokolle, einschließlich JSON über MQTT, in Entitäts-Updates. Wählen Sie es, wenn Sie organisationsübergreifenden Datenaustausch und eine Standard-API brauchen, weniger für eine einzelne Fertigungszelle.

Node-RED

Node-RED ist keine Zwillingsplattform, taucht aber in fast jedem Open-Source-Zwillings-Stack auf, weil es Integration beschleunigt. MQTT-In- und -Out-Nodes, Function-Nodes für Transformationen und ein Dashboard-Add-on decken erstaunlich viel eines ersten Zwillings ab. Typische Aufgaben: Herstellerpayloads in Ihr Schema normalisieren, abgeleitete Werte berechnen und Daten in eine Datenbank oder einen Zwillingsdienst überführen. Installation und MQTT-Nodes beschreibt die offizielle Node-RED-Dokumentation.

Achtung: Große Flows werden schwer zu versionieren und zu reviewen. Halten Sie die Logik klein und verlagern Sie komplexe Modelle in eigene Dienste.

Three.js und Babylon.js

Für 3D sind Three.js und Babylon.js die beiden führenden Open-Source-Webbibliotheken. Beide laden glTF-Modelle, die aus CAD oder Blender exportiert wurden, und beide laufen überall, wo ein Browser läuft. Kombiniert mit MQTT.js über Secure WebSocket abonniert der Browser den Live-Zustand direkt, ganz ohne Backend-Relay.

Three.js ist eine schlanke Rendering-Bibliothek mit riesiger Community; Steuerung, Loader und UI setzen Sie selbst zusammen. Babylon.js ist eher eine vollständige Engine mit integriertem Inspector, GUI-System und Physik. Das Three.js-Tutorial für digitale Zwillinge und der Babylon.js-Leitfaden für digitale Zwillinge zeigen beide in Aktion.

Telegraf, InfluxDB und Grafana

Die Historienschicht ist die unspektakulärste und wird am häufigsten vergessen. Das MQTT-Consumer-Plugin von Telegraf abonniert Topics und schreibt Messwerte in InfluxDB oder einen anderen Zeitreihenspeicher; Grafana stellt sie anschließend grafisch dar. Hier eine funktionierende Telegraf-Konfiguration gegen den öffentlichen MQTT-Broker, mit einem eindeutigen Präfix (nur für Tests, keine echten Anlagendaten):

[[inputs.mqtt_consumer]]
  servers = ["tcp://broker.connectmq.com:1883"]
  topics = ["connectmq/demo/ostw-3c9/site1/+/+/state"]
  client_id = "ostw-3c9-telegraf"
  qos = 0
  data_format = "json"
  topic_tag = "topic"

  [[inputs.mqtt_consumer.topic_parsing]]
    topic = "connectmq/demo/ostw-3c9/site1/+/+/state"
    tags = "_/_/_/site/line/asset/_"

[[outputs.influxdb_v2]]
  urls = ["http://localhost:8086"]
  token = "$INFLUX_TOKEN"
  organization = "plant"
  bucket = "twin"

Der Block topic_parsing wandelt Topic-Ebenen in Tags um, sodass Grafana nach Linie und Asset filtern kann, ohne Strings zu parsen. Publizieren Sie eine Testnachricht, und sie erscheint im Bucket:

mosquitto_pub -h broker.connectmq.com -p 1883 -i ostw-3c9-pub \
  -t "connectmq/demo/ostw-3c9/site1/line2/oven1/state" -m '{"temp_c":212.4,"door_open":0}'

Für die Produktion stellen Sie den Server auf ssl://YOUR_BROKER_HOST:8883 um und ergänzen username = "YOUR_USERNAME" und password = "YOUR_PASSWORD" aus Ihrem Broker-Portal.

Empfohlene Stacks

Anwendungsfall Vorgeschlagene Kombination
Erster Asset-Zwilling mit Dashboards MQTT-Broker + Node-RED + Telegraf/InfluxDB + Grafana
Interaktiver 3D-Betriebszwilling MQTT-Broker + Three.js oder Babylon.js + Telegraf/InfluxDB
API-getriebene Gerätezwillinge für Anwendungen MQTT-Broker + Eclipse Ditto + Grafana
Industrie-4.0-Interoperabilität MQTT-Broker + Eclipse BaSyx + Visualisierung Ihrer Wahl
Domänenübergreifende Smart-City-Daten MQTT-Broker + FIWARE Orion-LD und IoT Agent

Beachten Sie das gemeinsame Element. Welche Tools Sie auch wählen, ein einziger MQTT-Namespace versorgt sie alle, sodass Sie später Tools hinzufügen oder austauschen können, ohne die Geräte anzufassen.

In der Fertigung wird dieser Namespace typischerweise als Unified Namespace (UNS) aufgebaut: Die ISA-95-Anlagenhierarchie (Enterprise → Site → Area → Line → Cell) bildet die Topic-Struktur auf dem Broker, etwa acme/werk-stuttgart/montage/linie-1/zelle-3/temperatur. Ditto-Things, BaSyx-Teilmodelle und Grafana-Dashboards lassen sich dann direkt an diesen Pfaden ausrichten. Wie Sparkplug B in dieses Bild passt, erklärt der Artikel zu Sparkplug B und Unified Namespace.

Checkliste für die Auswahl

  1. Welche Schicht ist heute Ihre größte Lücke: Modell, Live-Daten, Visualisierung oder Historie?
  2. Verlangen Partner oder Kunden ein Standardmodell wie AAS oder NGSI-LD?
  3. Wer betreibt das Ganze? Plattformen mit mehreren Diensten erfordern Container-Know-how; Node-RED und Telegraf nicht.
  4. Wie authentifiziert sich jedes Tool am Broker, und können Sie jedem eigene Zugangsdaten geben?
  5. Unterstützt das Tool MQTT 5, falls Sie auf Funktionen wie Message Expiry oder Shared Subscriptions angewiesen sind?
  6. Können Sie an einem Tag einen Proof of Concept mit Ihrer echten Topic-Struktur umsetzen?

Der Baustein, den Sie nicht selbst hosten sollten

Open-Source-Zwillingstools lassen sich leicht in Containern betreiben, doch der Broker, von dem sie alle abhängen, verdient besondere Sorgfalt: Er muss verfügbar bleiben, TLS akzeptieren, Dutzende Clients authentifizieren und Reconnect-Stürme überstehen. Viele Teams hosten die Tools selbst und nutzen für das Rückgrat einen verwalteten MQTT-Broker oder betreiben einen Cloud-MQTT-Broker nah an ihrer Analytik.

ConnectMQ passt zu diesem Muster: Ditto, die Data Bridge von BaSyx, Node-RED, Telegraf und Browser-Viewer verbinden sich alle als gewöhnliche MQTT-Clients über TCP, TLS oder Secure WebSocket. Das Portal ergänzt einen Live-Topic-Explorer und eine ISA-95-Geräteansicht, mit denen Sie Daten prüfen, bevor Sie die einzelnen Tools anbinden, sowie Sparkplug-B-Dekodierung, falls Ihre Edge-Geräte Sparkplug B sprechen.

Verbinden Sie Ihren Open-Source-Stack mit ConnectMQ

Wählen Sie die Tools für Ihre Lücken und geben Sie ihnen ein zuverlässiges Rückgrat. Erstellen Sie einen kostenlosen ConnectMQ Serverless Broker, ganz ohne Kreditkarte, und richten Sie Node-RED, Telegraf oder Ditto in wenigen Minuten darauf aus.

Häufig gestellte Fragen

Was ist die beste Open-Source-Plattform für digitale Zwillinge?

Die eine beste gibt es nicht. Eclipse Ditto ist am stärksten bei APIs für den Zwillingszustand, Eclipse BaSyx bei Modellen auf Basis der Verwaltungsschale und Three.js oder Babylon.js bei 3D. Die meisten realen Stacks kombinieren mehrere Tools rund um einen MQTT-Broker.

Unterstützt Eclipse Ditto MQTT 5?

Ja, der Connectivity-Service von Ditto unterstützt Verbindungen über MQTT 3.1.1 und MQTT 5, mit konfigurierbaren Sources, Targets und Payload-Mapping.

Kann Node-RED allein ein digitaler Zwilling sein?

Für einfache Asset-Zwillinge mit Dashboards kommt Node-RED weit. Wenn der Zwilling wächst, verlagern Sie Modelle und Historie in spezialisierte Tools und behalten Node-RED für die Integration.

Brauchen Open-Source-Zwillingstools einen eigenen Broker?

Sie brauchen Zugriff auf einen MQTT-Broker, nicht unbedingt einen eigenen. Ein gemeinsam genutzter verwalteter MQTT-Broker ermöglicht es jedem Tool, denselben Namespace zu konsumieren, idealerweise einen UNS nach ISA-95.

Verwandte Artikel

Alle Artikel →

Ihr privater MQTT-Broker ist nur wenige Klicks entfernt

Konto anlegen, Broker-Zugangsdaten erhalten und das erste Gerät verbinden — ohne Server, die installiert, gepatcht oder skaliert werden müssen.