Tabla de contenido:
- Paso 1:
- Paso 2:
- Paso 3:
- Paso 4:
- Paso 5:
- Paso 6:
- Paso 7:
- Paso 8:
- Paso 9:
- Paso 10:
- Paso 11:
- Paso 12:
- Paso 13:
- Paso 14:
- Paso 15:
- Paso 16:
Video: Reciba un correo electrónico de notificación cuando un canal en ThingSpeak no se actualizó durante un tiempo: 16 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Historia de fondo
Tengo seis invernaderos automatizados repartidos por Dublín, Irlanda. Al usar una aplicación de teléfono móvil personalizada, puedo monitorear e interactuar de forma remota con las funciones automatizadas en cada invernadero. Puedo abrir / cerrar las ventanas manualmente cuando la temperatura es demasiado alta / baja; Puedo iniciar / detener el riego cuando la humedad del suelo es demasiado baja / alta; y puedo encender / apagar el ventilador de ventilación cuando la humedad del aire es demasiado alta / baja. O simplemente puedo cambiar el sistema al modo automático, y el cerebro Arduino se encargará de las verduras. Puede encontrar más detalles sobre este proyecto aquí:
La conexión remota a las placas Arduino en los seis invernaderos es posible con la ayuda de dongles USB GPRS, uno en cada ubicación (compré el mío desde aquí https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-Con-Antena-3G-Módem-USB-21-6-Mbps-HSPA-Mobile / 32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Como es el caso de la conexión de datos móviles (al menos en Dublín), se cae al azar, a veces durante unos minutos, a veces puede ser durante un par de horas. Si la conexión se cae, el Arduino está programado para reiniciar el dongle USB cada 10 minutos, para que intente iniciar una nueva conexión. A veces, sin embargo, debido a razones (aún) desconocidas, incluso si la conexión de datos GPRS está nuevamente activada, el Arduino (y el escudo Ethernet adjunto) no se da cuenta del evento. Este es el momento en el que necesito ir a esa ubicación específica y restablecer manualmente todo el sistema.
Cuando la conexión de datos se cae en algún lugar, quería que me notificaran por correo electrónico lo antes posible, para poder vigilar esa ubicación específica. Como la comunicación entre la aplicación del teléfono y Arduino se lleva a cabo a través de un servicio en línea proporcionado por https://thingspeak.com, hasta hace poco (y hasta el 31 de marzo de 2019), esto era posible mediante el uso de otro servicio proporcionado por https:// ifttt.com/discover, y estableciendo un ThingHTTP y un React en cada canal, monitoreando el hecho de si ese canal en particular no se ha actualizado durante algún tiempo. Sin embargo, según un correo electrónico que recibí de Google, a partir del 31 de marzo de 2019, debido al incumplimiento de sus requisitos de privacidad de datos actualizados (https://cloud.google.com/blog/products/g-suite/elevating-user -confianza-en-nuestros-ecosistemas-api), el acceso a algunos datos en mi cuenta de Google ya no estará disponible para IFTTT, y como en mi caso, el correo electrónico era el único recurso al que tenía acceso IFTTT, entendí que la notificación el servicio descrito anteriormente dejaría de funcionar.
Por lo tanto, aquí estamos, implementando una solución alternativa para que las notificaciones por correo electrónico sigan llegando cuando la conexión de datos en mis ubicaciones se interrumpe. Esto todavía usa las funciones ThingHTTP y React en mis canales, solo el enlace a IFTTT se volvió a apuntar a Google Drive. Entonces, aparte del hardware (Arduino en mi caso) que pueda tener comunicándose con su cuenta de ThingSpeak, necesitará crear una cuenta de Google, que en caso de que aún no tenga una… ¡y comencemos!
Paso 1:
En Google Drive
Primero, en Google Drive (https://drive.google.com) necesitamos crear una hoja de cálculo y un formulario simple. Abra su Google Drive y haga clic en Nuevo - Hojas de cálculo de Google - Hoja de cálculo en blanco.
Paso 2:
Cambié el nombre de la mía "Ubicación abajo de la hoja de cálculo". Luego vaya a Herramientas - Crear un formulario.
Paso 3:
Cambié el nombre del formulario como "Formulario de ubicación abajo", y cambié "Pregunta sin título" a "Estado", y el tipo de "Opción múltiple" a "Respuesta corta".
Paso 4:
Luego eliminé la opción para recopilar direcciones de correo electrónico: haga clic en "Cambiar configuración" y desmarqué todas las opciones en la ventana que apareció. Haga clic en "Guardar".
Paso 5:
Cierre la pestaña del navegador actual que contiene su formulario y debería volver a la pestaña principal de Google Drive, donde debería tener tanto el formulario como la hoja de cálculo que acaba de crear. Abra la hoja de cálculo y vaya a "Archivo - Compartir …". En la nueva ventana, haga clic en "Avanzado"
Paso 6:
A continuación, haga clic en "Cambiar …" junto a la etiqueta "Privado: solo usted puede acceder".
Paso 7:
y cambie a "Activado: cualquier usuario con el vínculo" y también a "Puede editar"
Paso 8:
Haga clic en "Guardar" y "Listo" para volver a su hoja de cálculo. Una vez allí, haga clic en "Archivo - Publicar en la web …", y luego haga clic en "Publicar" y "Aceptar" para la ventana de diálogo. Cierre la ventana "Publicar en la web".
Mientras todavía está en la hoja de cálculo, haga clic en "Formulario - Ir al formulario en vivo". Haga clic con el botón derecho del mouse (estoy usando el navegador Google Chrome) y elija "Ver código fuente de la página".
Paso 9:
En la nueva página que se abre, busque "acción de formulario" y luego ubique el enlace que se parece a https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Seleccione ese enlace, cópielo y péguelo en algún documento de texto. Lo usará para formar el enlace final que debe ingresarse en ThingHTTP para ThingSpeak.
Paso 10:
Regrese a la vista de origen de su formulario y ahora busque "entrada". Busque y seleccione el texto completo, algo así como "entrada. XXXXX". Cópielo y péguelo en el mismo documento de texto que el anterior. Ahora puede cerrar la vista de origen de su formulario de Google.
Paso 11:
En el nuevo documento de texto (donde ahora tiene el enlace y la entrada que pegamos antes), cree el enlace final, que debería verse así
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = UBICACIÓN + NOMBRE & enviar = Enviar
En mi caso, "UBICACIÓN + NOMBRE" sería reemplazado por el nombre real de cada ubicación en particular que necesito monitorear. El correo electrónico de notificación por correo electrónico que recibiré cuando la conexión se interrumpa contendrá este texto, para que sepa exactamente qué ubicación tiene problemas. De hecho, este texto se enviará como contenido de texto breve para el campo "estado" en el formulario de Google. El "& submit = Submit" enviará el formulario silenciosamente, sin la necesidad de realizar ninguna otra acción, cuando ThingHTTP y React lo invoquen.
Finalmente, necesitamos agregar un script que enviará automáticamente una notificación por correo electrónico cada vez que se agregue una nueva entrada en la hoja de cálculo. Abra la hoja de cálculo y luego haga clic en "Herramientas - Editor de secuencias de comandos". En la nueva ventana que se abre, agregue el siguiente código (con los cambios necesarios para reflejar sus necesidades):
función newEntryNotification (e)
{
tratar
{
var timestamp = e.values [0];
var ubicación = e.values [1];
var mensaje = ubicación + 'la ubicación está ABAJO / n' + marca de tiempo;
MailApp.sendEmail ("SU DIRECCIÓN DE CORREO ELECTRÓNICO", "¡Atención, ubicación ABAJO!", Mensaje);
}
atrapar (e)
{
MailApp.sendEmail ("SU DIRECCIÓN DE CORREO ELECTRÓNICO", "Error - ¡Atención, ubicación ABAJO!", Mensaje electrónico);
}
}
Reemplace el texto "SU DIRECCIÓN DE CORREO ELECTRÓNICO" por la dirección de correo electrónico a la que debe enviarse la notificación y el mensaje de notificación real, si así lo desea.
Paso 12:
Este script debe activarse cuando se agregó una nueva entrada en la hoja de cálculo. Mientras está en la misma ventana (con el código de secuencia de comandos anterior), haga clic en el icono "cronómetro" en la barra de herramientas - "Activadores del proyecto actual". Se le pedirá que nombre su proyecto (llamé al mío "locationDown"), y se abrirá otra pestaña del navegador, informando que no se encontraron resultados (no activadores). Haga clic en "crear un nuevo disparador".
Paso 13:
En la nueva ventana, elija "De la hoja de cálculo" para "Seleccionar origen del evento"; "Al enviar el formulario" para "Seleccionar tipo de evento"; "Notificarme inmediatamente" para "Configuración de notificación de fallas". Haga clic en "Guardar". Se le pedirá que inicie sesión en su cuenta de Google y "Permitir" para que este activador acceda a su cuenta cuando sea necesario.
Paso 14:
Ahora debería tener un disparador en la lista de disparadores, que estará vinculado al script que creamos anteriormente. Por lo tanto, al insertar nuevos datos en la hoja de cálculo (utilizando el enlace del formulario automatizado y el método silencioso descrito anteriormente), el activador llamará inmediatamente al script, que enviará una notificación a la dirección de correo electrónico proporcionada, que contiene el mensaje elegido.
Hemos terminado en el lado de Google Drive y ahora nos estamos moviendo a ThingSpeak.
Paso 15:
En ThingSpeak Inicie sesión en su cuenta (https://thingspeak.com/login), vaya a "Aplicaciones - ThingHTTP" y luego haga clic en "New ThingHTTP". Asígnele un nombre (he elegido el nombre real de cada ubicación; "MyLocationName" para el propósito de este tutorial), y en el campo "URL", pegue el enlace de su archivo de texto, el que parece
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = UBICACIÓN + NOMBRE & enviar = Enviar
Deje todos los demás campos como están y haga clic en "Guardar ThingHTTP".
Paso 16:
Luego vaya a "Aplicaciones - Reaccionar" y haga clic en "Nueva reacción". Ponle un nombre (de nuevo, he elegido el nombre de la ubicación seguido de la palabra "reaccionar", pero puedes elegir el nombre que quieras); "Sin verificación de datos" para "Tipo de condición"; "Cada 10 minutos" para "Frecuencia de prueba"; el nombre del canal que desea monitorear para actualizaciones, para "If Channel"; la hora en que el canal no se ha actualizado (he elegido 15 minutos), porque "no se ha actualizado durante"; "ThingHTTP" para "Acción"; "MyLocationName" para "luego realizar ThingHTTP"; "Ejecutar la acción solo la primera vez que se cumpla la condición", ya que solo quiero recibir una notificación una vez. Esto se restablecerá cuando el canal se actualice nuevamente con nuevos datos entrantes. Haga clic en "Guardar React" y ya está.
A partir de ahora, cuando su canal no se haya actualizado durante 15 minutos (u otro tiempo, dependiendo de lo que haya elegido), React detectará esa excepción que activará ThingHTTP, que a su vez creará silenciosamente una nueva entrada en su hoja de cálculo. El disparador y el script en la hoja de cálculo de Google lo tomarán desde allí, como ya se explicó anteriormente.
Recomendado:
¡Cifre su correo electrónico de Gmail !: 6 pasos (con imágenes)
¡Encripte su correo electrónico de Gmail !: Si desea asegurarse de que nadie más que usted pueda leer su correo electrónico, entonces debe estar encriptado. Le sorprendería saber quién querría leer su correo electrónico. Yo era Uno de los mejores sistemas de cifrado se llama cifrado GPG que es un abierto
Reciba notificaciones por correo electrónico de sus proyectos de IoT: 6 pasos
Reciba notificaciones por correo electrónico de sus proyectos de IoT: programe notificaciones por correo electrónico que conecten sus proyectos de IoT con Adafruit IO e IFTTT. He publicado algunos proyectos de IoT. Espero que las hayas visto, si no te invito a mi perfil y las revisas. Quería recibir algunas notificaciones cuando una variable
Reciba alertas por correo electrónico desde el sistema de seguridad de su hogar usando Arduino: 3 pasos
Reciba alertas de correo electrónico desde el sistema de seguridad de su hogar usando Arduino: Con Arduino, podemos adaptar fácilmente la funcionalidad básica de correo electrónico en prácticamente cualquier instalación de sistema de seguridad existente. Esto es particularmente adecuado para sistemas más antiguos que probablemente hayan estado desconectados durante mucho tiempo de un servicio de monitoreo
Notificación por correo electrónico de detección de movimiento para DVR o NVR: 4 pasos
Notificación por correo electrónico de detección de movimiento para DVR o NVR: en este instructivo, le mostraremos cómo configurar las notificaciones por correo electrónico de detección de movimiento en su DVR o NVR. Casi todo el que irrumpe en un edificio sabe que la gente ha recurrido a la instalación de sistemas de CCTV para proteger sus pertenencias
Cómo reenviar su correo TIGERweb a su cuenta de correo electrónico: 5 pasos
Cómo reenviar su correo de TIGERweb a su cuenta de correo electrónico: Seamos realistas, es difícil verificar el correo de TIGERweb. Microsoft Outlook Web Access es lento, defectuoso y, en general, desagradable de usar. Ahí es donde entra en juego este tutorial. Una vez que haya terminado aquí, es de esperar que pueda verificar toda su TIGERweb e-ma