Saltar al contenido principal

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 OV20i utilizando solicitudes HTTP sencillas. Construirá un sistema que permite a cualquier dispositivo de 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 vía HTTP facilitan la vida​

El OV20i simplifica el cambio remoto de recetas:

  • Cualquier dispositivo puede activarlo - tabletas, PLCs, computadoras, incluso teléfonos inteligentes
  • Cambio instantáneo - 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 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 OV20i conectada y funcionando
  • Al menos 2 recetas creadas y listas para usar
  • Acceso a Node-RED (a través del Bloque IO)
nota

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 los números de sus recetas​

1.1 Obtenga los 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 receta es 15)
  4. 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 flujos​

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

¡Sencillo! La cámara tiene un servidor web integrado que escucha las 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) - Da el formato correcto a la solicitud
  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éctelos​

Conéctelos entre sí de esta manera:

Inject → Function → HTTP Request → Debug

¡Fácil! Ahora configuremos 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 "Switch to Recipe 15" (use su ID de receta real)
  3. Establezca Payload en "15" (su número de ID de receta)
  4. Haga clic en "Done"

4.2 Configure el formateador de solicitud​

  1. Haga doble clic en el nodo Function
  2. Nómbrelo "Format Request"
  3. Copie este código sencillo:
// 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 "Done"

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

4.3 Configure la solicitud HTTP​

  1. Haga doble clic en el nodo HTTP Request
  2. Establezca Method en "POST"
  3. Establezca URL en localhost:5001/pipeline/activate
  4. Nómbrelo "Change Recipe"
  5. Haga clic en "Done"
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 Configure el monitor de respuesta​

  1. Haga doble clic en el nodo Debug
  2. Nómbrelo "Recipe Change Result"
  3. Haga clic en "Done"

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

Paso 5: Pruebe su conmutador de recetas​

5.1 Despliegue y pruébelo​

  1. Haga clic en el botón rojo "Deploy"
  2. Haga clic en su botón inject (Switch to Recipe 15)
  3. Observe el panel de depuración 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 nuevo nombre de receta
  • No hay mensajes de error en el panel de depuración

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 de receta 10: Payload = "10", Nombre = "Switch to Recipe 10"
  • Botón de receta 23: Payload = "23", Nombre = "Switch to Recipe 23"
  • Todos se conectan al mismo nodo Function

Paso 6: Úselo 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

nota

Reemplace con la dirección IP de su cámara.

6.2 Desde la 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 de 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:

  • Método: POST
  • URL: http://[CAMERA_IP]:5001/pipeline/activate
  • Cuerpo: {"id": "RECIPE_NUMBER"}

Paso 7: Hágalo aún mejor​

7.1 Agregue 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:

ProblemaSolución rápida
Error "Recipe not found"Verifique dos veces el número de ID de receta en la URL
Sin respuesta algunaVerifique 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 esté copiado correctamente
La receta en realidad no cambiaAsegú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 logró!​

¡Felicidades! Ahora tiene control remoto de recetas de su cámara OV20i. Con solo unos pocos clics, construyó un sistema que puede:

  • Cambiar recetas al instante desde cualquier dispositivo de su red
  • Integrarse con sistemas existentes como PLCs, tabletas o computadoras
  • Admitir múltiples recetas con simples clics de botón
  • Validar solicitudes para prevenir errores
  • Trabajar con aplicaciones personalizadas utilizando tecnología web estándar

¿Qué sigue?​

Ahora que tiene los conceptos básicos funcionando, puede:

Próximos pasos fáciles​

  • Agregar más botones de receta para todos sus productos
  • Probar desde diferentes dispositivos como tabletas o teléfonos
  • Crear asignaciones de productos personalizadas para una operación más fácil

Ideas avanzadas​

  • Construir paneles de operador con botones de selección de recetas
  • Conectar a escáneres de códigos 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 recetas por HTTP:

  • Empaque de alimentos: Un escáner de códigos de barras activa el cambio de receta para diferentes tamaños de empaque
  • Automotriz: Un PLC cambia recetas según el tipo de pieza que baja por la línea
  • Electrónica: Tableta del operador con botones de receta para diferentes placas de circuitos
  • Control de calidad: Cambio automático de receta basado en el programa de producción

Las posibilidades son infinitas - ¡y todo comienza con el sistema sencillo que acaba de construir!

🔗 Vea también​