Saltar al contenido principal

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

  1. Abra cualquier receta en el Editor de Recetas
  2. Mire la barra de direcciones de su navegador
  3. Encuentre el número después de /recipe/ (ejemplo: /recipe/15 significa que el ID de la Receta es 15)
  4. 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

  1. En cualquier Editor de Recetas, haga clic en "IO Block"
  2. 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:

  1. Inject (de la sección Input) - Su botón de "cambiar receta"
  2. Function (de la sección Function) - Formatea la solicitud correctamente
  3. HTTP Request (de la sección Network) - Envia la orden a la cámara
  4. 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

  1. Haga doble clic en el nodo Inject
  2. Cambie el nombre a "Cambiar a Receta 15" (utilice su ID de receta real)
  3. Establezca Payload en "15" (el ID de su receta)
  4. Haga clic en "Hecho"

4.2 Configure el Formateador de Solicitudes

  1. Haga doble clic en el nodo Function
  2. Nómbralo "Format Request"
  3. 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;

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

  1. Haga doble clic en el nodo HTTP Request
  2. Establezca el Método en "POST"
  3. Establezca la URL en localhost:5001/pipeline/activate
  4. Nómbralo "Change Recipe"
  5. 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

  1. Haga doble clic en el nodo Debug
  2. Nómbralo "Resultado del Cambio de Receta"
  3. 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

  1. Haga clic en el botón rojo 'Deploy'
  2. Haga clic en su botón Inject (Cambiar a Receta 15)
  3. 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:

ProblemaSolución rápida
"Receta no encontrada"Verifique dos veces el número de ID de la receta en la URL
Sin ninguna respuestaVerifique 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 realmenteAsegú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!

🔗 Ver También