KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
MQTT
OV Spark verfügt über einen integrierten MQTT-Client. Dieser verbindet sich mit Ihrem Broker – in Ihrem Netzwerk oder in der Cloud – und:
- veröffentlicht jedes Prüfergebnis als JSON, ganz ohne Skript
- veröffentlicht einen Heartbeat und seinen Online-Status
- empfängt Werte, etwa die aktuelle Losnummer, in Variablen
Unterstützt werden MQTT 3.1.1 und 5, mit reinem TCP, TLS oder Mutual TLS (Client-Zertifikate).
Öffnen Sie Integration > Data Connectors und wählen Sie MQTT.

Einrichtung
Die Einrichtung umfasst drei Schritte.
1. Mit dem Broker verbinden
Wählen Sie die Art des Brokers, um typische Einstellungen vorzubefüllen, die Sie dann anpassen können:
| Broker-Typ | Typisch |
|---|---|
| Plant-Broker (Mosquitto, HiveMQ, EMQX) | Port 1883 oder 8883 mit TLS |
| Ignition / SCADA (Ignition MQTT Distributor und ähnliche) | Port 1883 |
| Cloud-Broker (AWS IoT, Azure, HiveMQ Cloud und ähnliche) | Port 8883 mit TLS |
| Etwas anderes | Jeder MQTT 3.1.1- oder 5-Broker; alle Felder legen Sie selbst fest |

| Einstellung | Hinweise |
|---|---|
| Adresse und Port | Hostname oder IP-Adresse des Brokers. Standard-Port 1883 |
| MQTT-Version | 5 (Standard) oder 3.1.1 |
| Sicherheit | None, TLS oder Mutual TLS (Client-Zertifikat). TLS ohne CA-Zertifikat verwendet den im Gerät integrierten Trust Store; Mutual TLS erfordert eine CA, ein Client-Zertifikat und einen Client-Schlüssel |
| Benutzername und Passwort | Leer lassen, wenn der Broker anonyme Verbindungen erlaubt |
| Erweitert | Client-ID (standardmäßig die Seriennummer der Kamera), Keep-Alive (30 s) und Clean Session (ein) |
Die Verbindungsprüfung läuft eine Sekunde, nachdem Sie die Eingabe beenden: Sie löst den Hostnamen auf, verbindet sich mit dem Port, prüft TLS und meldet sich an – Schritt für Schritt. Einstellungen werden gespeichert, sobald Sie bei jedem Schritt Speichern und fortfahren drücken, und MQTT bleibt bis Schritt 3 deaktiviert.
None sendet alles unverschlüsselt, einschließlich des Passworts. Das ist in einem isolierten Maschinennetzwerk unbedenklich. Verwenden Sie TLS, wenn der Datenverkehr das Werks- oder Büronetzwerk durchquert, und Mutual TLS für Cloud-Broker, die Client-Zertifikate verlangen.
2. Auswählen, was gesendet werden soll
| Nachricht | Standard-Topic | Hinweise |
|---|---|---|
| Prüfergebnisse | overview/<serial>/results | Eine Nachricht pro Produktionsprüfung, mit der von Ihnen gewählten QoS (Standard 1). Summary lässt den detail-Teil jedes Tools weg; Full schließt ihn ein |
| Heartbeat | overview/<serial>/heartbeat | Alle N Sekunden (5 oder mehr, oder aus), mit QoS 0 |
| Online-Status | overview/<serial>/status | Ein retained {"status":"online"}, und ein Last-Will {"status":"offline"}, das der Broker sendet, wenn die Kamera die Verbindung verliert |
Sie können jedes Topic ändern, zum Beispiel auf plant/line3/results.
3. MQTT einschalten
Schalten Sie MQTT ein und verfolgen Sie dann jede ausgehende Nachricht unter Monitor > Topics and messages.
Ergebnisnachrichten werden mit deaktiviertem Retain-Flag veröffentlicht, sodass ein später verbundener Subscriber ein altes Ergebnis nicht fälschlicherweise als neu erhält. Um das letzte Ergebnis verfügbar zu halten, veröffentlichen Sie es selbst aus dem Kamera-Skript mit retain: true oder lesen es über die HTTP-API.
So sieht eine Ergebnisnachricht aus
Dasselbe Dokument wird von MQTT, der HTTP-API und dem onResult des Kamera-Skripts verwendet. Ein Full-Ergebnis, gekürzt:
{
"schema_version": 1,
"serial": "5F9FE801",
"id": "01a17216-f035-7ec5-adae-b90b6a0868a8",
"recipe": { "id": 3, "name": "Kit tray" },
"trigger": { "id": 420596, "source": "plc" },
"image": { "width": 2592, "height": 1944, "url": "/api/integration/v1/results/01a17216-f035-7ec5-adae-b90b6a0868a8/image" },
"captured_at": "2026-10-25T08:04:28.341Z",
"processing_ms": 82,
"judgment": "fail",
"pass": false,
"not_inspected": false,
"reason": "serial differs",
"judgment_source": "script",
"rules": { "judgment": "pass", "pass": true, "not_inspected": false },
"vars": { "serial": "SN-24-118734" },
"tools": [
{
"id": "01a15f8b-da07-7e42-8b3e-d3edaff79428",
"type": "classical.barcode",
"name": "Label",
"plc_slot": 1,
"judgment": "pass",
"score": 1,
"execute_ms": 4,
"detail": { "decoded": true, "data": "0104012345678901", "symbology": "data_matrix" }
}
],
"metadata": {},
"tags": [],
"plc_inspection_id": 1234,
"phase": "production"
}
judgment_sourcegibt an, was die Beurteilung getroffen hat: die Regeln, das Rezept-Skript oderscript_error, wenn das Skript fehlgeschlagen istrulesist die Beurteilung der Regeln, auch wenn das Skript entschieden hatvarsenthält die von der Prüfung gespeicherten Variablenimage.urlruft das Bild über die HTTP-API ab
Der Heartbeat ist klein:
{"schema_version":1,"serial":"5F9FE801","hostname":"line3-cam","recipe":"Kit tray","phase":"production","uptime_s":3600,"mqtt":"connected","ts":"2026-10-25T08:04:28.341Z"}
Werte empfangen
Um einen Wert hereinzubringen, deklarieren Sie eine Variable mit MQTT als Quelle: das Topic und bei JSON den Pfad zum Feld. Jede Prüfung speichert dann den aktuellsten Wert. Für Komplexeres, etwa das Herausgreifen eines Feldes aus einer Herstellernachricht oder das Beantworten von Anfragen, verwenden Sie das Kamera-Skript.
MQTT-Einstellungen werden mit Rezept-Exporten übertragen, aber Passwörter und Zertifikate werden niemals exportiert. Wenn die Ursprungskamera Anmeldedaten verwendet hat, die die Zielkamera nicht besitzt, kommt MQTT deaktiviert an. Andernfalls bleibt die Ein/Aus-Einstellung der Quelle erhalten, sodass ein Import auf einer Kamera, die einen anonymen Broker erreichen kann, sofort mit dem Veröffentlichen beginnen kann. Prüfen Sie nach jedem Import die Data Connectors.
Wie es weitergeht
- Kamera-Skript, für eigene Topics und Nachrichtenformate
- Variablen
- HTTP-API