Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Configuración de Comunicación TCP

Esta guía le muestra cómo configurar la comunicación TCP entre su cámara OV10i y dispositivos externos utilizando Node-RED. Utilice la comunicación TCP para intercambio de datos en tiempo real, control remoto o integración con aplicaciones y sistemas personalizados.

Video Guide

Vea este tema en acción: Auto-Integration Builder

Omitir la configuración manual

Describa su integración TCP en lenguaje llano (inglés) y el Auto-Integration Builder generará un flujo completo de Node-RED para usted en segundos.

Cuándo usar la Comunicación TCP: Transmisión de datos en tiempo real, integración con aplicaciones personalizadas, comunicación bidireccional con sistemas externos, intercambio de datos de alta frecuencia, o cuando las APIs HTTP/REST no son adecuadas.

Requisitos Previos

  • Sistema de cámara OV10i configurado y conectado
  • Dispositivo/sistema de destino con capacidad de comunicación TCP
  • Conectividad de red entre la cámara y el dispositivo de destino
  • Comprensión básica de direcciones IP y números de puerto
  • Receta activa configurada (configuración de imagen e inspección completa)

Paso 1: Verificar la Configuración de la Red

1.1 Verificar la Dirección IP de la Cámara

  1. Navegue a Configuración del Sistema
  2. Anote la dirección IP de la cámara (p. ej., 192.168.0.100)
  3. Verifique la máscara de subred y la configuración de red

1.2 Confirmar la Red del Dispositivo de Destino

Asegúrese de la compatibilidad de la red:

  • Misma subred: La cámara y el dispositivo de destino deben estar en el mismo rango de red
  • Puertos accesibles: Los puertos del dispositivo de destino no deben estar bloqueados por firewalls
  • Conectividad de red: Probar con el comando ping si es posible

1.3 Requisitos de Red

RequisitoCámaraDispositivo de destinoNotas
Rango IP192.168.0.100192.168.0.xxxDebe estar en la misma subred
Máscara de subred255.255.255.0255.255.255.0Configuración estándar
Acceso al puerto49155 (ejemplo)49155 (ejemplo)Evitar puertos reservados
CortafuegosPermitir tráfico TCPPermitir tráfico TCPAmbas direcciones

Paso 2: Acceder al Editor de Node-RED

2.1 Ir al IO Block

  1. Haga clic en "IO Block" en el menú de migas de la receta, O
  2. Seleccionar "Configurar I/O" desde el Editor de Recetas

2.2 Abrir el Editor de Node-RED

  1. Haga clic en Configure IO para entrar al editor de flujos de Node-RED
  2. Verifique que la interfaz de Node-RED cargue correctamente

Checkpoint: Debería ver el editor de flujos de Node-RED con la paleta de nodos a la izquierda.

Paso 3: Configurar Entrada TCP (Recepción de datos)

3.1 Añadir Nodo de Entrada TCP

  1. Localice el nodo "tcp in" en el panel izquierdo (sección Red)
  2. Arrastre el nodo "tcp in" al lienzo del flujo
  3. Haga doble clic en el nodo para configurarlo

3.2 Configuración de Ajustes de Entrada TCP

Ajustes del Nodo:

AjusteValorDescripción
TipoEscuchar enLa cámara actúa como servidor
Puerto49155Puerto en el que escucha la cámara
Modo de datosFlujoFlujo de datos continuo
Tipo de datosUTF8Comunicación basada en texto
Tema(opcional)Clasificación de mensajes

3.3 Pasos de Configuración de Entrada TCP

  1. Configuración del servidor:
    • Seleccione "Escuchar en puerto" (modo servidor)
    • Ingrese número de puerto (p. ej., 49155)
  2. Manejo de datos:
    • Modo de datos: Seleccione "Flujo" para datos continuos
    • Tipo de datos: Elija "UTF8" para texto o "Buffer" para binario
  3. Ajustes avanzados:
    • Carácter de nueva línea: Deje en blanco a menos que se requiera un delimitador específico
    • Tema: Identificador opcional de enrutamiento de mensajes
  4. Haga clic en Done para guardar la configuración

3.4 Directrices para la Selección de Puertos

Port RangeUsageRecommendation
1-1023System reservedAvoid
1024-49151Registered portsCheck availability
49152-65535Dynamic/privateRecommended

Paso 4: Configurar Salida TCP (Enviar Datos)

4.1 Agregar Nodo de Salida TCP

  1. Localice el nodo "tcp out" en el panel izquierdo (Red)
  2. Arrastre el nodo "tcp out" al lienzo del flujo
  3. Haga doble clic en el nodo para configurar

image.png

4.2 Configurar la Salida TCP

Configuración del Nodo:

SettingValueDescription
TypeConnect toCamera acts as client
Host192.168.0.200Target device IP address
Port49155Target device port
ModeClientOutbound connection

4.3 Pasos de Configuración de la Salida TCP

  1. Connection Settings:
    • Type: Select "Connect to" (client mode)
    • Host: Enter target device IP address
    • Port: Enter target device port number
  2. Connection Options:
    • Mode: Keep as "Client"
    • End connection: Configure based on use case
  3. Data Format:
    • Base64: Usually disabled for text data
    • TLS: Enable only if secure connection required
  4. Click Done to save configuration

Paso 5: Crear Flujo de Comunicación

5.1 Construir el Flujo Completo

Cree un flujo que pueda enviar y recibir datos TCP:

  1. Agregue estos nodos a su lienzo:
    • Inject node (for triggering messages)
    • Function node (for message processing)
    • TCP Out node (for sending data)
    • TCP In node (for receiving data)
    • Debug nodes (for monitoring)

5.2 Configurar Inject Node

  1. Haga doble clic en el inject node
  2. Configurar los ajustes:
    • Name: "Send Message"
    • Payload: Timestamp
    • Topic: (deje vacío)
  3. Haga clic en Done

5.3 Configurar Function Node

El nodo de función formateará su mensaje saliente:

msg.payload = "Hello from OV10i camera";
return msg;

  1. Haga doble clic en el function node
  2. Copie el código anterior en la pestaña "On Message"
  3. Name: "Format Message"
  4. Haga clic en Done

5.4 Conectar las Conexiones

Conecte los nodos en este orden:

Flujo saliente:

  • Inject → Function → TCP Out
  • Function → Debug (para ver mensajes salientes)

Flujo entrante:

  • TCP In → Debug (para ver mensajes entrantes)

5.5 Estructura de Flujo Completa

Su flujo final debe incluir:

  • Inject conectado a Function
  • Function conectado a tanto TCP Out como Debug
  • TCP In conectado a un separado Debug node

Resultado: Puede enviar mensajes haciendo clic en el botón de Inject y ver tanto los mensajes salientes como los entrantes en el panel de depuración.

Paso 6: Configurar Formato de Mensaje

6.1 Definir Formato de Mensaje

Mantenga la estructura del mensaje simple:

Message TypeFormatExample
Simple textPlain string"Hello from camera"
Status updatesText with info"STATUS: READY"
Data valuesKey-value format"TEMPERATURE: 25.5"

6.2 Ejemplos de Mensajes Personalizados

Puede modificar el nodo de función para diferentes tipos de mensajes:

Mensaje de estado simple:

msg.payload = "Camera Ready";
return msg;

Mensaje con marca de tiempo:

msg.payload = "Time: " + new Date().toLocaleString();
return msg;

Datos con valores:

msg.payload = "INSPECTION_COUNT: 42";
return msg;

Paso 7: Desplegar y Probar la Configuración

7.1 Desplegar el flujo de Node-RED

  1. Haga clic en el botón Deploy (esquina superior derecha)
  2. Verifique el mensaje de éxito de la implementación
  3. Verifique los indicadores de estado de los nodos:
    • Punto verde: Conectado correctamente
    • Punto rojo: Error de conexión
    • Punto amarillo: Intentando conexión

7.2 Prueba de comunicación TCP

7.2.1 Prueba básica de conectividad

Usando herramientas de línea de comandos:

# Test TCP connection (Linux/Mac)
telnet [camera-ip] [port]
# Example: telnet 192.168.0.100 49155

# Test with netcat
nc [camera-ip] [port]
# Example: nc 192.168.0.100 49155

Windows PowerShell:

Test-NetConnection -ComputerName 192.168.0.100 -Port 49155

7.2.2 Envío de mensajes de prueba

  1. Conectarse al puerto TCP de la cámara
  2. Enviar comandos de prueba:
    • "STATUS" → Debe recibir una respuesta de estado
    • "TRIGGER" → Debe activar la inspección
    • "INVALID" → Debe manejar comandos desconocidos

7.2.3 Monitorear la salida de depuración

  1. Abrir el panel de depuración de Node-RED (barra lateral derecha)
  2. Enviar mensajes de prueba vía TCP
  3. Verificar que la salida de depuración muestre:
    • Mensajes entrantes
    • Resultados del procesamiento
    • Respuestas salientes

7.3 Lista de verificación de validación

PruebaResultado esperadoEstado
Conexión TCPConexión exitosa al puerto de la cámara
Recepción de mensajesLa depuración muestra mensajes entrantes
Procesamiento de mensajesEl nodo de función procesa correctamente
Envío de respuestasEl dispositivo de destino recibe respuestas
Manejo de erroresLos mensajes inválidos se manejan adecuadamente

Paso 8: Integración con el Sistema de Inspección

8.1 Conectar a disparadores de inspección

Vincular la comunicación TCP con el flujo de inspección:

  1. Agregar un nodo "All Block Outputs" (si aún no está presente)
  2. Conectar los resultados de inspección a la salida TCP
  3. Formatear los datos de inspección para la transmisión TCP

8.2 Integración de Datos de Inspección

Nodo de función para procesar los resultados de inspección:

// Get inspection results from All Block Outputs
const results = msg.payload;

// Extract key information
const inspectionSummary = {
result: results.pass ? "PASS" : "FAIL",
timestamp: new Date().toISOString(),
processing_time: results.processing_time,
roi_count: results.roi_results ? results.roi_results.length : 0
};

// Format for TCP transmission
msg.payload = JSON.stringify(inspectionSummary);
return msg;

8.3 Control Bidireccional

Habilitar el control remoto vía TCP:

// Handle remote commands
const command = msg.payload.toString().toUpperCase();

switch(command) {
case "START_INSPECTION":
// Trigger inspection sequence
global.set("trigger_inspection", true);
msg.payload = "INSPECTION_STARTED";
break;

case "STOP_INSPECTION":
// Stop inspection sequence
global.set("trigger_inspection", false);
msg.payload = "INSPECTION_STOPPED";
break;

case "CHANGE_RECIPE":
// Recipe change logic
msg.payload = "RECIPE_CHANGED";
break;
}

return msg;

Paso 9: Solución de Problemas Comunes

9.1 Problemas de Conexión

ProblemaSíntomasSolución
No se puede conectarIndicador de estado rojoVerificar dirección IP y puerto
Caídas de conexiónEstado amarillo intermitenteVerificar la estabilidad de la red
Errores de tiempo de esperaRespuestas con retardoAjustar la configuración de tiempo de espera
Conflictos de puertoConexión rechazadaUsar un número de puerto diferente

9.2 Problemas de Transmisión de Datos

ProblemaSíntomasSolución
No se reciben datosDepuración muestra mensajes vacíosVerificar la configuración del formato de datos
Datos dañadosTexto garbled en depuraciónVerificar la codificación (UTF-8/Buffer)
Pérdida de mensajesFaltan mensajesVerificar la estabilidad de la red
Problemas con mensajes grandesDatos truncadosUsar mensajes más cortos

9.3 Técnicas de Depuración

Solución de problemas sistemática:

  1. Habilite nodos de depuración en cada paso
  2. Monitoree los registros de Node-RED para errores
  3. Pruebe primero con clientes TCP simples
  4. Verifique la conectividad de la red con ping

¡Éxito! Su sistema de comunicación TCP ya está listo

Su sistema de comunicación TCP ya puede:

  • Enviar y recibir datos entre la cámara y dispositivos externos
  • Procesar mensajes simples para comunicación básica
  • Monitorear el flujo de datos con nodos de depuración
  • Manejar la comunicación de red básica para sus aplicaciones

Mantenimiento Continuo

Revisiones periódicas del sistema

  • Monitorear la estabilidad de la conexión a lo largo del tiempo
  • Verificar que la transmisión de datos funcione de forma consistente
  • Verificar los registros de depuración para cualquier patrón de errores
  • Probar la comunicación después de cambios en la red

Siguientes Pasos

Después de configurar la comunicación TCP básica:

  1. Pruebe con sus sistemas externos usando la conexión establecida
  2. Personalizar los formatos de mensaje para sus necesidades específicas
  3. Agregar lógica más compleja a medida que crezcan sus requisitos
  4. Considere otros métodos de comunicación si TCP no cubre todas las necesidades

🔗 Ver También

Para aplicaciones de alto rendimiento:

  1. Reducir la frecuencia de mensajes
  2. Procesar varios mensajes en lote
  3. Usar formato binario para datos grandes
  4. Implementar compresión

Técnicas de Depuración

Solución de problemas sistemática:

  1. Habilite nodos de depuración en cada paso
  2. Monitoree los registros de Node-RED para errores
  3. Utilice herramientas de monitoreo de red (Wireshark)
  4. Pruebe primero con clientes TCP simples

¡Éxito! Su sistema de comunicación TCP ya puede

Su sistema de comunicación TCP ya puede:

  • Enviar y recibir datos entre la cámara y dispositivos externos
  • Procesar comandos para control remoto
  • Transmitir resultados de inspección en tiempo real
  • Manejar errores de forma elegante con un manejo adecuado de errores
  • Integrar con sistemas de producción para flujos de trabajo automatizados

Mantenimiento Continuo

Revisión regular del sistema

  • Monitorear la estabilidad de la conexión a lo largo del tiempo
  • Verificar la integridad de los datos en producción
  • Actualizar las configuraciones de seguridad según sea necesario
  • Optimizar el rendimiento en función de los patrones de uso

Monitoreo del rendimiento

  • Rastrear el throughput de mensajes y la latencia
  • Monitorear las tasas de error y fallos de conexión
  • Analizar patrones de datos para oportunidades de optimización

Próximos pasos

Después de configurar la comunicación TCP:

  1. Integre con sus sistemas externos usando el protocolo establecido
  2. Implemente un manejo de errores integral para uso en producción
  3. Configure el registro y el monitoreo para la salud del sistema
  4. Considere mejoras de seguridad para la implementación en producción

🔗 Ver también