Saltar al contenido principal

Configuración de Comunicación TCP

Esta guía le muestra cómo configurar la comunicación TCP entre su cámara OV80i y dispositivos externos utilizando Node-RED. Utilice 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

Véalo en acción: 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 APIs HTTP/REST no son adecuadas.

Prerrequisitos

  • Sistema de cámara OV80i 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. Ir a Configuración del Sistema
  2. Anotar la dirección IP de la cámara (p. ej., 10.250.0.100)
  3. Verificar la máscara de subred y la configuración de red

1.2 Confirmar la Red del Dispositivo de Destino

Asegure 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 cortafuegos
  • Conectividad de red: pruebe con el comando ping si es posible

1.3 Requisitos de Red

RequisitoCámaraDispositivo de DestinoNotas
Rango IP10.250.0.10010.250.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
CortafuegosPermitir tráfico TCPPermitir tráfico TCPAmbas direcciones

Paso 2: Acceder al Editor de Node-RED

2.1 Navegar a IO Block

  1. Haga clic en 'IO Block' en el menú de migas de la receta, O
  2. Seleccionar "Configure 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 flujo de Node-RED
  2. Verificar que la interfaz de Node-RED cargue correctamente

Punto de control: Debe verse el editor de flujos de Node-RED con la paleta de nodos a la izquierda.

Paso 3: Configurar la 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 Network)
  2. Arrastrar el nodo "tcp in" al lienzo del flujo
  3. Haga doble clic en el nodo para configurarlo

3.2 Configurar Ajustes de Entrada TCP

Configuración del nodo:

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

3.3 Pasos de Configuración de la Entrada TCP

  1. Configuración del servidor:
    • Seleccionar "Listen on port" (modo servidor)
    • Introducir número de puerto (p. ej., 49155)
  2. Manejo de datos:
    • Modo de datos: Seleccionar "Stream" para datos continuos
    • Tipo de datos: Elegir "UTF8" para texto o "Buffer" para binario
  3. Configuración avanzada:
    • Carácter de nueva línea: Deje 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 de Salida TCP

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

image.png

4.2 Configurar Ajustes de Salida TCP

Configuración del Nodo:

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

4.3 Pasos de Configuración de Salida TCP

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

Paso 5: Crear Flujo de Comunicación

5.1 Construya el Flujo Completo

Cree un flujo que pueda enviar y recibir datos TCP:

  1. Agregue estos nodos a su lienzo:
    • Inject node (para activar mensajes)
    • Function node (para procesamiento de mensajes)
    • TCP Out node (para enviar datos)
    • TCP In node (para recibir datos)
    • Debug nodes (para monitoreo)

5.2 Configurar Inject Node

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

5.3 Configurar Function Node

El nodo Function formateará su mensaje saliente:

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

  1. Haga doble clic en el nodo Function
  2. Copie el código anterior en la pestaña "On Message"
  3. Nombre: "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 los mensajes salientes)

Flujo entrante:

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

5.5 Estructura del Flujo Completo

Su flujo final debe incluir:

  • Inject conectado a Function
  • Function conectado a ambos TCP Out y Debug
  • TCP In conectado al separado Debug node

Resultado: Puede enviar mensajes haciendo clic en el botón de inyección y ver tanto los mensajes salientes como 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:

Tipo de MensajeFormatoEjemplo
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 diferentes tipos de mensajes:

Mensaje de estado simple:

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

Mensaje de 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. Verificar el mensaje de despliegue exitoso
  3. Verificar los indicadores de estado de los nodos:
    • Punto verde: Conexión exitosa
    • Punto rojo: Error de conexión
    • Punto amarillo: Intentando la conexión

7.2 Prueba de Comunicación TCP

7.2.1 Prueba básica de conectividad

Con herramientas de línea de comandos:

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

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

Windows PowerShell:

Test-NetConnection -ComputerName 10.250.0.100 -Port 49155

7.2.2 Enviar Mensajes de Prueba

  1. Conectarse al puerto TCP de la cámara
  2. Enviar comandos de prueba:
    • "STATUS" → Debería recibir una respuesta de estado
    • "TRIGGER" → Debería activar la inspección
    • "INVALID" → Debería 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. 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 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 a disparadores de inspección

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

  1. Agregar el nodo "All Block Outputs" (si 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 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 rojoVerifique la dirección IP y el puerto
Caídas de la conexiónEstado amarillo intermitenteVerifique la estabilidad de la red
Errores de tiempo de esperaRespuestas con retrasoAjuste la configuración de timeout
Conflictos de puertoConexión rechazadaUtilice un número de puerto diferente

9.2 Problemas de Transmisión de Datos

ProblemaSíntomasSolución
No se reciben datosLa depuración muestra mensajes vacíosVerifique la configuración de formato de datos
Datos corruptosTexto ilegible en la depuraciónVerifique la codificación (UTF8/Buffer)
Pérdida de mensajesMensajes ausentesVerifique la estabilidad de la red
Problemas con mensajes grandesDatos truncadosUtilice mensajes más cortos

9.3 Técnicas de Depuración

Depuración sistemática:

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

¡Éxito! Su 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 comunicación básica
  • Monitorear el flujo de datos con nodos de depuración
  • Gestionar la 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 la transmisión de datos funciona de forma constante
  • Verificar los registros de depuración 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 utilizando la conexión establecida
  2. Personalice los formatos de mensajes para sus necesidades específicas
  3. Agregue lógica más compleja a medida que crezcan sus requisitos
  4. Considere 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 varios mensajes en lotes
  3. Usar formato binario para datos grandes
  4. Implementar compresión

Técnicas de Depuración

Depuración sistemática:

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

¡Éxito! Su 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
  • Manejar errores de forma adecuada con manejo de errores apropiado
  • Integrar con sistemas de producción para flujos de trabajo automatizados

Mantenimiento Continuo

Verificaciones Regulares del Sistema

  • Monitor connection stability a lo largo del tiempo
  • Verify data integrity en producción
  • Update security configurations según sea necesario
  • Optimize performance basado en patrones de uso

Monitoreo de Rendimiento

  • Track message throughput y la latencia
  • Monitor error rates y fallas de conexión
  • Analyze data patterns para oportunidades de optimización

Próximos Pasos

Después de configurar la comunicación TCP:

  1. Integrate with your external systems utilizando el protocolo establecido
  2. Implement comprehensive error handling para uso en producción
  3. Set up logging and monitoring para la salud del sistema
  4. Consider security enhancements para el despliegue en producción

🔗 Ver También