Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

MQTT

OV Spark Pro cuenta con 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 necesidad de 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 plano, TLS o TLS mutuo (certificados de cliente).

Abra Integration > Data Connectors y seleccione MQTT.

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

Configúrelo​

La configuración consta de tres pasos.

1. Conéctese al broker​

Elija el tipo de broker para completar la configuración típica, la cual 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 MQTT, seguridad y la verificación de conexión

ConfiguraciónNotas
Dirección y PuertoEl nombre de host o la dirección IP del broker. Puerto predeterminado 1883
Versión MQTT5 (predeterminado) o 3.1.1
SeguridadNinguna, TLS o TLS mutuo (certificado de cliente). TLS sin un certificado CA utiliza el almacén de confianza integrado de la cámara; TLS mutuo requiere una CA, un certificado de cliente y una clave de cliente
Nombre de usuario y contraseñaDeje en blanco si el broker permite conexiones anónimas
AvanzadoClient ID (el número de serie de la cámara por defecto), keep-alive (30 s) y clean session (activada)

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

Use TLS en la red de la planta

Ninguna envía todo sin cifrar, incluyendo la contraseña. Esto es aceptable en una red de máquina aislada. Use TLS si el tráfico cruza la red de la planta o de 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 usted elija (1 por defecto). Resumido omite el detail de cada herramienta; Completo lo incluye
Heartbeatoverview/<serial>/heartbeatCada N segundos (5 o más, o desactivado), con 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. Active MQTT​

Active MQTT y luego observe cada mensaje publicado en Monitor > Topics and messages.

Los resultados no se retienen

Los mensajes de resultados se publican con retain desactivado, por lo que un suscriptor que se conecte después no recibirá 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 mediante la API HTTP.

Cómo se ve un mensaje de resultado​

El mismo documento es utilizado 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 tomó la decisión
  • vars contiene las variables que la inspección guardó
  • image.url obtiene la imagen mediante 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"}

Reciba 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 guarda entonces el valor más reciente. Para algo más complejo, como extraer un campo de un mensaje de un proveedor o responder a solicitudes, use el script de la cámara.

Las exportaciones llegan desactivadas

La configuración de MQTT viaja con las exportaciones de recetas, pero las contraseñas y los certificados nunca se exportan. Si la cámara de origen usaba credenciales que la cámara de destino no tiene, MQTT llega desactivado. De lo contrario, mantiene el estado activado o desactivado del origen, por lo que una importación en una cámara que pueda acceder a 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​