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 OV10i y dispositivos externos utilizando Node-RED. Use la comunicación TCP para intercambio de datos en tiempo real, control remoto o integración con aplicaciones y sistemas personalizados.
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 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 imágenes e inspección completa)
Paso 1: Verificar la Configuración de Red
1.1 Verificar la Dirección IP de la Cámara
- Ir a Configuración del Sistema
- Anote la dirección IP de la cámara (p. ej.,
192.168.0.100) - Verifique la máscara de subred y la configuración de red
1.2 Confirmar la Red del Dispositivo de Destino
Asegure la compatibilidad de 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: Pruebe con el comando ping si es posible
1.3 Requisitos de Red
| Requisito | Cámara | Dispositivo de destino | Notas |
|---|---|---|---|
| Rango IP | 192.168.0.100 | 192.168.0.xxx | Debe estar en la misma subred |
| Máscara de Subred | 255.255.255.0 | 255.255.255.0 | Configuración estándar |
| Acceso al Puerto | 49155 (ejemplo) | 49155 (ejemplo) | Evite puertos reservados |
| Firewall | Permitir tráfico TCP | Permitir tráfico TCP | Ambas direcciones |
Paso 2: Acceder al Editor de Node-RED
2.1 Navegar al IO Block
- Haga clic en "IO Block" en el menú de migas de la receta, O
- Seleccionar "Configure I/O" desde el Editor de Recetas
2.2 Abrir el Editor de Node-RED
- Haga clic en
Configure IOpara ingresar al editor de flujo de Node-RED - Verifique que la interfaz de Node-RED se cargue correctamente
Punto de control: Debe ver el editor de flujo de Node-RED con la paleta de nodos a la izquierda.
Paso 3: Configurar la Entrada TCP (Recepción de Datos)
3.1 Añadir Nodo de Entrada TCP
- Localice el nodo "tcp in" en el panel izquierdo (sección de Red)
- Arrastre el nodo "tcp in" al lienzo de flujo
- Haga doble clic en el nodo para configurar
3.2 Configurar los Ajustes de Entrada TCP
Configuración del Nodo:
| Configuración | Valor | Descripción |
|---|---|---|
| Tipo | Listen on | La cámara actúa como servidor |
| Puerto | 49155 | Puerto en el que escucha la cámara |
| Modo de datos | Stream | Flujo de datos continuo |
| Tipo de datos | UTF8 | Comunicación basada en texto |
| Tema | (opcional) | Clasificación de mensajes |
3.3 Pasos de Configuración de Entrada TCP
- Configuración del servidor:
- Seleccione "Listen on port" (modo servidor)
- Ingrese el número de puerto (p. ej.,
49155)
- Manejo de Datos:
- Modo de datos: Seleccione "Stream" para datos continuos
- Tipo de datos: Elija "UTF8" para texto o "Buffer" para binario
- Configuración Avanzada:
- Caracteres de nueva línea: Deje en blanco a menos que se necesite un delimitador específico
- Tema: Identificador opcional de enrutamiento de mensajes
- Haga clic en
Donepara guardar la configuración
3.4 Directrices de Selección de Puertos
| Rango de Puertos | Uso | Recomendación |
|---|---|---|
| 1-1023 | Reservado por el sistema | Evitar |
| 1024-49151 | Puertos registrados | Verificar disponibilidad |
| 49152-65535 | Dinámico/privado | Recomendado |
Paso 4: Configurar Salida TCP (Enviar Datos)
4.1 Agregar nodo 'tcp out'
- Localice el nodo "tcp out" en el panel izquierdo (sección Red)
- Arrastre el nodo 'tcp out' al lienzo del flujo
- Haga doble clic en el nodo para configurarlo
4.2 Configurar la Salida TCP
Configuración del nodo:
| Ajuste | Valor | Descripción |
|---|---|---|
| Tipo | Conectar a | La cámara actúa como cliente |
| Host | 192.168.0.200 | Dirección IP del dispositivo de destino |
| Puerto | 49155 | Puerto del dispositivo de destino |
| Modo | Client | Conexión saliente |
4.3 Pasos de Configuración de Salida TCP
- Configuración de la conexión:
- Tipo: Seleccione "Connect to" (modo cliente)
- Host: Ingrese dirección IP del dispositivo de destino
- Puerto: Ingrese número de puerto del dispositivo de destino
- Opciones de conexión:
- Modo: Mantener como "Client"
- Finalizar conexión: Configurar según el caso de uso
- Formato de datos:
- Base64: Por lo general desactivado para datos de texto
- TLS: Habilitar solo si se requiere una conexión segura
- Haz clic en
Donepara 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:
- 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
- Doble clic en el nodo Inject
- Configurar ajustes:
- Nombre: "Enviar Mensaje"
- Payload: Marca de tiempo
- Tema: (dejar vacío)
- Haz clic en
Done
5.3 Configurar el Nodo Function
El nodo Function formateará su mensaje saliente:
msg.payload = "Hello from OV20i camera";
return msg;
- Doble clic en el nodo Function
- Copie el código anterior en la pestaña "On Message"
- Nombre: "Formato de Mensaje"
- Haz 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 a un nodo independiente Debug
Resultado: Puede enviar mensajes haciendo clic en el botón Inject y ver tanto los mensajes salientes como los entrantes en el panel de depuración.
Paso 6: Configurar el Formato de Mensaje
6.1 Definir el Formato de Mensaje
Mantenga la estructura del mensaje simple:
| Tipo de mensaje | Formato | Ejemplo |
|---|---|---|
| Texto simple | Texto plano | "Hola desde la cámara" |
| Actualizaciones de estado | Texto con información | "ESTADO: LISTO" |
| Valores de datos | Formato 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
- Haga clic en el botón
Deploy(esquina superior derecha) - Verificar el mensaje de éxito de la implementación
- Verificar los indicadores de estado de los nodos:
- Punto verde: Conectado exitosamente
- 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 Enviar mensajes de prueba
- Conectar al puerto TCP de la cámara
- Enviar comandos de prueba:
- "STATUS" → Debería recibir una respuesta de estado
- "TRIGGER" → Debería activar la inspección
- "INVALID" → Debería manejar comandos desconocidos
7.2.3 Monitorear la salida de depuración
- Abrir el panel de depuración de Node-RED (barra lateral derecha)
- Enviar mensajes de prueba vía TCP
- Verificar que la salida de depuración indique:
- Mensajes entrantes
- Resultados del procesamiento
- Respuestas salientes
7.3 Lista de verificación de validación
| Prueba | Resultado esperado | Estado |
|---|---|---|
| Conexión TCP | Conexión exitosa al puerto de la cámara | ☐ |
| Recepción de mensajes | La depuración muestra mensajes entrantes | ☐ |
| Procesamiento de mensajes | El nodo de función procesa correctamente | ☐ |
| Envío de respuestas | El dispositivo de destino recibe las respuestas | ☐ |
| Manejo de errores | Mensajes inválidos se manejan correctamente | ☐ |
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:
- Agregar el nodo 'All Block Outputs' (si aún no está presente)
- Conectar los resultados de inspección a la salida TCP
- 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
| Problema | Síntomas | Solución |
|---|---|---|
| No se puede conectar | Indicador de estado rojo | Verifique la dirección IP y el puerto |
| Caídas de la conexión | Estado amarillo intermitente | Verifique la estabilidad de la red |
| Errores de tiempo de espera | Respuestas demoradas | Ajuste la configuración de tiempo de espera |
| Conflictos de puertos | Conexión rechazada | Utilice un número de puerto diferente |
9.2 Problemas de Transmisión de Datos
| Problema | Síntomas | Solución |
|---|---|---|
| No se recibieron datos | La depuración muestra mensajes vacíos | Verifique la configuración de formato de datos |
| Datos corruptos | Texto ilegible en la depuración | Verifique la codificación (UTF-8/Buffer) |
| Pérdida de mensajes | Mensajes faltantes | Verifique la estabilidad de la red |
| Problemas con mensajes grandes | Datos truncados | Utilice mensajes más cortos |
9.3 Técnicas de Depuración
Solución de problemas sistemática:
- Habilite nodos de depuración en cada paso
- Monitoree los registros de Node-RED para errores
- Pruebe primero con clientes TCP simples
- 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
- Manejar la comunicación de red básica para sus aplicaciones
Mantenimiento continuo
Verificaciones 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 detectar patrones de error
- Probar la comunicación tras cambios en la red
Próximos pasos
Después de configurar la comunicación TCP básica:
- Pruebe con sus sistemas externos utilizando la conexión establecida
- Personalice los formatos de mensajes para sus necesidades específicas
- Agregue lógica más compleja a medida que crezcan sus requisitos
- Considere otros métodos de comunicación si TCP no satisface todas las necesidades
🔗 Véase también
- Configuración MQTT
- Configuración RS-232
- Conectar a PLC (Ethernet/IP, PROFINET)
- Conceptos básicos de Node-RED
- Bloques personalizados de Node-RED de Overview
- Fallos de IP y descubrimiento de red
Para aplicaciones de alto rendimiento:
- Reduce la frecuencia de mensajes
- Procesar varios mensajes en lotes
- Utilice formato binario para datos grandes
- Implementar compresión
Técnicas de Depuración
Solución de problemas sistemática:
- Habilite nodos de depuración en cada paso
- Monitoree los registros de Node-RED para errores
- Utilice herramientas de monitoreo de red (Wireshark)
- 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
- 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 basándose en los patrones de uso
Monitoreo del rendimiento
- Rastrear el rendimiento de los 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:
- Integre sus sistemas externos utilizando el protocolo establecido
- Implemente un manejo de errores integral para uso en producción
- Configurar registro y monitoreo para la salud del sistema
- Considere mejoras de seguridad para el despliegue en producción