Envío de correo electrónico con Node-RED
Este tutorial le muestra cómo configurar notificaciones automáticas por correo electrónico desde su cámara OV20i utilizando Node-RED. Aprenderá a configurar la integración con Gmail y a crear flujos que envíen alertas de inspección, actualizaciones de estado del sistema y notificaciones de fallos directamente a su correo.
Lo que construirás: Un sistema de correo automatizado que envía resultados de inspección de OV20i, alertas y notificaciones a destinatarios especificados usando Gmail SMTP.
Aplicación en el mundo real: Reciba alertas por correo al instante cuando las inspecciones fallen, envíe informes diarios de calidad a la gerencia o notifique a los equipos de mantenimiento sobre problemas del sistema, todo automáticamente desde su sistema de visión.
Prerrequisitos
- Cámara OV20i con acceso a Node-RED
- Cuenta de Gmail para enviar correos
- Conocimientos básicos de flujos de Node-RED
- Acceso a la configuración de seguridad de la cuenta de Google
Descripción general del tutorial
Qué vamos a construir: Un flujo de Node-RED que envía automáticamente notificaciones por correo con resultados de inspección y alertas del sistema.
Tiempo requerido: 20-30 minutos (incluida la configuración de Gmail)
Habilidades adquiridas: Configuración de la contraseña de la app de Gmail, configuración SMTP, notificaciones automáticas por correo
Paso 1: Configurar la Contraseña de la App de Gmail
1.1 Habilitar la verificación en dos pasos
- Inicie sesión en su cuenta de Google en accounts.google.com
- Haga clic en "Seguridad" en el menú de navegación de la izquierda
- Encuentre la sección "Iniciar sesión en Google"
- Haga clic en "Verificación en dos pasos"
- Siga las indicaciones para habilitar la Verificación en dos pasos si aún no está habilitada
La Verificación en dos pasos es requerida antes de que puedas crear contraseñas de aplicación.
1.2 Generar Contraseña de la Aplicación
- Regrese a la página Seguridad después de habilitar la Verificación en dos pasos
- Haga clic en "Contraseñas de la aplicación" (bajo "Iniciar sesión en Google")
- Seleccione "Mail" como tipo de aplicación
- Seleccione "Otro" como tipo de dispositivo
- Ingrese un nombre como "OV20i Node-RED Email"
- Haga clic en "Generar"
1.3 Guarde su Contraseña de la Aplicación
- Copie la contraseña de 16 caracteres que Google muestra
- Guárdela de forma segura - la necesitará para la configuración de Node-RED
- Nota: Esta contraseña se muestra una sola vez. Si la pierde, genere una nueva
Punto de control: Debe tener una contraseña de la app de Gmail de 16 caracteres guardada para uso en Node-RED.
Paso 2: Instalar nodos de correo (si es necesario)
2.1 Verifique la presencia de nodos de correo
- Abra Node-RED en su cámara OV20i
- Busque en la paleta izquierda un nodo "email" en la sección de salida
- Si falta, deberá instalar el paquete de correo (node-red-node-email)
2.2 Instalar Paquete de correo (si es necesario)
- Haga clic en el menú hamburguesa (≡) en Node-RED
- Seleccione "Manage palette"
- Haga clic en la pestaña "Install"
- Busque "node-red-node-email"
- Haga clic en "Install" junto al paquete
Paso 3: Crear Flujo Básico de Correo
3.1 Agregar nodos requeridos
- Navegue a IO Block > Configure I/O para acceder a Node-RED
- Arrastre estos nodos desde la paleta a su lienzo:
- Nodo Inject (para pruebas)
- Nodo Email (de la sección de salida)
- Conecte la salida del Inject a la entrada del Email
3.2 Estructura básica del flujo
Inject → Email
Propósito del flujo: Envío de correo simple para pruebas y notificaciones básicas.
Paso 4: Configurar el Contenido del Correo
4.1 Configurar el Nodo de Inyección
- Haz doble clic en el nodo de inyección para abrir las propiedades
- Configurar la payload:
- Payload type: "string"
- Payload value: Tu texto del cuerpo del correo (p. ej., "Inspection alert from OV20i")
- Agregar asunto del correo:
-
Click "+ add" para agregar una propiedad
-
Property name: "topic"
-
Property value: El asunto de tu correo (p. ej., "OV20i Inspection Alert")
-
4.2 Ejemplo de Configuración Básica
Payload (email body):
Inspection completed at Station 1
Status: Alert triggered
Time: Check timestamp for details
Topic (email subject):
OV20i Inspection Alert - Station 1
4.3 Guardar la Configuración de Inject
- Asigne un nombre al nodo como "Email Trigger"
- Click "Done" para guardar la configuración
Paso 5: Configurar Configuración SMTP de Email
5.1 Configurar Nodo de Email
- Haz doble clic en el nodo de email para abrir las propiedades
- Configurar ajustes básicos:
- Name: "Send Alert Email" (o un nombre descriptivo)
- To: Dirección de correo del destinatario (p. ej., quality@company.com)
5.2 Configurar Gmail SMTP
- Server:
smtp.gmail.com
- Port:
465
- Marque "Use secure connection"
- Auth type:
Basic
- Userid: Tu dirección de Gmail completa (p. ej., alerts@company.com)
- Password: La contraseña de la app de 16 caracteres de la Paso 1
5.3 Configuración de Seguridad
- Marque "Check server certificate is valid"
- Verifique que todas las configuraciones estén ingresadas correctamente
- Click "Done" para guardar la configuración del nodo de correo
Checkpoint: Tu nodo de correo no debería mostrar indicadores de error y debe mostrar la dirección del destinatario.
Paso 6: Probar tu Flujo de Correo
6.1 Desplegar y Probar
- Click "Deploy" botón en la esquina superior derecha
- Esperar el mensaje "Successfully deployed"
- Haga clic en el botón del nodo de inject (cuadrado gris en el lado izquierdo)
6.2 Verificar la Entrega del Correo
- Verifique el correo del destinatario para el mensaje de prueba
- Verifique la carpeta de spam si el correo no aparece en la bandeja de entrada
- Busque mensajes de error en el panel de depuración de Node-RED
6.3 Solucionar Problemas si es Necesario
Problemas comunes:
- Contraseña de la app incorrecta: Regenerar la contraseña de la app de Gmail
- Configuración SMTP: Verifique que el servidor y el puerto sean correctos
- Firewall: Asegúrese de que el tráfico SMTP saliente esté permitido
Paso 7: Integración con los Resultados de la Inspección
7.1 Conectar al Flujo de Inspección
Para enviar correos según los resultados de la inspección:
- Encuentre su flujo de inspección principal (empieza con "All Block Outputs")
- Agregue su flujo de correo como una rama desde el procesamiento de inspección
- Conecte después de la lógica de inspección, pero en paralelo con los resultados finales
7.2 Flujo de Integración de Ejemplo
All Block Outputs → [Inspection Logic] → Final Pass/Fail
↓
Format Email → Send Email
7.3 Contenido dinámico del correo
Reemplace el nodo inject por un nodo function para contenido dinámico:
// Dynamic email based on inspection results
const result = msg.payload.result ? "PASSED" : "FAILED";
const timestamp = new Date().toLocaleString();
const station = global.get("station_name") || "Unknown Station";
// Set email subject
msg.topic = `Inspection ${result} - ${station}`;
// Set email body
msg.payload = `Inspection Report:
Status: ${result}
Station: ${station}
Time: ${timestamp}
Image: ${msg.payload.image_url || "No image available"}
Please review and take appropriate action.`;
return msg;
Paso 8: Ejemplo de flujo completo
8.1 Importar flujo listo para usar
Puede importar este flujo JSON completo:
[
{
"id": "email_node_1",
"type": "e-mail",
"name": "Send Inspection Alert",
"server": "smtp.gmail.com",
"port": "465",
"secure": true,
"authtype": "BASIC",
"to": "quality@company.com"
},
{
"id": "format_email",
"type": "function",
"name": "Format Email Content",
"func": "const result = msg.payload.result ? 'PASSED' : 'FAILED';\nmsg.topic = `Inspection ${result}`;\nmsg.payload = `Status: ${result}\\nTime: ${new Date()}`;\nreturn msg;"
}
]
8.2 Personalice para sus necesidades
- Actualice las direcciones de correo para su organización
- Modifique el contenido del correo para sus requisitos específicos
- Ajuste la sincronización y las condiciones de disparo
- Pruebe a fondo antes de la implementación en producción
Solución de problemas
Problemas comunes
Problema | Síntomas | Solución |
---|---|---|
Autenticación fallida | Errores de "Login failed" | Verifique que la contraseña de la app sea correcta y que la verificación en dos pasos esté habilitada |
Tiempo de espera de la conexión | No se envía correo, errores de tiempo de espera | Verifique la configuración del firewall, verifique el servidor SMTP y el puerto |
Correos en spam | Correos entregados pero en la carpeta de spam | Agregar remitente a la lista segura, mejorar el contenido del correo |
Flujo no se dispara | No hay salida de depuración | Verifique las conexiones del flujo y las condiciones de disparo |
Depure su flujo de correo electrónico
- Agregue nodos de depuración después de cada paso para rastrear datos
- Verifique los logs de Node-RED para mensajes de error detallados
- Pruebe la configuración SMTP con clientes de correo externos si es necesario
- Verifique la conectividad de red desde la cámara a los servidores de Gmail
¡Éxito! La integración de correo está completa
La cámara OV20i ahora puede:
✅ Enviar notificaciones automáticas por correo de los resultados de la inspección
✅ Entregar mensajes con formato enriquecido con los detalles de la inspección
✅ Soportar múltiples destinatarios y flujos de escalamiento
✅ Proporcionar informes programados y resúmenes
✅ Gestionar mensajes condicionados basados en los resultados de la inspección
Mejores Prácticas
Gestión de correo
- Usar asuntos descriptivos con indicadores de estado claros
- Mantenga los mensajes concisos pero informativos
- Incluir marcas de tiempo e identificadores de estación
- Proporcionar información accionable en notificaciones
Seguridad y Fiabilidad
- Proteja las contraseñas de la app; almacénelas de forma segura y rotarlas regularmente
- Utilice cuentas de correo dedicadas para notificaciones del sistema
- Pruebe la entrega de correo regularmente para garantizar la confiabilidad
- Monitoree las fallas de entrega y tenga métodos de notificación de respaldo
Consideraciones de Rendimiento
- Limite la frecuencia de correos electrónicos para evitar que sean marcados como spam
- Utilice listas de destinatarios adecuadas para diferentes tipos de alertas
- Implemente la limitación de tasa para sistemas de alto volumen
- Considere el tamaño de los correos electrónicos al adjuntar archivos grandes
Próximos Pasos
Después de configurar las notificaciones por correo electrónico:
- Crear plantillas de correo electrónico para diferentes tipos de alertas
- Configurar listas de distribución para las distintas partes interesadas
- Implementar flujos de escalamiento para problemas críticos
- Crear informes programados para la gerencia
- Integrar con otros sistemas de notificación (SMS, Teams, etc.)