Sadržaj:

Primite poruku e -pošte s obavijestima kada kanal na ThingSpeaku neko vrijeme nije bio ažuriran: 16 koraka
Primite poruku e -pošte s obavijestima kada kanal na ThingSpeaku neko vrijeme nije bio ažuriran: 16 koraka

Video: Primite poruku e -pošte s obavijestima kada kanal na ThingSpeaku neko vrijeme nije bio ažuriran: 16 koraka

Video: Primite poruku e -pošte s obavijestima kada kanal na ThingSpeaku neko vrijeme nije bio ažuriran: 16 koraka
Video: ROYALQ INCRIVEL ROBO TRADER COM BONUS DE EQUIPE PAGA INSTANTANEO SAQUEI $110 DOLARES 2024, Novembar
Anonim
Primite poruku e -pošte s obavijestima kada kanal na ThingSpeak -u neko vrijeme nije bio ažuriran
Primite poruku e -pošte s obavijestima kada kanal na ThingSpeak -u neko vrijeme nije bio ažuriran

Priča u pozadini

Imam šest automatiziranih staklenika koji su rasprostranjeni po Dublinu, Irska. Korištenjem prilagođene aplikacije za mobilne telefone mogu daljinski nadzirati i komunicirati s automatiziranim funkcijama u svakom stakleniku. Mogu ručno otvoriti / zatvoriti prozore kada je temperatura previsoka / niska; Mogu započeti / zaustaviti navodnjavanje kada je vlaga u tlu preniska / visoka; i mogu pokrenuti / isključiti ventilator kada je vlažnost zraka previsoka / niska. Ili mogu jednostavno prebaciti sistem u automatski način rada, a za povrće će se brinuti Arduino mozak. Više detalja o ovom projektu možete pronaći ovdje -

