Turinys:

Gaukite pranešimą el. Paštu, kai „ThingSpeak“kanalas kurį laiką nebuvo atnaujintas: 16 žingsnių
Gaukite pranešimą el. Paštu, kai „ThingSpeak“kanalas kurį laiką nebuvo atnaujintas: 16 žingsnių

Video: Gaukite pranešimą el. Paštu, kai „ThingSpeak“kanalas kurį laiką nebuvo atnaujintas: 16 žingsnių

Video: Gaukite pranešimą el. Paštu, kai „ThingSpeak“kanalas kurį laiką nebuvo atnaujintas: 16 žingsnių
Video: KAIP TAI VEIKIA? | Elektroninės parduotuvės kūrimas || Laisvės TV. Pinigai 2024, Lapkritis
Anonim
Gaukite pranešimą el. Paštu, kai „ThingSpeak“kanalas kurį laiką nebuvo atnaujintas
Gaukite pranešimą el. Paštu, kai „ThingSpeak“kanalas kurį laiką nebuvo atnaujintas

Fono istorija

Turiu šešis automatizuotus šiltnamius, esančius Dubline, Airijoje. Naudodamas pagal individualų užsakymą sukurtą mobiliojo telefono programą, galiu nuotoliniu būdu stebėti ir sąveikauti su kiekvienos šiltnamio automatinėmis funkcijomis. Aš galiu rankiniu būdu atidaryti / uždaryti langus, kai temperatūra yra per aukšta / žema; Drėkinimą galiu pradėti / sustabdyti, kai dirvožemio drėgmė per maža / didelė; ir galiu įjungti / sustabdyti ventiliacijos ventiliatorių, kai oro drėgmė yra per didelė / žema. Arba galiu tiesiog perjungti sistemą į automatinį režimą, o daržoves prižiūrės „Arduino“smegenys. Daugiau informacijos apie šį projektą rasite čia -

Nuotolinis ryšys su „Arduino“plokštėmis šešiuose šiltnamiuose yra įmanomas naudojant USB GPRS raktus, po vieną kiekvienoje vietoje (aš nusipirkau savo iš čia https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-su antena-3G-USB-modemas-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Kaip ir mobiliojo duomenų ryšio atveju (bent jau Dubline), jis atsitiktinai nutrūksta, kartais kelioms minutėms, kartais gali trukti porą valandų. Jei ryšys nutrūksta, „Arduino“yra užprogramuotas iš naujo nustatyti USB raktą kas 10 minučių, kad jis bandytų užmegzti naują ryšį. Tačiau kartais dėl (dar) nežinomų priežasčių, net jei GPRS duomenų ryšys vėl įjungtas, „Arduino“(ir pridedamas „Ethernet“skydas) neatsižvelgia į įvykį. Šiuo metu man reikia eiti į tą konkrečią vietą ir rankiniu būdu iš naujo nustatyti visą sistemą.

Kai tam tikroje vietoje nutrūksta duomenų ryšys, norėjau būti kuo greičiau informuotas el. Paštu, kad galėčiau stebėti tą konkrečią vietą. Kadangi ryšys tarp telefono programos ir „Arduino“vyksta per internetinę paslaugą, kurią teikia https://thingspeak.com, iki šiol (ir iki 2019 m. Kovo 31 d.) Tai buvo įmanoma naudojant kitą paslaugą, kurią teikia https:// ifttt.com/discover ir kiekviename kanale nustatydami „ThingHTTP“ir „React“, stebėdami, ar tas kanalas kurį laiką nebuvo atnaujintas. Tačiau pagal el. Laišką, kurį gavau iš „Google“, nuo 2019 m. Kovo 31 d., Nes nesilaikoma atnaujintų duomenų privatumo reikalavimų (https://cloud.google.com/blog/products/g-suite/elevating-user -pasitikėjimas mūsų api ekosistemomis), IFTTT nebegalės pasiekti kai kurių mano „Google“paskyros duomenų, ir mano atveju el. paštas buvo vienintelis šaltinis, prie kurio IFTTT turėjo prieigą, supratau, kad pranešimas aukščiau aprašyta paslauga nustos veikti.

Taigi, štai, mes čia įgyvendiname alternatyvų sprendimą, kad pranešimai el. Paštu ir toliau gautų, kai duomenų ryšys mano vietose nutrūksta. Mano kanaluose vis dar naudojamos „ThingHTTP“ir „React“funkcijos, tik nuoroda į IFTTT buvo pakartotinai nukreipta į „Google“diską. Taigi, be aparatinės įrangos (mano atveju „Arduino“), galbūt bendraujate su „ThingSpeak“paskyra, turėsite susikurti „Google“paskyrą, jei to dar neturite … ir pradėkime!

1 žingsnis:

Vaizdas
Vaizdas

„Google“diske

Pirmiausia „Google“diske (https://drive.google.com) turime sukurti skaičiuoklę ir paprastą formą. Atidarykite „Google“diską ir spustelėkite Naujas - „Google“skaičiuoklės - tuščia skaičiuoklė.

2 žingsnis:

Vaizdas
Vaizdas

Aš pervadinau savo „Vietovė žemyn“. Tada eikite į Įrankiai - Sukurti formą.

3 žingsnis:

Vaizdas
Vaizdas

Aš pervadinau formą į „Vietovės nustatymo forma“ir pakeičiau „Klausimas be pavadinimo“į „Būsena“, o tipą iš „Keli pasirinkimai“į „Trumpas atsakymas“.

4 žingsnis:

Vaizdas
Vaizdas

Tada pašalinau el. Pašto adresų rinkimo parinktį - spustelėkite „Keisti nustatymus“ir panaikinkite visų rodomų lango parinkčių žymėjimą. Spustelėkite „Išsaugoti“.

5 veiksmas:

Vaizdas
Vaizdas

Uždarykite dabartinį naršyklės skirtuką, kuriame yra jūsų forma, ir turėtumėte grįžti į pagrindinį „Google“disko skirtuką, kuriame turėtumėte turėti formą ir ką tik sukurtą skaičiuoklę. Atidarykite skaičiuoklę ir eikite į „Failas - bendrinti …“. Naujame lange spustelėkite „Išplėstinė“

6 žingsnis:

Vaizdas
Vaizdas

Tada spustelėkite „Keisti…“šalia etiketės „Privatus - tik jūs galite pasiekti“

7 žingsnis:

Vaizdas
Vaizdas

ir pakeiskite į „Įjungta - visi, turintys nuorodą“, taip pat į „Gali redaguoti“

8 žingsnis:

Vaizdas
Vaizdas

Norėdami grįžti į skaičiuoklę, spustelėkite „Išsaugoti“ir „Atlikta“. Ten būdami spustelėkite „Failas - paskelbti žiniatinklyje …“, tada spustelėkite „Skelbti“ir dialogo lango „Gerai“. Uždarykite langą „Skelbti žiniatinklyje“.

Dar būdami skaičiuoklėje spustelėkite „Forma - Eiti į tiesioginę formą“. Dešiniuoju pelės mygtuku spustelėkite pelę (naudoju „Google Chrome“naršyklę) ir pasirinkite „Peržiūrėti puslapio šaltinį“.

9 veiksmas:

Vaizdas
Vaizdas

Atidarytame naujame puslapyje ieškokite „formos veiksmas“ir suraskite nuorodą, panašią į https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXX/formResponse. Pasirinkite tą nuorodą, nukopijuokite ir įklijuokite ją į kokį nors tekstinį dokumentą. Jį naudosite norėdami suformuoti galutinę nuorodą, kurią reikia įvesti į „ThingSpeak“skirtą „ThingHTTP“.

10 veiksmas:

Vaizdas
Vaizdas

Grįžkite į savo formos šaltinio rodinį ir dabar ieškokite „įrašas“. Raskite ir pasirinkite visą tekstą, pvz., „Entry. XXXXX“. Nukopijuokite ir įklijuokite į tą patį tekstinį dokumentą, kaip nurodyta aukščiau. Dabar galite uždaryti „Google“formos šaltinio rodinį.

11 veiksmas:

Vaizdas
Vaizdas

Naujame teksto dokumente (kur dabar turite nuorodą ir anksčiau įklijuotą įrašą) sukurkite galutinę nuorodą, kuri turėtų atrodyti taip

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

Mano atveju „VIETA+PAVADINIMAS“būtų pakeistas tikruoju kiekvienos konkrečios vietos, kurią turiu stebėti, pavadinimu. Pranešime el. Paštu, kurį gausiu, kai ryšys nutrūks, bus šis tekstas, kad tiksliai žinotų, kurioje vietoje yra problemų. Šis tekstas iš tikrųjų bus pateiktas kaip „Google“formos lauko „būsena“trumpo teksto turinys. „& Pateikti = Pateikti“tyliai pateiks formą, nereikalaujant jokių papildomų veiksmų, kai to iškvies „ThingHTTP“ir „React“.

Galiausiai turime pridėti scenarijų, kuris automatiškai išsiųs el. Pašto pranešimą kiekvieną kartą, kai skaičiuoklėje bus pridėtas naujas įrašas. Atidarykite skaičiuoklę, tada spustelėkite „Įrankiai - scenarijų redaktorius“. Atsidariusiame naujame lange pridėkite šį kodą (su reikiamais pakeitimais, atitinkančiais jūsų poreikius):

funkcija newEntryNotification (e)

{

bandyti

{

var timestamp = e.values [0];

var vieta = e.vertybės [1];

var message = location + 'location is DOWN / n' + laiko žyma;

MailApp.sendEmail („JŪSŲ el. Pašto adresas“, „Dėmesio, vieta DOWN!“, Pranešimas);

}

pagauti (e)

{

MailApp.sendEmail („JŪSŲ el. Pašto adresas“, „Klaida - Dėmesio, vieta DOWN!“, El. Pranešimas);

}

}

Jei norite, pakeiskite tekstą „JŪSŲ el. Pašto adresas“el. Pašto adresu, kuriuo reikia siųsti pranešimą, ir faktiniu pranešimo pranešimu.

12 žingsnis:

Vaizdas
Vaizdas

Šį scenarijų reikia suaktyvinti, kai skaičiuoklėje buvo pridėtas naujas įrašas. Tame pačiame lange (su aukščiau esančiu scenarijaus kodu) įrankių juostoje spustelėkite „chronometro“piktogramą - „Dabartinio projekto aktyvikliai“. Jūsų bus paprašyta pavadinti savo projektą (aš pavadinau savo „locationDown“), ir atsidarys kitas naršyklės skirtukas, pranešantis, kad rezultatų (jokių aktyviklių) nerasta. Spustelėkite „sukurti naują trigerį“.

13 žingsnis:

Vaizdas
Vaizdas

Naujame lange pasirinkite „Iš skaičiuoklės“, skirtą „Pasirinkti įvykio šaltinį“; „Pateikti formą“, skirtas „Pasirinkite įvykio tipą“; „Pranešti man nedelsiant“, kad gautumėte „Pranešimo apie gedimus nustatymus“. Spustelėkite „Išsaugoti“. Jūsų bus paprašyta prisijungti prie „Google“paskyros ir „Leisti“, kad šis aktyviklis prireikus pasiektų jūsų paskyrą.

14 žingsnis:

Vaizdas
Vaizdas

Dabar aktyviklių sąraše turėtumėte turėti aktyviklį, kuris bus susietas su anksčiau sukurtu scenarijumi. Todėl, įvedus naujus duomenis į skaičiuoklę (naudojant automatinės formos nuorodą ir aukščiau aprašytą tylųjį metodą), aktyviklis nedelsdamas iškvies scenarijų, kuris atsiųs pranešimą nurodytu el. Pašto adresu, kuriame bus jūsų pasirinktas pranešimas.

Mes baigėme „Google“disko pusę ir dabar pereiname prie „ThingSpeak“.

15 žingsnis:

Vaizdas
Vaizdas

„ThingSpeak“Prisijunkite prie savo paskyros (https://thingspeak.com/login) eikite į „Programos - ThingHTTP“, tada spustelėkite „Naujas ThingHTTP“. Suteikite jai pavadinimą (šioje pamokoje pasirinkau tikrąjį kiekvienos vietos pavadinimą; „MyLocationName“) ir lauke „URL“įklijuokite nuorodą iš teksto failo, panašaus į

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

Palikite visus kitus laukus tokius, kokie jie yra, ir spustelėkite „Išsaugoti ThHTHTTP“.

16 žingsnis:

Vaizdas
Vaizdas

Tada eikite į „Programos - reaguoti“ir spustelėkite „Naujas reagavimas“. Suteikite jam pavadinimą (vėl pasirinkau vietovės pavadinimą, po kurio eina žodis „reaguoti“, bet galite pasirinkti bet kokį norimą pavadinimą); „Nėra duomenų tikrinimo“„Sąlygos tipui“; „Kas 10 minučių“- „Bandymo dažnis“; kanalo, kurį norite stebėti, jei norite atnaujinti, pavadinimą „If Channel“; laikas, kai kanalas nebuvo atnaujintas (pasirinkau 15 minučių), nes „nebuvo atnaujintas“; „ThingHTTP“- „Veiksmas“; „MyLocationName“- „tada atlik ThingHTTP“; „Vykdyti veiksmus tik pirmą kartą įvykdžius sąlygą“, nes noriu gauti pranešimą tik vieną kartą. Tai iš naujo nustatoma, kai kanalas vėl atnaujinamas naujais gaunamais duomenimis. Spustelėkite „Išsaugoti reakciją“ir baigsite.

Nuo šiol, kai jūsų kanalas nebuvo atnaujintas 15 minučių (arba kitą kartą, priklausomai nuo to, ką pasirinkote), „React“sugaus tą išimtį, kuri suaktyvins „ThingHTTP“, o tai savo ruožtu tyliai sukurs naują įrašą jūsų skaičiuoklė. Aktyviklis ir „Google“skaičiuoklės scenarijus paims jį iš ten, kaip jau buvo paaiškinta aukščiau.

Rekomenduojamas: