Saltar al contenido principal

Cambio de Recetas vía HTTP con Node-RED

Este tutorial le muestra cómo cambiar recetas de forma remota en su cámara OV20i mediante solicitudes HTTP simples. Construirá un sistema que permita a cualquier dispositivo en su red conmutar entre diferentes configuraciones de inspección al instante, perfecto para líneas de producción con múltiples productos.

Qué Vas 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 Habilidad: 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 vía HTTP facilitan la operación

La OV20i facilita el cambio remoto de recetas:

  • Cualquier dispositivo puede activar el cambio de receta: tabletas, PLCs, computadoras e incluso teléfonos inteligentes
  • Conmutación instantánea: las recetas cambian en menos de un segundo
  • Sin configuración compleja: solo unos pocos nodos en Node-RED
  • Funciona con sistemas existentes: se integra con lo que ya tiene

Perfecto para: líneas de múltiples productos, paneles de control del operador, sistemas automatizados, o cualquier lugar donde necesite cambios rápidos de receta.

Prerrequisitos

Antes de empezar, asegúrese de tener:

  • Cámara OV20i conectada y funcionando
  • Al menos 2 recetas creadas y listas para usar
  • Acceso a Node-RED (a través de IO Block)
nota

Necesitará los números de ID de receta; estos se encuentran en la barra de direcciones de su navegador al editar las recetas.

Paso 1: Encuentra tus Números de Receta

1.1 Obtener IDs de Receta

  1. Abre cualquier receta en el Editor de Recetas
  2. Mira la barra de direcciones de tu navegador
  3. Encuentra el número después de /recipe/ (ejemplo: /recipe/15 significa que el ID de Receta es 15)
  4. Anota los IDs para todas las recetas entre las que desees conmutar

¿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: Abrir Node-RED

2.1 Acceder al Flow Builder

  1. En cualquier Editor de Recetas, haz clic en "IO Block"
  2. Haz clic en "Configurar IO"

Ya estás en Node-RED, donde construiremos tu sistema de conmutación de recetas!

2.2 Planifica tu 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 las solicitudes de cambio de receta.

Paso 3: Construye tu Conmutador de Recetas

3.1 Añade los Nodos Básicos

Arrastra estos 4 nodos a tu lienzo:

  1. Inject (de la sección Input) - Tu botón "Cambiar a Receta"
  2. Function (de la sección Function) - Formatea la solicitud correctamente
  3. HTTP Request (de la sección Network) - Envía el comando a la cámara
  4. Debug (de la sección Output) - Muestra si funcionó

3.2 Conéctalos

Conéctalos así:

Inject → Function → HTTP Request → Debug

¡Fácil! Ahora configuremos cada uno.

Paso 4: Configura tus Nodos

4.1 Configura tu Botón de Receta

  1. Haz doble clic en el nodo Inject
  2. Cambia el nombre a "Cambiar a Receta 15" (usa tu ID de receta real)
  3. Establece la Carga en "15" (tu número de ID de receta)
  4. Haz clic en "Hecho"

4.2 Configura el Formateador de Solicitud

  1. Haz doble clic en el nodo Function
  2. Nómbralo "Formato de Solicitud"
  3. Copia 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. Haz clic en "Hecho"

Qué hace esto: Toma tu número de receta y lo empaqueta de la forma que espera la cámara.

4.3 Configura la Solicitud HTTP

  1. Haz doble clic en el nodo HTTP Request
  2. Establece el Método a "POST"
  3. Establece la URL a localhost:5001/pipeline/activate
  4. Nómbralo "Cambiar Receta"
  5. Haz clic en "Hecho"
nota

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 Configura el Monitor de Respuesta

  1. Haz doble clic en el nodo Debug
  2. Nómbralo "Resultado del Cambio de Receta"
  3. Haz clic en "Hecho"

¡Perfecto! Tu conmutador de recetas está listo para probar.

Paso 5: Prueba tu Conmutador de Recetas

5.1 Despliegue y Prueba

  1. Haz clic en el botón rojo "Desplegar"
  2. Haz clic en tu botón Inyectar (Cambiar a Receta 15)
  3. Observa el panel de depuración para la respuesta

5.2 Verifica si Funcionó

Señales de éxito:

  • La depuración muestra "success": true
  • La interfaz de la cámara muestra el nuevo nombre de la receta
  • No hay mensajes de error en el panel de depuración

Si funcionó: ¡Felicidades! Acaba de cambiar recetas de forma remota.

Si no: Verifique la sección de solución de problemas a continuación.

5.3 Añadir Más Botones de Receta

¿Quieres varias recetas? Simplemente añade más nodos Inject:

  • Botón de Receta 10: Carga = "10", Nombre = "Cambiar a Receta 10"
  • Botón de Receta 23: Carga = "23", Nombre = "Cambiar a Receta 23"
  • Todos conectados al mismo nodo Function

Paso 6: Usar desde Otros Dispositivos

¡Ahora sí que viene la parte divertida! Cualquier dispositivo puede cambiar recetas enviando solicitudes web a su cámara.

6.1 Desde Cualquier Navegador Web

Escribe esto en cualquier navegador de tu red:

http://192.168.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 - cambia a 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 de Siemens: Utilice bloques HTTP de cliente
  • Allen-Bradley: Utilice bloques de instrucción HTTP
  • Python/C#/Java: Utilice 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: Hazlo Aún Mejor

7.1 Añadir Validación de Recetas

¿Quieres evitar cambiar a recetas que no existen? Modifica tu 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

¿Quieres usar nombres de producto en lugar de números? Prueba esto:

let productCodes = {
"BOLT_A": "10",
"BOLT_B": "15",
"SCREW_C": "20"
};

let recipeID = productCodes[msg.payload];
// Continue with formatting...

¡Ahora puedes activar con nombres de producto en lugar de números!

7.3 Procesamiento de Respuestas

¿Quieres mejores mensajes de éxito/errores? Añade 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? Estas son las correcciones más comunes:

ProblemaSolución rápida
**"Receta no encontrada" errorVerifique de nuevo el número de ID de receta en la URL
Sin ninguna respuestaVerifique la dirección IP de la cámara y la conexión de red
Mensaje de "Parse error"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 atascado? Verifique que su cámara esté en línea y accesible desde Node-RED.

¡Lo lograste!

¡Felicidades! Ahora tienes control remoto de recetas de tu cámara OV20i. Con solo unos pocos clics, has construido 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 las solicitudes para prevenir errores
  • Trabajar con aplicaciones personalizadas usando tecnología web estándar

¿Qué sigue?

Ahora que ya tienes lo básico funcionando, puedes:

Siguientes pasos fáciles

  • Agregar más botones de receta para todos tus productos
  • Probar desde diferentes dispositivos como tabletas o teléfonos
  • Crear mapeos de productos personalizados para una operación más sencilla

Ideas avanzadas

  • Construir paneles de operador con botones de selección de receta
  • 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 utilizan y cuándo

Ejemplos del mundo real

Así es como otros utilizan el cambio de receta vía HTTP:

  • Embalaje de alimentos: El escáner de código de barras activa el cambio de receta para diferentes tamaños de paquete
  • Automotriz: El PLC cambia las recetas en función del tipo de pieza que llega a la línea
  • Electrónica: Tableta del operador con botones de receta para diferentes placas de circuito
  • Control de Calidad: Cambio automático de receta basado en el programa de producción

Las posibilidades son infinitas; y todo empieza con el simple sistema que acabas de construir!

🔗 Ver también