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 usando Node-RED. Use la comunicación TCP para el intercambio de datos en tiempo real, control remoto o integración con aplicaciones y sistemas personalizados.

Guía en Video

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

Omita la configuración manual

Describa su integración TCP en inglés sencillo 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 API HTTP/REST no son adecuadas.

Prerrequisitos

  • Sistema de cámara OV10i configurado y conectado
  • Dispositivo/sistema objetivo con capacidad de comunicación TCP
  • Conectividad de red entre la cámara y el dispositivo objetivo
  • 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 Red

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

  1. Navegue a Configuraciones del Sistema
  2. Anote la dirección IP de la cámara (por ejemplo, 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

Asegure la compatibilidad de 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: Pruebe con el comando ping si es posible

1.3 Requisitos de Red

RequisitoCámaraDispositivo ObjetivoNotas
Rango de 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 Puerto49155 (ejemplo)49155 (ejemplo)Evite puertos reservados
FirewallPermitir tráfico TCPPermitir tráfico TCPAmbas direcciones

Paso 2: Acceder al Editor de Node-RED

2.1 Navegar al Bloque IO

  1. Haga clic en "Bloque IO" en el menú de migas de pan de la receta, O
  2. Seleccione "Configurar I/O" desde el editor de recetas

2.2 Abrir el Editor de Node-RED

  1. Haga clic en Configure IO para ingresar al editor de flujos de Node-RED
  2. Verifique que la interfaz de Node-RED 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 la Entrada TCP (Recibir Datos)

3.1 Agregar Nodo de Entrada TCP

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

3.2 Configurar los Ajustes de Entrada TCP

Configuración del Nodo:

AjusteValorDescripción
TypeListen onLa cámara actúa como servidor
Port49155Puerto en el que escucha la cámara
Data modeStreamFlujo continuo de datos
Data typeUTF8Comunicación basada en texto
Topic(opcional)Categorización de mensajes

3.3 Pasos de Configuración de Entrada TCP

  1. Configuración del Servidor:
    • Seleccione "Listen on port" (modo servidor)
    • Ingrese el número de puerto (por ejemplo, 49155)
  2. Manejo de Datos:
    • Data mode: Seleccione "Stream" para datos continuos
    • Data type: Elija "UTF8" para texto o "Buffer" para binario
  3. Configuraciones Avanzadas:
    • Carácter de nueva línea: Déjelo en blanco a menos que se requiera un delimitador específico
    • Topic: 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

Rango de PuertosUsoRecomendación
1-1023Reservados del sistemaEvitar
1024-49151Puertos registradosVerificar disponibilidad
49152-65535Dinámicos/privadosRecomendado

Paso 4: Configurar la Salida TCP (Enviar Datos)

4.1 Agregar 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 los Ajustes de la Salida TCP

Configuración del Nodo:

AjusteValorDescripción
TypeConnect toLa cámara actúa como cliente
Host192.168.0.200Dirección IP del dispositivo objetivo
Port49155Puerto del dispositivo objetivo
ModeClientConexión saliente

4.3 Pasos para la Configuración de la Salida TCP

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

Paso 5: Crear el Flujo de Comunicación

5.1 Construir el Flujo Completo

Cree un flujo que pueda tanto enviar como recibir datos TCP:

  1. Agregue 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 el Nodo Inject

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

5.3 Configurar el Nodo Function

El nodo function dará formato a su mensaje saliente:

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

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

5.4 Conectar los Nodos

Conecte los nodos en este orden:

Flujo saliente:

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

Flujo entrante:

  • TCP In → Debug (para ver los mensajes entrantes)

5.5 Estructura Completa del Flujo

Su flujo final debe tener:

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

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

Paso 6: Configurar el Formato del Mensaje

6.1 Definir el Formato del Mensaje

Mantenga la estructura del mensaje simple:

Tipo de MensajeFormatoEjemplo
Texto simpleCadena de texto plano"Hello from camera"
Actualizaciones de estadoTexto con información"STATUS: READY"
Valores de datosFormato clave-valor"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 despliegue exitoso
  3. Revise los indicadores de estado de los nodos:
    • Punto verde: Conectado exitosamente
    • Punto rojo: Error de conexión
    • Punto amarillo: Intentando conexión

7.2 Probar la 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 Enviar 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 el comando desconocido

7.2.3 Monitorear la Salida de Depuración

  1. Abra el panel de depuración de Node-RED (barra lateral derecha)
  2. Envíe 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 los mensajes entrantes
Procesamiento de mensajesEl nodo de función procesa correctamente
Envío de respuestasEl dispositivo destino recibe las respuestas
Manejo de erroresLos mensajes inválidos se manejan adecuadamente

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

8.1 Conectar con los Disparadores de Inspección

Vincule la comunicación TCP con el flujo de trabajo de inspección:

  1. Agregue el nodo "All Block Outputs" (si aún no está presente)
  2. Conecte los resultados de inspección a la salida TCP
  3. Formatee 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

Habilite 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 estabilidad de la red
Errores de tiempo de esperaRespuestas retrasadasAjustar configuraciones de timeout
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 datosDebug muestra mensajes vacíosVerificar configuraciones de formato de datos
Datos corruptosTexto distorsionado en debugVerificar codificación (UTF8/Buffer)
Pérdida de mensajesMensajes faltantesVerificar 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. Habilitar nodos debug en cada paso
  2. Monitorear logs de Node-RED en busca de errores
  3. Probar primero con clientes TCP simples
  4. Verificar conectividad de red con ping

¡Éxito! Su Comunicación TCP Está Lista

Su sistema de comunicación TCP ahora 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 debug
  • Manejar comunicación de red básica 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 manera consistente
  • Revisar los logs de debug en busca de patrones de error
  • Probar la comunicación después de cambios en la red

Próximos Pasos

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

  1. Pruebe con sus sistemas externos usando la conexión establecida
  2. Personalice los formatos de mensaje según sus necesidades específicas
  3. Agregue lógica más compleja conforme crezcan sus requerimientos
  4. Considere otros métodos de comunicación si TCP no cubre todas sus necesidades

🔗 Ver También

Para aplicaciones de alto rendimiento:

  1. Reducir la frecuencia de mensajes
  2. Agrupar múltiples mensajes en lotes
  3. Usar formato binario para datos grandes
  4. Implementar compresión

Técnicas de Depuración

Solución de problemas sistemática:

  1. Habilitar nodos debug en cada paso
  2. Monitorear logs de Node-RED en busca de errores
  3. Usar herramientas de monitoreo de red (Wireshark)
  4. Probar primero con clientes TCP simples

¡Éxito! Su Comunicación TCP Está Lista

Su sistema de comunicación TCP ahora 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 adecuadamente con un manejo de errores apropiado
  • Integrarse con sistemas de producción para flujos de trabajo automatizados

Mantenimiento Continuo

Verificaciones Regulares 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 con base en los patrones de uso

Monitoreo del Rendimiento

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

Siguientes Pasos

Después de configurar la comunicación TCP:

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

🔗 Consulte También