Sadržaj:

Primite e -poruku s obavijesti kada kanal na ThingSpeaku neko vrijeme nije bio ažuriran: 16 koraka
Primite e -poruku s obavijesti kada kanal na ThingSpeaku neko vrijeme nije bio ažuriran: 16 koraka

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

Video: Primite e -poruku s obavijesti kada kanal na ThingSpeaku neko vrijeme nije bio ažuriran: 16 koraka
Video: Overview of Syncopal Disorders 2024, Studeni
Anonim
Primite poruku e -pošte s obavijestima kada kanal na ThingSpeaku neko vrijeme nije bio ažuriran
Primite poruku e -pošte s obavijestima kada kanal na ThingSpeaku 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 mobitele mogu daljinski nadzirati i komunicirati s automatiziranim značajkama 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 / zaustaviti ventilator kada je vlaga zraka previsoka / niska. Ili jednostavno mogu prebaciti sustav 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 svakom mjestu (ja sam svoj kupio ovdje https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-S-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 primijete događaj. Ovo je trenutak kada moram otići na to određeno mjesto i ručno resetirati cijeli sustav.

Kad se podatkovna veza prekine na nekom mjestu, htio sam dobiti obavijest putem e -pošte što je prije moguće kako bih pazio na to određeno mjesto. 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 te postavljanjem ThingHTTP -a i React -a na svakom kanalu, nadgledajući činjenicu nije li određeni kanal već neko vrijeme ažuriran. 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 e -poštom nastavile pristizati kad podatkovna veza na mojim lokacijama prekine. Ovo još uvijek koristi značajke ThingHTTP i React na mojim kanalima, samo je veza na IFTTT ponovno usmjerena na Google disk. Osim hardvera (u mom slučaju Arduino) 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:

Slika
Slika

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:

Slika
Slika

Ja sam svoj preimenovao u "Location down spreadsheet". Zatim idite na Alati - Izradi obrazac.

3. korak:

Slika
Slika

Obrazac sam preimenovao u "Location down form", a "Untitled question" promijenio u "Status", a vrstu iz "Multiple choice" u "Short answer".

Korak 4:

Slika
Slika

Zatim sam uklonio mogućnost prikupljanja adresa e -pošte - kliknite na "Promijeni postavke" i poništio sve opcije u prozoru koji se pojavio. Kliknite na "Spremi".

5. korak:

Slika
Slika

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

Korak 6:

Slika
Slika

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

Korak 7:

Slika
Slika

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

Korak 8:

Slika
Slika

Pritisnite "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 dijaloški prozor. Zatvorite prozor "Objavi na webu".

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

Korak 9:

Slika
Slika

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.

10. korak:

Slika
Slika

Vratite se na izvorni prikaz svog obrasca i sada tražite "unos". 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 svog Google obrasca.

11. korak:

Slika
Slika

U novom tekstualnom dokumentu (gdje sada imate vezu i unos koji smo prije 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" zamijenilo bi se stvarnim imenom svake određene lokacije koju moram nadzirati. E -poruka s obavijesti e -poštom koju ću primiti kad se veza prekine sadržavat će ovaj tekst, tako da znam točno na kojoj lokaciji postoje problemi. Ovaj će tekst zapravo biti poslan kao sadržaj kratkog teksta za polje "status" u Google obrascu. "& Submit = Submit" će šutke poslati obrazac, bez potrebe za daljnjim radnjama, kada ga pozovu ThingHTTP i React.

Konačno, moramo dodati skriptu koja će automatski slati obavijesti e -poštom svaki put kad 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 (s potrebnim izmjenama koje odražavaju vaše potrebe):

funkcija newEntryNotification (e)

{

probati

{

var vremenska oznaka = e.vrednosti [0];

var location = e.values [1];

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

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

}

ulov (e)

{

MailApp.sendEmail ("VAŠA E -POŠTA", "Pogreš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:

Slika
Slika

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

Korak 13:

Slika
Slika

U novom prozoru odaberite "Iz proračunske tablice" za "Odaberi izvor događaja"; "On form submit" za "Odabir vrste događaja"; "Odmah me obavijesti" za "Postavke obavijesti o neuspjehu". Pritisnite "Spremi". Od vas će se tražiti da se prijavite na svoj Google račun i "Dopustite" da ovaj okidač pristupi vašem računu kada je to potrebno.

Korak 14:

Slika
Slika

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

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

Korak 15:

Slika
Slika

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 onakvima kakva jesu i kliknite na "Save ThingHTTP".

Korak 16:

Slika
Slika

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 "Vrstu stanja"; "Svakih 10 minuta" za "Učestalost ispitivanja"; 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žuriran za"; "ThingHTTP" za "Radnju"; "MyLocationName" za "zatim izvedi ThingHTTP"; "Pokreni radnju samo prvi put kada se ispuni uvjet", jer želim dobiti obavijest samo jednom. To će se resetirati kada se kanal ponovno ažurira novim ulaznim podacima. Kliknite na "Spremi reakciju" i gotovi ste.

Od sada kad 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čunsku tablicu. Okidač i skripta na Google proračunskoj tablici odatle će ga preuzeti, kao što je već gore objašnjeno.

Preporučeni: