Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Configuración de la Comunicación TCP

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

Video Guide

See this topic in action: Auto-Integration Builder

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

Prerrequisitos

  • Sistema de cámara OV20i 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 imágenes 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 Objetivo

Asegurar la compatibilidad de la red:

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

1.3 Requisitos de Red

RequisitoCámaraDispositivo objetivoNotas
Rango IP192.168.0.100192.168.0.xxxDebe ser la misma subred
Máscara de Subred255.255.255.0255.255.255.0Configuración estándar
Acceso a Puertos49155 (ejemplo)49155 (ejemplo)Evitar puertos reservados
FirewallPermitir tráfico TCPPermitir tráfico TCPEn ambas 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 recetas, O
  2. Seleccionar "Configure I/O" desde el Recipe Editor

2.2 Abrir Node-RED Editor

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

Punto de control: 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 Agregar 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 Configurar la Entrada TCP

Configuración del Nodo:

ConfiguraciónValorDescripció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)Identificador opcional de enrutamiento de mensajes

3.3 Pasos de Configuración de la Entrada TCP

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

3.4 Directrices de Selección de Puertos

Rango de PuertosUsoRecomendación
1-1023Reservado por el sistemaEvitar
1024-49151Puertos registradosVerificar disponibilidad
49152-65535Dinámico/privadoRecomendado

Paso 4: Configurar salida TCP (Enviar datos)

4.1 Añadir Nodo TCP Output

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

image.png

4.2 Configurar ajustes de TCP Output

Node Configuration:

SettingValueDescription
TypeConectar aLa cámara actúa como cliente
Host192.168.0.200Dirección IP del dispositivo de destino
Port49155Puerto del dispositivo de destino
ModeClienteConexión saliente

4.3 Pasos de Configuración de TCP Output

  1. Conexión: Seleccione "Connect to" (modo cliente)
  2. Host: Ingrese dirección IP del dispositivo de destino
  3. Port: Ingrese número de puerto del dispositivo de destino
  4. Conexión Opciones:
    • Mode: Mantener como "Cliente"
    • End connection: Configure según el caso de uso
  5. Formato de Datos:
    • Base64: Generalmente desactivado para datos de texto
    • TLS: Habilitar solo si se requiere una conexión segura
  6. Haga clic en Done para guardar la configuración

Paso 5: Crear Flujo de Comunicación

5.1 Construir el flujo completo

Cree un flujo que pueda enviar y recibir datos TCP:

  1. Añada estos nodos a su lienzo:
    • Nodo Inject (para activar mensajes)
    • Nodo Function (para procesamiento de mensajes)
    • Nodo TCP Out (para enviar datos)
    • Nodo TCP In (para recibir datos)
    • Nodos Debug (para monitoreo)

5.2 Configurar Nodo Inject

  1. Haga doble clic en el nodo Inject
  2. Configurar ajustes:
    • Name: "Enviar Mensaje"
    • Payload: Marca de tiempo
    • Topic: (dejar vacío)
  3. Haga clic en Done

5.3 Configurar Nodo Function

El nodo Function formateará su mensaje saliente:

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

  1. Haga doble clic en el nodo Function
  2. Copie el código anterior en la pestaña "On Message"
  3. Name: "Formato de Mensaje"
  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 TCP Out y a Debug
  • TCP In conectado a un nodo separado Debug

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
Texto simpleCadena simple""Hola desde la cámara""
Actualizaciones de estadoTexto con información""ESTADO: LISTO""
Valores de datosFormato clave-valor""TEMPERATURA: 25.5""

6.2 Ejemplos de Mensajes Personalizados

Puede modificar el nodo de función para distintos 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 Flujo de Node-RED

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

7.2 Prueba de Comunicación TCP

7.2.1 Prueba de conectividad básica

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. Conéctese al puerto TCP de la cámara
  2. Envíe comandos de prueba:
    • "STATUS" → Debe recibir una respuesta de estado
    • "TRIGGER" → Debe activar la inspección
    • "INVALID" → Debe manejar un comando desconocido

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. Verifique 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 las respuestas
Manejo de erroresLos mensajes no válidos se manejan de forma adecuada

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

8.1 Conectar con disparadores de inspección

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

  1. Agregar el 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 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 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 la dirección IP y el puerto
DesconexionesEstado amarillo intermitenteVerificar la estabilidad de la red
Errores de tiempo de esperaRespuestas retardadasAjustar 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 de formato de datos
Datos corruptosTexto distorsionado en la depuraciónVerificar la codificación (UTF8/Buffer)
Pérdida de mensajesMensajes faltantesVerificar la estabilidad de la red
Problemas con mensajes grandesDatos truncadosUsar mensajes más cortos

9.3 Técnicas de depuración

Depuración sistemática:

  1. Habilitar nodos de depuración en cada paso
  2. Monitorear los registros de Node-RED para errores
  3. Probar primero con clientes TCP simples
  4. Verificar la conectividad de la red con ping

¡Éxito! La comunicación TCP está lista

Su sistema de comunicación TCP ya puede:

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

Mantenimiento continuo

Verificaciones regulares del sistema

  • Monitorear la estabilidad de la conexión a lo largo del tiempo
  • Verificar que la transmisión de datos funcione de forma constante
  • Revisar los registros de depuración para detectar patrones de errores
  • Probar la comunicación tras cambios en la red

Próximos pasos

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

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

🔗 Ver También

Para aplicaciones de alto rendimiento:

  1. Reducir la frecuencia de mensajes
  2. Procesar múltiples mensajes en lotes
  3. Usar formato binario para datos de gran tamaño
  4. Implementar compresión

Técnicas de depuración

Solución de problemas sistemática:

  1. Habilitar nodos de depuración en cada paso
  2. Monitorear los registros de Node-RED para errores
  3. Usar herramientas de monitoreo de red (Wireshark)
  4. Probar primero con clientes TCP simples

¡Éxito! La comunicación TCP está lista

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
  • Gestionar los errores de forma adecuada con manejo de errores apropiado
  • Integrar con sistemas de producción para flujos de trabajo automatizados

Mantenimiento continuo

Verificaciones periódicas 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 según los patrones de uso

Monitoreo de rendimiento

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

Próximos pasos

Después de configurar la comunicación TCP:

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

🔗 Véase también