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 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

Vea este tema 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 API HTTP/REST no son adecuadas.

Prerrequisitos

  • Sistema de cámara OV80i 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 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 (por ejemplo, 10.250.0.100)
  3. Verifique la máscara de subred y la configuración de la red

1.2 Confirmar la Red del Dispositivo Objetivo

Asegúrese de 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 cortafuegos
  • Conectividad de red: Pruebe con el comando ping si es posible

1.3 Requisitos de Red

RequisitoCámaraDispositivo ObjetivoNotas
Rango IP10.250.0.10010.250.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 TCPEn ambas direcciones

Paso 2: Acceder al Editor de Node-RED

2.1 Navegar al Bloque IO

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

Punto de Control: Debería ver el editor de flujo de Node-RED con la paleta de nodos a la izquierda.

Paso 3: Configurar Entrada TCP (Recibir Datos)

3.1 Agregar Nodo de Entrada TCP

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

3.2 Configurar la Configuración de 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 DatosTransmitirFlujo de datos continuo
Tipo de DatosUTF8Comunicación basada en texto
Tema(opcional)Categorización de mensajes

3.3 Pasos de Configuración de Entrada TCP

  1. Configuración del Servidor:
    • Seleccione "Escuchar en el puerto" (modo servidor)
    • Ingrese el número de puerto (por ejemplo, 49155)
  2. Manejo de Datos:
    • Modo de Datos: Seleccione "Transmitir" para datos continuos
    • Tipo de Datos: Elija "UTF8" para texto o "Buffer" para binario
  3. Configuraciones Avanzadas:
    • 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 Agregar Nodo de Salida TCP

  1. Localice el nodo "tcp out" en el panel izquierdo (sección de 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 Ajustes de Salida TCP

Configuración del Nodo:

AjusteValorDescripción
TipoConectar aLa cámara actúa como cliente
Host192.168.0.200Dirección IP del dispositivo objetivo
Puerto49155Puerto del dispositivo objetivo
ModoClienteConexión saliente

4.3 Pasos de Configuración de Salida TCP

  1. Ajustes de Conexión:
    • Tipo: Seleccionar "Conectar a" (modo cliente)
    • Host: Ingresar dirección IP del dispositivo objetivo
    • Puerto: Ingresar número de puerto del dispositivo objetivo
  2. Opciones de Conexión:
    • Modo: Mantener como "Cliente"
    • Finalizar conexión: Configurar según el caso de uso
  3. Formato de Datos:
    • Base64: Generalmente deshabilitado para datos de texto
    • TLS: Habilitar solo si se requiere conexión segura
  4. Haga clic en Listo 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. Agregue estos nodos a su lienzo:
    • Nodo de inyección (para activar mensajes)
    • Nodo de función (para procesamiento de mensajes)
    • Nodo TCP Out (para enviar datos)
    • Nodo TCP In (para recibir datos)
    • Nodos de depuración (para monitoreo)

5.2 Configurar Nodo de Inyección

  1. Haga doble clic en el nodo de inyección
  2. Configurar ajustes:
    • Nombre: "Enviar Mensaje"
    • Carga útil: Marca de tiempo
    • Tema: (dejar vacío)
  3. Haga clic en Listo

5.3 Configurar Nodo de Función

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

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

  1. Haga doble clic en el nodo de función
  2. Copie el código anterior en la pestaña "On Message"
  3. Nombre: "Formato de Mensaje"
  4. Haga clic en Listo

5.4 Conectar las Conexiones

Conecte los nodos en este orden:

Flujo saliente:

  • Inyección → Función → TCP Out
  • Función → Depuración (para ver mensajes salientes)

Flujo entrante:

  • TCP In → Depuración (para ver mensajes entrantes)

5.5 Estructura del Flujo Completo

Su flujo final debe tener:

  • Inyección conectada a Función
  • Función conectada tanto a TCP Out como a Depuración
  • TCP In conectado a un nodo de Depuración separado

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

Paso 6: Configurar Formato del Mensaje

6.1 Definir Formato del Mensaje

Mantenga la estructura del mensaje simple:

Tipo de MensajeFormatoEjemplo
Texto simpleCadena plana"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. Verifique el mensaje de éxito del despliegue
  3. Revise los indicadores de estado del nodo:
    • 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 de Conectividad Básica

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

7.2.3 Monitorear Salida de Depuración

  1. Abra el panel de depuración de Node-RED (barra lateral derecha)
  2. Envía mensajes de prueba a través de TCP
  3. Verifique que la salida de depuración muestre:
    • Mensajes entrantes
    • Resultados de 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 mensajesDepuración muestra mensajes entrantes
Procesamiento de mensajesNodo de función procesa correctamente
Envío de respuestasDispositivo objetivo recibe respuestas
Manejo de erroresMensajes inválidos manejados con gracia

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

8.1 Conectar a 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 no está presente)
  2. Conecte los resultados de la 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 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 a través de 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
Conexión interrumpidaIndicador amarillo intermitenteVerifique la estabilidad de la red
Errores de tiempo de esperaRespuestas retrasadasAjuste la configuración de tiempo de espera
Conflictos de puertoConexión rechazadaUse 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íosVerifique la configuración del formato de datos
Datos corruptosTexto distorsionado en depuraciónVerifique la codificación (UTF8/Buffer)
Pérdida de mensajesMensajes faltantesVerifique la estabilidad de la red
Problemas con mensajes grandesDatos truncadosUse 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 en busca de errores
  3. Pruebe primero con clientes TCP simples
  4. Verifique la conectividad de la 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 de depuración
  • Manejar comunicación de red básica para sus aplicaciones

Mantenimiento Continuo

Verificaciones Regulares del Sistema

  • Monitoree la estabilidad de la conexión a lo largo del tiempo
  • Verifique que la transmisión de datos funcione de manera consistente
  • Revise los registros de depuración en busca de patrones de error
  • Pruebe 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. Reduzca la frecuencia de mensajes
  2. Agrupe múltiples mensajes
  3. Utilice formato binario para datos grandes
  4. Implemente 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 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 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 de manera adecuada 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 basado en patrones de uso

Monitoreo del Rendimiento

  • Rastrear el rendimiento 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. Integrar con sus sistemas externos utilizando el protocolo establecido
  2. Implementar un manejo de errores integral para uso en producción
  3. Configurar el registro y monitoreo para la salud del sistema
  4. Considerar mejoras de seguridad para el despliegue en producción

🔗 Ver También