DOCUMENTACIÓN CON IA
¿Qué desea saber?
Cambio de Receta vía HTTP con Node-RED
Este tutorial le muestra cómo cambiar recetas de forma remota en su cámara OV10i usando solicitudes HTTP simples. Construirá un sistema que permite a cualquier dispositivo en su red cambiar entre diferentes configuraciones de inspección al instante, perfecto para líneas de producción con múltiples productos.
Lo que construirá: Un sistema de cambio remoto 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 habilidad: Principiante
Ejemplo real: Imagine 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 por HTTP Facilitan la Vida
El OV10i hace que el cambio remoto de recetas sea sencillo:
- Cualquier dispositivo puede activarlo - tabletas, PLCs, computadoras, incluso smartphones
- Cambio instantáneo - las recetas cambian en menos de un segundo
- Sin configuración compleja - solo unos cuantos nodos en Node-RED
- Funciona con sistemas existentes - se integra con lo que ya tiene
Perfecto para: Líneas multiproducto, paneles de control de operador, sistemas automatizados o cualquier lugar donde necesite cambios rápidos de receta.
Prerrequisitos
Antes de comenzar, asegúrese de tener:
- Cámara OV10i conectada y funcionando
- Al menos 2 recetas creadas y listas para usar
- Acceso a Node-RED (a través del Bloque IO)
Necesitará los números de ID de receta: estos se encuentran en la barra de direcciones de su navegador al editar recetas.
Paso 1: Encuentre sus Números de Receta
1.1 Obtener los IDs de Receta
- Abra cualquier receta en el editor de recetas
- Observe la barra de direcciones de su navegador
- Encuentre el número después de
/recipe/(ejemplo:/recipe/15significa que el ID de receta es 15) - Anote los IDs de todas las recetas entre las que desea cambiar
¿Por qué estos números? Cada receta tiene un ID único que nunca cambia; esto es lo que la cámara usa internamente.
Paso 2: Abra Node-RED
2.1 Acceda al Constructor de Flujo
- 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 cambio de recetas!
2.2 Planifique su Configuración
Esto es lo que vamos a construir:
Button Click → Format Request → Send to Camera → See Result
¡Simple! La cámara tiene un servidor web integrado que escucha las solicitudes de cambio de receta.
Paso 3: Construya su Cambiador 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) - Envía el comando a la cámara
- Debug (de la sección Output) - Muestra si funcionó
3.2 Conéctelos
Conéctelos entre sí así:
Inject → Function → HTTP Request → Debug
¡Fácil! Ahora configuremos 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 "Switch to Recipe 15" (use su ID de receta real)
- Establezca Payload a "15" (el número de ID de su receta)
- Haga clic en "Done"
4.2 Configure el Formateador de Solicitudes
- Haga doble clic en el nodo Function
- Nómbrelo "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 "Done"
Lo que hace: Toma su número de receta y lo empaqueta de la manera que la cámara espera.
4.3 Configure la Solicitud HTTP
- Haga doble clic en el nodo HTTP Request
- Establezca Method a "POST"
- Establezca URL a
localhost:5001/pipeline/activate - Nómbrelo "Change Recipe"
- Haga clic en "Done"
Antes de la versión 18.92: use http://[CAMERA_IP]/edge/pipeline/activate
Versión 18.92 y posteriores: use http://localhost:5001/pipeline/activate
4.4 Configure el Monitor de Respuesta
- Haga doble clic en el nodo Debug
- Nómbrelo "Recipe Change Result"
- Haga clic en "Done"
¡Perfecto! Su cambiador de recetas está listo para probar.
Paso 5: Pruebe su Cambiador de Recetas
5.1 Despliegue y Pruebe
- Haga clic en el botón rojo "Deploy"
- Haga clic en su botón inject (Switch to Recipe 15)
- Observe el panel de debug para ver la respuesta
5.2 Verifique si Funcionó
Señales de éxito:
- Debug muestra
"success": true - La interfaz de la cámara muestra el nombre de la nueva receta
- Sin mensajes de error en el panel de debug
Si funcionó: ¡Felicidades! Acaba de cambiar recetas de forma remota.
Si no: Consulte la sección de solución de problemas a continuación.
5.3 Agregue más Botones de Receta
¿Quiere múltiples recetas? Simplemente agregue más nodos inject:
- Botón Receta 10: Payload = "10", Name = "Switch to Recipe 10"
- Botón Receta 23: Payload = "23", Name = "Switch to Recipe 23"
- Todos se conectan al mismo nodo Function
Paso 6: Uso desde Otros Dispositivos
¡Ahora la parte divertida! Cualquier dispositivo puede cambiar recetas enviando solicitudes web a su cámara.
6.1 Desde Cualquier Navegador Web
Escriba esto en cualquier navegador de su red:
http://192.168.0.100:5001/pipeline/activate
Reemplace con la dirección IP de su cámara.
6.2 Desde Línea de Comandos
Windows/Mac/Linux - cambiar a la receta 15:
curl -X POST http://192.168.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 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 siempre es el mismo:
- Method: POST
- URL:
http://[CAMERA_IP]:5001/pipeline/activate - Body:
{"id": "RECIPE_NUMBER"}
Paso 7: Hágalo Aún Mejor
7.1 Agregar Validación de Receta
¿Quiere evitar cambiar a recetas inexistentes? 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 productos 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 productos en lugar de números!
7.3 Procesamiento de Respuestas
¿Quiere mejores mensajes de éxito/error? Agregue 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 |
|---|---|
| Error "Recipe not found" | Verifique nuevamente su número de ID de receta en la URL |
| Sin respuesta alguna | Verifique la dirección IP de la cámara y la conexión de red |
| Mensaje "Parse error" | 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é corrupta |
¿Aún atascado? Verifique que su cámara esté en línea y accesible desde Node-RED.
¡Lo Logró!
¡Felicidades! Ahora tiene control remoto de recetas en su cámara OV10i. Con solo unos cuantos clics, construyó un sistema que puede:
- Cambiar recetas al instante desde cualquier dispositivo en su red
- Integrarse con sistemas existentes como PLCs, tabletas o computadoras
- Soportar múltiples recetas con simples clics de botón
- Validar solicitudes para prevenir errores
- Trabajar con aplicaciones personalizadas usando tecnología web estándar
¿Qué Sigue?
Ahora que tiene lo básico funcionando, puede:
Próximos Pasos Sencillos
- 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 paneles de operador con botones de selección de receta
- Conectar a escáneres de códigos de barras para selección automática de receta
- Integrar con sistemas MES para coordinación de 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 recetas por HTTP:
- Empaque de Alimentos: El escáner de códigos de barras activa el cambio de receta para diferentes tamaños de paquete
- Automotriz: El PLC cambia recetas según el tipo de pieza que baja por la línea
- Electrónica: Tableta de operador con botones de receta para diferentes tarjetas de circuito
- Control de Calidad: Cambio automático de receta según el cronograma de producción
Las posibilidades son infinitas - ¡y todo comienza con el sistema simple que acaba de construir!