Cambio de Recetas vía HTTP con Node-RED
Este tutorial le mostrará cómo cambiar recetas de forma remota en su cámara OV80i mediante simples solicitudes HTTP. Construirá un sistema que permita a cualquier dispositivo en su red conmutar entre diferentes configuraciones de inspección de forma instantánea, perfecto para líneas de producción con múltiples productos.
Qué va a construir: Un sistema remoto de conmutación de recetas que responde a comandos HTTP desde tabletas, computadoras, PLCs, o cualquier dispositivo que pueda enviar solicitudes web.
Tiempo estimado: 15-20 minutos
Nivel de experiencia: Principiante
Ejemplo real: Imagina a un operador escaneando un código de barras en su tableta, y la cámara cambia automáticamente a la receta correcta para ese producto - ¡eso es exactamente lo que estamos construyendo!
Por qué los cambios de receta mediante HTTP facilitan la vida
La OV80i facilita la conmutación remota de recetas:
- Cualquier dispositivo puede activar: tabletas, PLCs, computadoras, incluso teléfonos inteligentes
- Conmutación instantánea: las recetas cambian en menos de un segundo
- Sin configuraciones complejas: solo unos pocos nodos en Node-RED
- Funciona con sistemas existentes: se integra con lo que ya tiene
Ideal para: líneas multi-producto, paneles de control de operador, sistemas automatizados, o donde sea necesario realizar cambios rápidos de recetas.
Prerrequisitos
Antes de empezar, asegúrese de tener:
- Cámara OV80i conectada y funcionando
- Al menos 2 recetas creadas y listas para usar
- Acceso a Node-RED (a través de IO Block)
Necesitará los números de ID de receta; se encuentran en la barra de direcciones de su navegador cuando edita las recetas.
Paso 1: Encuentre Sus Números de Receta
1.1 Obtener IDs de Receta
- Abra cualquier receta en el Editor de Recetas
- Mire la barra de direcciones de su navegador
- Encuentre el número después de
/recipe/
(ejemplo:/recipe/15
significa que el ID de la Receta es 15) - Anote los IDs de todas las recetas entre las que desea conmutar
¿Por qué estos números? Cada receta tiene un ID único que nunca cambia; es esto lo que la cámara usa internamente.
Paso 2: Abrir Node-RED
2.1 Acceder al Flow Builder
- En cualquier Editor de Recetas, haga clic en "IO Block"
- Haga clic en "Configure IO"
Ahora está en Node-RED, donde construiremos su sistema de conmutación de recetas!
2.2 Planifique su Configuración
Esto es lo que vamos a construir:
Button Click → Format Request → Send to Camera → See Result
¡Fácil! La cámara tiene un servidor web integrado que escucha solicitudes de cambio de receta.
Paso 3: Construya su Conmutador de Recetas
3.1 Agregue los Nodos Básicos
Arrastre estos 4 nodos a su lienzo:
- Inject (de la sección Input) - Su botón de "cambiar receta"
- Function (de la sección Function) - Formatea la solicitud correctamente
- HTTP Request (de la sección Network) - Envia la orden a la cámara
- Debug (de la sección Output) - Muestra si funcionó
3.2 Conéctelos
Conéctelos de esta forma:
Inject → Function → HTTP Request → Debug
¡Fácil! Ahora configure cada uno.
Paso 4: Configure Sus Nodos
4.1 Configure su Botón de Receta
- Haga doble clic en el nodo Inject
- Cambie el nombre a "Cambiar a Receta 15" (utilice su ID de receta real)
- Establezca Payload en "15" (el ID de su receta)
- Haga clic en "Hecho"
4.2 Configure el Formateador de Solicitudes
- Haga doble clic en el nodo Function
- Nómbralo "Format Request"
- Copie este código simple:
// Get recipe number from button
let recipeID = msg.payload;
// Set up the web request
msg.headers = {'Content-Type': 'application/json'};
msg.payload = JSON.stringify({ id: recipeID });
return msg;
- Haga clic en "Hecho"
Qué hace esto: Toma su número de receta y lo empaqueta de la manera que la cámara espera.
4.3 Configure el HTTP Request
- Haga doble clic en el nodo HTTP Request
- Establezca el Método en "POST"
- Establezca la URL en
localhost:5001/pipeline/activate
- Nómbralo "Change Recipe"
- Haga clic en "Hecho"
Antes de v18.92: use http://[CAMERA_IP]/edge/pipeline/activate
v18.92 y versiones posteriores: use http://localhost:5001/pipeline/activate
4.4 Configure el Monitor de Respuesta
- Haga doble clic en el nodo Debug
- Nómbralo "Resultado del Cambio de Receta"
- Haga clic en "Hecho"
¡Perfecto! Su conmutador de recetas está listo para probar.
Paso 5: Pruebe Su Conmutador de Recetas
5.1 Despliegue y Prueba
- Haga clic en el botón rojo 'Deploy'
- Haga clic en su botón Inject (Cambiar a Receta 15)
- Observe el panel de depuración para la respuesta
5.2 Verifique Si Funcionó
Señales de éxito:
- El panel de depuración muestra
"success": true
- La interfaz de la cámara muestra el nombre de la nueva receta
- No hay mensajes de error en el panel de depuración
Si funcionó: ¡Felicidades! Acaba de conmutar las recetas de forma remota.
Si no: Revise la sección de solución de problemas a continuación.
5.3 Agregar Más Botones de Receta
¿Quiere múltiples recetas? Simplemente agregue más nodos Inject:
- Botón Receta 10: Payload = "10", Nombre = "Cambiar a Receta 10"
- Botón Receta 23: Payload = "23", Nombre = "Cambiar a Receta 23"
- Todos se conectan al mismo nodo Function
Paso 6: Usarlo desde Otros Dispositivos
¡Ahora sí que se pone interesante! Cualquier dispositivo puede cambiar recetas enviando solicitudes web a su cámara.
6.1 Desde cualquier navegador web
Escriba lo siguiente en cualquier navegador de su red:
http://10.250.0.100:5001/pipeline/activate
Reemplace con la dirección IP de su cámara.
6.2 Desde la Línea de Comandos
Windows/macOS/Linux - cambie a la receta 15:
curl -X POST http://10.250.0.100:5001/pipeline/activate \
-H "Content-Type: application/json" \
-d '{"id": "15"}'
6.3 Desde PLCs y Otros Sistemas
La mayoría de los sistemas modernos pueden enviar solicitudes HTTP:
- PLCs de Siemens: Use bloques cliente HTTP
- Allen-Bradley: Use bloques de instrucción HTTP
- Python/C#/Java: Use bibliotecas HTTP estándar
- Aplicaciones personalizadas: Cualquier lenguaje de programación funciona
El formato de la solicitud es siempre el mismo:
- Método: POST
- URL:
http://[CAMERA_IP]:5001/pipeline/activate
- Cuerpo:
{"id": "RECIPE_NUMBER"}
Paso 7: Hágalo Aún Mejor
7.1 Añadir validación de recetas
¿Quiere evitar cambiar a recetas que no existen? Modifique su función:
let recipeID = msg.payload;
let validRecipes = ["10", "15", "20"]; // Your actual recipe IDs
if (!validRecipes.includes(recipeID)) {
msg.payload = "Invalid recipe: " + recipeID;
return null; // Don't send request
}
// Normal formatting continues...
7.2 Mapeo de códigos de producto
¿Quiere usar nombres de producto en lugar de números? Pruebe esto:
let productCodes = {
"BOLT_A": "10",
"BOLT_B": "15",
"SCREW_C": "20"
};
let recipeID = productCodes[msg.payload];
// Continue with formatting...
¡Ahora puede activar con nombres de producto en lugar de números!
7.3 Procesamiento de respuestas
¿Quiere mensajes de éxito/error más claros? Añada otra función después de HTTP Request:
let response = JSON.parse(msg.payload);
if (response.success) {
msg.payload = "✓ Recipe changed successfully!";
} else {
msg.payload = "✗ Recipe change failed: " + response.error;
}
return msg;
Paso 8: Solución rápida de problemas
¿No funciona? Aquí están las soluciones más comunes:
Problema | Solución rápida |
---|---|
"Receta no encontrada" | Verifique dos veces el número de ID de la receta en la URL |
Sin ninguna respuesta | Verifique la dirección IP de la cámara y la conexión de red |
“Error de análisis” | Verifique que el código del nodo Function se haya copiado correctamente |
La receta no cambia realmente | Asegúrese de que la receta exista y no esté dañada |
¿Aún bloqueado? Verifique que su cámara esté en línea y accesible desde Node-RED.
¡Lo logró!
¡Felicidades! Ahora tiene control remoto de la receta de su cámara OV80i. Con solo unos pocos clics, ha construido un sistema que puede:
- Cambiar recetas instantáneamente desde cualquier dispositivo en su red
- Integrarse con sistemas existentes como PLCs, tabletas o computadoras
- Soportar múltiples recetas con simples clics
- Validar solicitudes para evitar errores
- Trabajar con aplicaciones personalizadas usando tecnología web estándar
¿Qué sigue?
Ahora que tiene lo básico funcionando, puede:
Pasos siguientes fáciles
- Agregar más botones de receta para todos sus productos
- Probar desde diferentes dispositivos como tabletas o teléfonos
- Crear mapeos de productos personalizados para una operación más fácil
Ideas Avanzadas
- Construir tableros de operador con botones de selección de recetas
- Conectar a escáneres de código de barras para selección automática de recetas
- Integrar con sistemas MES para coordinación de la línea de producción
- Agregar registro para rastrear qué recetas se usan y cuándo
Ejemplos del mundo real
Así es como otros usan el cambio de receta por HTTP:
- Empaque de alimentos: El escáner de código de barras activa el cambio de receta para diferentes tamaños de paquete
- Automoción: El PLC cambia las recetas según el tipo de pieza que viene por la línea
- Electrónica: Tableta de operador con botones de receta para diferentes placas
- Control de calidad: Cambio automático de recetas según el programa de producción
Las posibilidades son infinitas; y todo empieza con el sistema sencillo que acaba de construir!