KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
MQTT
OV Spark Pro verfügt über einen integrierten MQTT-Client. Er 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, wie z. B. die aktuelle Chargennummer, in Variablen
Er unterstützt MQTT 3.1.1 und 5, mit reinem TCP, TLS oder gegenseitigem TLS (Client-Zertifikate).
Öffnen Sie Integration > Data Connectors und wählen Sie MQTT.

Einrichtung
Die Einrichtung erfolgt in drei Schritten.
1. Mit dem Broker verbinden
Wählen Sie den Broker-Typ, um typische Einstellungen vorauszufüllen, die Sie anschließend 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; Sie legen jedes Feld selbst fest |

| Einstellung | Hinweise |
|---|---|
| Adresse und Port | Hostname oder IP-Adresse des Brokers. Standardport 1883 |
| MQTT-Version | 5 (Standard) oder 3.1.1 |
| Sicherheit | Keine, TLS oder Mutual TLS (Client-Zertifikat). TLS ohne CA-Zertifikat verwendet den in der Kamera 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 zulässt |
| 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. Die Einstellungen werden gespeichert, wenn Sie bei jedem Schritt auf Speichern und fortfahren klicken, und MQTT bleibt bis Schritt 3 deaktiviert.
Keine sendet alles unverschlüsselt, einschließlich des Passworts. Das ist in einem isolierten Maschinennetzwerk in Ordnung. Verwenden Sie TLS, wenn der Datenverkehr das Werks- oder Büronetzwerk durchquert, und Mutual TLS für Cloud-Broker, die Client-Zertifikate erfordern.
2. Auswählen, was gesendet werden soll
| Nachricht | Standard-Topic | Hinweise |
|---|---|---|
| Prüfergebnisse | overview/<serial>/results | Eine Nachricht pro Prüfung im Produktionsmodus, mit dem von Ihnen gewählten QoS (standardmäßig 1). Summary lässt das detail jedes Tools weg; Full schließt es 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 in plant/line3/results.
3. MQTT einschalten
Schalten Sie MQTT ein und beobachten Sie dann unter Monitor > Topics and messages, wie jede Nachricht ausgeht.
Ergebnisnachrichten werden mit deaktiviertem Retain-Flag veröffentlicht, sodass ein Subscriber, der sich später verbindet, ein altes Ergebnis nicht als neu erhält. Um das letzte Ergebnis verfügbar zu halten, veröffentlichen Sie es selbst aus dem Kameraskript mit retain: true, oder lesen Sie es über die HTTP API.
Wie eine Ergebnisnachricht aussieht
Dasselbe Dokument wird von MQTT, der HTTP API und dem onResult des Kameraskripts 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 Variablen, die die Prüfung gespeichert hatimage.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 neuesten Wert. Für alles Weitergehende, etwa das Auslesen eines Feldes aus der Nachricht eines Herstellers oder die Beantwortung von Anfragen, verwenden Sie das Kameraskript.
MQTT-Einstellungen werden mit Rezept-Exporten übertragen, aber Passwörter und Zertifikate werden nie exportiert. Wenn die Quellkamera Anmeldedaten verwendet hat, die die Zielkamera nicht besitzt, kommt MQTT deaktiviert an. Andernfalls behält es die Ein/Aus-Einstellung der Quelle bei, sodass ein Import auf eine 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
- Kameraskript, für Ihre eigenen Topics und Nachrichtenformate
- Variablen
- HTTP API