Daljinsko povezivanje s Arduino pločama u šest staklenika omogućeno je uz pomoć USB GPRS ključeva, po jedan na svakoj lokaciji (ja sam svoj kupio ovdje https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-sa-antenom-3G-USB-modem-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Kao što je slučaj s mobilnom podatkovnom vezom (barem u Dublinu), ona nasumično pada, ponekad na nekoliko minuta, ponekad na nekoliko sati. U slučaju prekida veze, Arduino je programiran za resetiranje USB ključa svakih 10 minuta kako bi pokušao uspostaviti novu vezu. Ponekad, međutim, iz (još) nepoznatih razloga, čak i ako je GPRS podatkovna veza ponovno uspostavljena, Arduino (i priključeni Ethernet štit) ne primjećuju događaj. Ovo je trenutak kada moram otići na tu određenu lokaciju i ručno resetirati cijeli sistem.

Kad se podatkovna veza prekine na nekoj lokaciji, želio sam dobiti obavijest putem e -pošte što je prije moguće, kako bih pazio na tu određenu lokaciju. Budući da se komunikacija između telefonske aplikacije i Arduina odvija putem internetske usluge koju pruža https://thingspeak.com, do nedavno (pa do 31. ožujka 2019.) to je bilo moguće pomoću druge usluge koju pruža https:// ifttt.com/discover i postavljanje ThingHTTP -a i React -a na svakom kanalu, nadgledajući činjenicu da li određeni kanal nije ažuriran neko vrijeme. Međutim, prema e-pošti koju sam primio od Googlea, počevši od 31. ožujka 2019., zbog nepoštivanja njihovih ažuriranih zahtjeva za privatnost podataka (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems), pristup nekim podacima na mom Google računu više neće biti dostupan IFTTT-u, a kako je u mom slučaju e-pošta bila jedini resurs kojem je IFTTT imao pristup, razumio sam da je obavijest gore opisana usluga prestala bi raditi.

Dakle, evo nas, implementiramo alternativno rješenje kako bi obavijesti putem e -pošte i dalje pristizale kad se prekine podatkovna veza na mojim lokacijama. Ovo još uvijek koristi funkcije ThingHTTP i React na mojim kanalima, samo je veza na IFTTT ponovno usmjerena na Google disk. Dakle, osim hardvera (Arduino u mom slučaju) možda ste komunicirali sa svojim ThingSpeak računom, morat ćete stvoriti Google račun, u slučaju da ga već nemate … i počnimo!

Korak 1:

Image
Image

Na Google disku

Prvo, na Google disku (https://drive.google.com) moramo stvoriti proračunsku tablicu i jednostavan obrazac. Otvorite svoj Google disk i kliknite Novo - Google tablice - Prazna proračunska tablica.

Korak 2:

Image
Image

Ja sam svoj promijenio u "Tablica prema lokaciji". Zatim idite na Alati - Kreiraj obrazac.

Korak 3:

Image
Image

Preimenovao sam obrazac u "Location down form", i promijenio "Pitanje bez naslova" u "Status", a tip iz "Višestruki izbor" u "Kratak odgovor".

Korak 4:

Image
Image

Zatim sam uklonio opciju prikupljanja adresa e -pošte - kliknite na "Promijeni postavke" i poništio odabir svih opcija u prozoru koji se pojavio. Kliknite na "Sačuvaj".

Korak 5:

Image
Image

Zatvorite trenutnu karticu preglednika na kojoj se nalazi vaš obrazac i trebali biste se vratiti na svoju glavnu karticu Google disk, gdje biste trebali imati i obrazac i proračunsku tablicu koju ste upravo stvorili. Otvorite proračunsku tablicu i idite na "Datoteka - Dijeli …". U novom prozoru kliknite na "Napredno"

Korak 6:

Image
Image

Zatim kliknite na "Promijeni …" pored oznake "Privatno - samo vi možete pristupiti"

Korak 7:

Image
Image

i promijenite u "Uključeno - Svatko s vezom", a također u "Može uređivati"

Korak 8:

Image
Image

Kliknite na "Spremi" i "Gotovo" da biste se vratili na svoju proračunsku tablicu. Dok ste tamo, kliknite na "Datoteka - Objavi na webu …", a zatim kliknite na "Objavi" i "U redu" za prozor za dijalog. Zatvorite prozor "Objavi na webu".

Dok ste još u proračunskoj tablici, kliknite na "Obrazac - Idi na živi obrazac". Desnom tipkom miša kliknite mišem (koristim preglednik Google Chrome) i odaberite "Prikaži izvor stranice".

Korak 9:

Image
Image

Na novoj stranici koja se otvara potražite "radnju obrasca", a zatim pronađite vezu koja izgleda slično https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Odaberite tu vezu, kopirajte je i zalijepite u neki tekstualni dokument. Koristit ćete ga za formiranje konačne veze koju je potrebno unijeti u ThingHTTP za ThingSpeak.

Korak 10:

Image
Image

Vratite se na izvorni prikaz vašeg obrasca, a sada potražite "entry". Pronađite i odaberite cijeli tekst, nešto poput "entry. XXXXX". Kopirajte ga i zalijepite u isti tekstualni dokument kao gore. Sada možete zatvoriti izvorni prikaz vašeg Google obrasca.

Korak 11:

Image
Image

U novom tekstualnom dokumentu (gdje sada imate vezu i unos koji smo prethodno zalijepili) stvorite konačnu vezu koja bi trebala izgledati

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Submit

U mom slučaju, "LOCATION+NAME" bi se zamijenilo stvarnim imenom svake određene lokacije koju moram nadzirati. E -poruka s obavijesti e -poštom koju ću primiti kada se veza prekine sadržavat će ovaj tekst, tako da znam točno na kojoj lokaciji ima problema. Ovaj će tekst u stvari biti poslan kao sadržaj kratkog teksta za polje "status" u Google obrascu. "& Submit = Submit" će tiho poslati obrazac, bez potrebe za daljim radnjama, kada ga pozovu ThingHTTP i React.

Konačno, moramo dodati skriptu koja će automatski slati obavijesti e -poštom svaki put kada se u proračunsku tablicu doda novi unos. Otvorite proračunsku tablicu, a zatim kliknite "Alati - Uređivač skripti". U novi prozor koji se otvori dodajte sljedeći kôd (sa potrebnim promjenama koje odražavaju vaše potrebe):

funkcija newEntryNotification (e)

{

probaj

{

var vremenska oznaka = e.values [0];

var location = e.values [1];

var poruka = lokacija + 'lokacija je DOLE / n' + vremenska oznaka;

MailApp.sendEmail ("VAŠA E -POŠTA", "Pažnja, lokacija DOLE!", Poruka);

}

ulov (e)

{

MailApp.sendEmail ("VAŠA E -POŠTA", "Greška - Pažnja, lokacija DOLJE!", E.poruka);

}

}

Zamijenite tekst "VAŠA E -POŠTA" e -adresom na koju treba poslati obavijest i stvarnom porukom obavijesti, ako želite.

Korak 12:

Image
Image

Ova se skripta mora pokrenuti kada je u proračunsku tablicu dodan novi unos. Dok ste u istom prozoru (sa gornjim kodom skripte), kliknite na ikonu "štoperica" na traci sa alatkama - "Okidači trenutnog projekta". Od vas će se tražiti da imenujete svoj projekt (ja sam svoj nazvao "locationDown"), a otvorit će se i druga kartica preglednika koja izvještava da nisu pronađeni rezultati (nikakvi okidači). Kliknite na "kreiraj novi okidač".

Korak 13:

Image
Image

U novom prozoru odaberite "Iz proračunske tablice" za "Odaberi izvor događaja"; "On form submit" za "Select type event"; "Obavijesti me odmah" za "Postavke obavijesti o grešci". Kliknite na "Sačuvaj". Od vas će se tražiti da se prijavite na svoj Google račun i "Dozvolite" da ovaj okidač pristupi vašem računu kada je to potrebno.

Korak 14:

Image
Image

Sada biste trebali imati okidač na listi okidača, koji će biti povezan sa skriptom koju smo prethodno kreirali. Stoga će, nakon umetanja novih podataka u proračunsku tablicu (pomoću veze automatiziranog obrasca i gore opisane tihe metode), okidač odmah pozvati skriptu, koja će poslati obavijest na navedenu adresu e -pošte koja sadrži odabranu poruku.

Završili smo sa strane Google diska i sada prelazimo na ThingSpeak.

Korak 15:

Image
Image

U ThingSpeak Prijavite se na svoj račun (https://thingspeak.com/login), idite na "Aplikacije - ThingHTTP", a zatim kliknite na "Nova ThingHTTP". Dajte mu ime (odabrao sam stvarni naziv svake lokacije; "MyLocationName" za potrebe ovog vodiča), a u polje "URL" zalijepite vezu iz svoje tekstualne datoteke, onu koja izgleda kao

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Submit

Ostavite sva ostala polja onakva kakva jesu i kliknite na "Save ThingHTTP".

Korak 16:

Image
Image

Zatim idite na "Aplikacije - Reagiraj" i kliknite na "Nova reakcija". Dajte mu ime (opet, odabrao sam naziv lokacije iza kojeg slijedi riječ "reagiraj", ali možete odabrati bilo koje ime koje želite); "Nema provjere podataka" za "Tip stanja"; "Svakih 10 minuta" za "Učestalost testiranja"; naziv kanala koji želite pratiti radi ažuriranja, za "If Channel"; vrijeme u kojem kanal nije ažuriran (odabrao sam 15 minuta), jer "nije ažurirano za"; "ThingHTTP" za "Akciju"; "MyLocationName" za "zatim izvedite ThingHTTP"; "Pokreni akciju samo prvi put kada se ispuni uvjet", jer želim dobiti obavijest samo jednom. Ovo će se resetirati kada se kanal ponovo ažurira novim ulaznim podacima. Kliknite na "Save React" i gotovi ste.

Od sada, kada vaš kanal nije ažuriran 15 minuta (ili neki drugi put, ovisno o tome što ste odabrali), React će uhvatiti tu iznimku koja će pokrenuti ThingHTTP, što će zauzvrat šutke stvoriti novi unos u vašem proračunska tablica. Okidač i skripta na Google proračunskoj tablici preuzimaju ga odatle, kao što je već gore objašnjeno.

Preporučuje se: