Taula de continguts:

Rebeu un correu electrònic de notificació quan un canal de ThingSpeak no s'ha actualitzat durant un temps: 16 passos
Rebeu un correu electrònic de notificació quan un canal de ThingSpeak no s'ha actualitzat durant un temps: 16 passos

Vídeo: Rebeu un correu electrònic de notificació quan un canal de ThingSpeak no s'ha actualitzat durant un temps: 16 passos

Vídeo: Rebeu un correu electrònic de notificació quan un canal de ThingSpeak no s'ha actualitzat durant un temps: 16 passos
Vídeo: Com accedir a les notificacions electròniques quan es rep el correu d’avís 2024, De novembre
Anonim
Rebeu un correu electrònic de notificació quan un canal de ThingSpeak no s'ha actualitzat durant un temps
Rebeu un correu electrònic de notificació quan un canal de ThingSpeak no s'ha actualitzat durant un temps

Història de fons

Tinc sis hivernacles automatitzats repartits per Dublín, Irlanda. En utilitzar una aplicació de telèfon mòbil personalitzada, puc supervisar i interactuar de manera remota amb les funcions automatitzades de cada hivernacle. Puc obrir / tancar manualment les finestres quan la temperatura és massa alta / baixa; Puc iniciar / aturar el reg quan la humitat del sòl és massa baixa / alta; i puc engegar / aturar el ventilador quan la humitat de l’aire és massa alta / baixa. O simplement puc canviar el sistema al mode Automàtic, i el cervell Arduino tindrà cura de les verdures. Podeu trobar més detalls sobre aquest projecte aquí:

La connexió remota a les plaques Arduino als sis hivernacles es fa possible amb l'ajut de dongles USB GPRS, un a cada ubicació (he comprat el meu des d'aquí https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-With-Antenna-3G-USB-Modem-21-6-Mbps-HSPA-Mobile / 32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Com és el cas de la connexió de dades mòbils (almenys a Dublín), cau aleatòriament, de vegades durant uns minuts, de vegades pot ser durant un parell d’hores. En cas de caiguda de la connexió, l'Arduino està programat per restablir el dongle USB cada 10 minuts perquè intenti iniciar una nova connexió. De vegades, però, per motius (encara) desconeguts, fins i tot si la connexió de dades GPRS torna a estar activada, l'Arduino (i el blindatge Ethernet adjunt) no prenen nota de l'esdeveniment. Aquest és el moment en què necessito anar a aquesta ubicació específica i restablir manualment tot el sistema.

Quan la connexió de dades caigui en algun lloc, volia que em notifiquessin per correu electrònic el més aviat possible, de manera que estigués atent a aquesta ubicació específica. Com que la comunicació entre l'aplicació de telèfon i l'Arduino es realitza a través d'un servei en línia proporcionat per https://thingspeak.com, fins fa poc (i fins al 31 de març de 2019), això era possible mitjançant un altre servei proporcionat per https:// ifttt.com/discover, i establint un ThingHTTP i un React a cada canal, supervisant el fet de si aquest canal concret no s'ha actualitzat des de fa temps. Tanmateix, segons un correu electrònic que he rebut de Google, a partir del 31 de març de 2019, a causa de l'incompliment dels seus requisits actualitzats de privadesa de dades (https://cloud.google.com/blog/products/g-suite/elevating-user -confiança en els nostres ecosistemes API), l’accés a algunes dades del meu compte de Google ja no estarà disponible per a IFTTT i, com en el meu cas, el correu electrònic era l’únic recurs al qual tenia accés IFTTT, entengué que la notificació el servei descrit anteriorment deixaria de funcionar.

Per tant, aquí som, implementem una solució alternativa perquè les notificacions per correu electrònic continuïn arribant quan la connexió de dades a les meves ubicacions caigui. Això encara utilitza les funcions ThingHTTP i React als meus canals, només l’enllaç a IFTTT es va tornar a apuntar a Google Drive. Així que, a part del maquinari (Arduino en el meu cas), és possible que us comuniqueu amb el vostre compte de ThingSpeak, haureu de crear un compte de Google, per si no en teniu cap … i comencem!

Pas 1:

Imatge
Imatge

A Google Drive

En primer lloc, a Google Drive (https://drive.google.com) hem de crear un full de càlcul i un formulari senzill. Obriu el Google Drive i feu clic a Nou - Fulls de càlcul de Google - Full de càlcul en blanc.

Pas 2:

Imatge
Imatge

He canviat el nom del meu "full de càlcul Ubicació avall". A continuació, aneu a Eines: creeu un formulari.

Pas 3:

Imatge
Imatge

He canviat el nom del formulari per "Ubicació cap avall" i he canviat "Pregunta sense títol" a "Estat" i el tipus de "Opció múltiple" a "Resposta curta".

Pas 4:

Imatge
Imatge

Després he eliminat l'opció per recollir adreces de correu electrònic: feu clic a "Canvia la configuració" i he desmarcat totes les opcions de la finestra que apareixia. Feu clic a "Desa".

Pas 5:

Imatge
Imatge

Tanqueu la pestanya actual del navegador que conté el formulari i heu de tornar a la pestanya principal de Google Drive, on haureu de tenir el formulari i el full de càlcul que acabeu de crear. Obriu el full de càlcul i aneu a "Fitxer - Comparteix …". A la finestra nova, feu clic a "Avançat"

Pas 6:

Imatge
Imatge

A continuació, feu clic a "Canvia …" al costat de l'etiqueta "Privat: només hi podeu accedir"

Pas 7:

Imatge
Imatge

i canvieu a "Activat: tothom que tingui l'enllaç" i també a "Pot editar"

Pas 8:

Imatge
Imatge

Feu clic a "Desa" i a "Fet" per tornar al full de càlcul. Mentre hi sigueu, feu clic a "Fitxer - Publica al web …" i, a continuació, feu clic a "Publica" i a "D'acord" per a la finestra de diàleg. Tanqueu la finestra "Publica al web".

Quan encara estigueu al full de càlcul, feu clic a "Formulari: vés al formulari en viu". Feu clic amb el botó dret del ratolí (estic fent servir el navegador Google Chrome) i trieu "Veure font de la pàgina".

Pas 9:

Imatge
Imatge

A la nova pàgina que s'obre, cerqueu "acció de formulari" i, a continuació, busqueu l'enllaç que té un aspecte similar a https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Seleccioneu aquest enllaç i copieu-lo i enganxeu-lo en algun document de text. L'utilitzarà per formar l'enllaç final que cal introduir al ThingHTTP per a ThingSpeak.

Pas 10:

Imatge
Imatge

Torneu a la vista d'origen del formulari i cerqueu "entrada". Localitzeu i seleccioneu tot el text, com ara "entry. XXXXX". Copieu-lo i enganxeu-lo al mateix document de text que l'anterior. Ara podeu tancar la vista font del formulari de Google.

Pas 11:

Imatge
Imatge

Al nou document de text (on teniu l’enllaç i l’entrada que hem enganxat abans), creeu l’enllaç final, que hauria de ser semblant

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = UBICACIÓ + NOM & enviar = Enviar

En el meu cas, "LOCALITZACIÓ + NOM" se substituiria pel nom real de cada ubicació concreta que he de supervisar. El correu electrònic de notificació per correu electrònic que rebré quan es produeixi la connexió contindrà aquest text, de manera que sé exactament quina ubicació té problemes. De fet, aquest text s'enviarà com a contingut de text breu per al camp "estat" del formulari de Google. El missatge "& submit = Submit" enviarà silenciosament el formulari, sense necessitat de cap acció addicional, quan el ThingHTTP i React els invocin.

Finalment, hem d’afegir un script que enviarà automàticament una notificació per correu electrònic cada vegada que s’afegeixi una entrada nova al full de càlcul. Obriu el full de càlcul i feu clic a "Eines - Editor de scripts". A la nova finestra que s'obre, afegiu el codi següent (amb els canvis necessaris per reflectir les vostres necessitats):

funció newEntryNotification (e)

{

provar

{

var timestamp = e.values [0];

var location = e.values [1];

var message = location + 'location is DOWN / n' + marca de temps;

MailApp.sendEmail ("LA VOSTRA ADREÇA DE CORREU ELECTRILNIC", "Atenció, ubicació avall!", Missatge);

}

atrapar (e)

{

MailApp.sendEmail ("LA VOSTRA ADREÇA DE CORREU ELECTRILNIC", "Error - Atenció, ubicació avall!", Missatge electrònic);

}

}

Substituïu el text "LA VOSTRA ADREÇA DE CORREU ELECTRILNIC" per l'adreça de correu electrònic a la qual s'ha d'enviar la notificació i el missatge de notificació real, si així ho desitgeu.

Pas 12:

Imatge
Imatge

Aquest script s’ha d’activar quan s’afegeix una entrada nova al full de càlcul. Mentre es troba a la mateixa finestra (amb el codi de seqüència anterior), feu clic a la icona "cronòmetre" de la barra d'eines - "Activadors del projecte actual". Se us demanarà que nomeneu el vostre projecte (el meu nom el vaig anomenar "locationDown") i s'obrirà una altra pestanya del navegador que informarà que no s'han trobat resultats (no hi ha activadors). Feu clic a "crea un activador nou".

Pas 13:

Imatge
Imatge

A la finestra nova, trieu "Del full de càlcul" per a "Selecciona la font de l'esdeveniment"; "Enviament de formulari" per a "Selecciona el tipus d'esdeveniment"; "Notifiqueu-me immediatament" per a "Configuració de notificacions d'error". Feu clic a "Desa". Se us demanarà que inicieu la sessió al vostre compte de Google i que permeti que aquest activador accedeixi al vostre compte quan sigui necessari.

Pas 14:

Imatge
Imatge

Ara hauríeu de tenir un activador a la llista d'activadors, que estarà enllaçat amb l'script que hem creat anteriorment. Per tant, després d’inserir dades noves al full de càlcul (mitjançant l’enllaç de formulari automatitzat i el mètode silenciós descrit anteriorment), el disparador cridarà immediatament a l’escript, que enviarà una notificació a l’adreça de correu electrònic proporcionada, amb el missatge escollit.

Ja hem acabat al costat de Google Drive i ara passem a ThingSpeak.

Pas 15:

Imatge
Imatge

A ThingSpeak Inicieu la sessió al vostre compte (https://thingspeak.com/login), aneu a "Aplicacions - ThingHTTP" i, a continuació, feu clic a "New ThingHTTP". Poseu-li un nom (he escollit el nom real de cada ubicació; "MyLocationName" als efectes d'aquest tutorial) i, al camp "URL", enganxeu l'enllaç del fitxer de text, el que sembla

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = UBICACIÓ + NOM & enviar = Enviar

Deixeu la resta de camps tal i com estan i feu clic a Desa la cosa

Pas 16:

Imatge
Imatge

A continuació, aneu a "Aplicacions: reacciona" i feu clic a "Nova reacció". Doneu-li un nom (de nou, he triat el nom de la ubicació seguit de la paraula "reaccionar", però podeu triar el nom que vulgueu); "Sense comprovació de dades" per a "Tipus de condició"; "Cada 10 minuts" per a "Freqüència de prova"; el nom del canal que voleu controlar per obtenir actualitzacions, per a "If Channel"; el temps que no s'ha actualitzat el canal (he triat 15 minuts), per a "no s'ha actualitzat durant"; "ThingHTTP" per a "Acció"; "MyLocationName" per a "després realitzeu ThingHTTP"; "Executeu l'acció només la primera vegada que es compleixi la condició", ja que només vull rebre una notificació una vegada. Això es restablirà quan el canal s'actualitzi de nou amb les noves dades entrants. Feu clic a "Desa reacciona" i heu acabat.

A partir d’ara, quan el vostre canal no s’hagi actualitzat durant 15 minuts (o un altre moment, depenent del que hàgiu triat), React obtindrà l’excepció que activarà el ThingHTTP, que al seu torn crearà una nova entrada en silenci full de càlcul. El Trigger i l'script al full de càlcul de Google els duran d'allà, com ja s'ha explicat anteriorment.

Recomanat: