Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

MQTT

OV Spark tiene un cliente MQTT integrado. Se conecta a su broker, en su red o en la nube, y:

  • publica cada resultado de inspección como JSON, sin ningún script
  • publica un heartbeat y su estado en línea
  • recibe valores, como el número de lote actual, en variables

Soporta MQTT 3.1.1 y 5, con TCP simple, TLS o TLS mutuo (certificados de cliente).

Abra Integration > Data Connectors y elija MQTT.

Resumen de MQTT: enviar resultados, recibir valores, scriptear sus propios mensajes y los tipos de broker

Configúrelo​

La configuración tiene tres pasos.

1. Conectarse al broker​

Elija el tipo de broker para llenar las configuraciones típicas, las cuales puede modificar:

Tipo de brokerTípico
Broker de planta (Mosquitto, HiveMQ, EMQX)Puerto 1883, o 8883 con TLS
Ignition / SCADA (Ignition MQTT Distributor y similares)Puerto 1883
Broker en la nube (AWS IoT, Azure, HiveMQ Cloud y similares)Puerto 8883 con TLS
OtroCualquier broker MQTT 3.1.1 o 5; usted configura cada campo

Conéctese a su broker: dirección, puerto, versión de MQTT, seguridad y la verificación de conexión

ConfiguraciónNotas
Dirección y PuertoEl nombre de host o dirección IP del broker. Puerto predeterminado 1883
Versión de MQTT5 (predeterminado) o 3.1.1
SeguridadNinguna, TLS o TLS mutuo (certificado de cliente). TLS sin un certificado CA usa el almacén de confianza integrado de la cámara; TLS mutuo requiere un CA, un certificado de cliente y una clave de cliente
Nombre de usuario y contraseñaDéjelo vacío si el broker permite conexiones anónimas
AvanzadoID de cliente (el número de serie de la cámara de forma predeterminada), keep-alive (30 s) y sesión limpia (activada)

La verificación de conexión se ejecuta un segundo después de que deje de escribir: busca el nombre de host, se conecta al puerto, verifica TLS e inicia sesión, un paso a la vez. Las configuraciones se guardan cuando presiona Guardar y continuar en cada paso, y MQTT permanece apagado hasta el paso 3.

Use TLS a través de la red de la planta

Ninguna envía todo sin cifrar, incluyendo la contraseña. Eso está bien en una red de máquina aislada. Use TLS si el tráfico cruza la red de la planta o la oficina, y TLS mutuo para brokers en la nube que requieren certificados de cliente.

2. Elija qué enviar​

MensajeTopic predeterminadoNotas
Resultados de inspecciónoverview/<serial>/resultsUn mensaje por cada inspección en producción, con el QoS que elija (1 por defecto). Resumen omite el detail de cada herramienta; Completo lo incluye
Heartbeatoverview/<serial>/heartbeatCada N segundos (5 o más, o desactivado), en QoS 0
Estado en líneaoverview/<serial>/statusUn {"status":"online"} retenido, y un last-will {"status":"offline"} que el broker envía si la cámara se desconecta

Puede cambiar cada topic, por ejemplo a plant/line3/results.

3. Encienda MQTT​

Encienda MQTT, luego observe cada mensaje salir en Monitor > Topics y mensajes.

Los resultados no se retienen

Los mensajes de resultado se publican con retain desactivado, de modo que un suscriptor que se conecte después no recibe un resultado antiguo como si fuera nuevo. Para mantener disponible el último resultado, publíquelo usted mismo desde el script de la cámara con retain: true, o léalo desde la API HTTP.

Cómo se ve un mensaje de resultado​

El mismo documento es usado por MQTT, la API HTTP y el onResult del script de la cámara. Un resultado Completo, abreviado:

{
"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_source indica qué decidió el veredicto: las reglas, el script de la receta, o script_error cuando el script falló
  • rules es el veredicto de las reglas, incluso cuando el script lo decidió
  • vars contiene las variables que guardó la inspección
  • image.url obtiene la imagen a través de la API HTTP

El heartbeat es pequeño:

{"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"}

Recibir valores​

Para traer un valor, declare una variable con MQTT como su fuente: el topic, y para JSON la ruta al campo. Cada inspección entonces guarda el último valor. Para algo más complejo, como seleccionar un campo del mensaje de un proveedor o responder solicitudes, use el script de la cámara.

Las exportaciones vienen desactivadas

Las configuraciones de MQTT viajan con las exportaciones de recetas, pero las contraseñas y los certificados nunca se exportan. Si la cámara de origen usó credenciales que la cámara de destino no tiene, MQTT llega desactivado. De lo contrario, mantiene la configuración de encendido o apagado de origen, por lo que una importación a una cámara que puede alcanzar un broker anónimo puede comenzar a publicar de inmediato. Revise Data Connectors después de cada importación.

A dónde ir después​