Sisukord:

Saate teavitusmeili, kui ThingSpeaki kanalit mõnda aega ei värskendatud: 16 sammu
Saate teavitusmeili, kui ThingSpeaki kanalit mõnda aega ei värskendatud: 16 sammu

Video: Saate teavitusmeili, kui ThingSpeaki kanalit mõnda aega ei värskendatud: 16 sammu

Video: Saate teavitusmeili, kui ThingSpeaki kanalit mõnda aega ei värskendatud: 16 sammu
Video: Нелогичная жизнь_Рассказ_Слушать 2024, November
Anonim
Saate märguandemeili, kui ThingSpeaki kanalit ei värskendatud mõnda aega
Saate märguandemeili, kui ThingSpeaki kanalit ei värskendatud mõnda aega

Taustajutt

Mul on kuus automatiseeritud kasvuhoonet, mis asuvad Iirimaal Dublinis. Kasutades eritellimusel valmistatud mobiiltelefonirakendust, saan iga kasvuhoone automatiseeritud funktsioone eemalt jälgida ja nendega suhelda. Ma võin aknaid käsitsi avada / sulgeda, kui temperatuur on liiga kõrge / madal; Võin kastmist alustada / peatada, kui mulla niiskus on liiga madal / kõrge; ja ma saan ventilaatori käivitada / peatada, kui õhuniiskus on liiga kõrge / madal. Või võin lihtsalt lülitada süsteemi automaatrežiimi ja Arduino aju hoolitseb köögiviljade eest. Selle projekti kohta leiate lisateavet siit -

Kaugühendus kuue kasvuhoone Arduino tahvlitega on võimalik USB GPRS-donglite abil, üks igas kohas (ostsin oma siit: https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-antenniga-3G-USB-modem-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Nagu mobiilse andmesideühenduse puhul (vähemalt Dublinis), langeb see juhuslikult, mõnikord mõneks minutiks, mõnikord võib -olla paariks tunniks. Kui ühendus katkeb, on Arduino programmeeritud lähtestama USB -dongle iga 10 minuti järel, et see prooviks uue ühenduse loomist. Mõnikord aga (veel) teadmata põhjustel, isegi kui GPRS -andmeside on uuesti sisse lülitatud, ei suuda Arduino (ja sellele lisatud Etherneti kilp) sündmust tähele panna. See on hetk, kui pean minema sellesse konkreetsesse asukohta ja kogu süsteemi käsitsi lähtestama.

Kui andmeühendus mingis kohas katkeb, soovisin, et mind teavitataks meili teel võimalikult kiiresti, et saaksin sellel konkreetsel asukohal silma peal hoida. Kuna suhtlus telefonirakenduse ja Arduino vahel toimub võrguteenuse kaudu, mida pakub https://thingspeak.com, oli kuni viimase ajani (ja kuni 31. märtsini 2019) see võimalik, kasutades mõnda muud teenust, mida pakub https:// ifttt.com/discover ja seadistage igale kanalile ThingHTTP ja React, jälgides seda, kas seda kanalit pole mõnda aega värskendatud. Siiski, vastavalt Google'ilt saadud e-kirjale, mis algas 31. märtsist 2019, kuna nad ei järgi nende uuendatud andmete privaatsusnõudeid (https://cloud.google.com/blog/products/g-suite/elevating-user -usaldage meie api-ökosüsteeme), pole IFTTT-le enam juurdepääs mõnele minu Google'i konto andmetele ja kuna minu puhul oli e-post ainus ressurss, millele IFTTT-l oli juurdepääs, sain aru, et teatis ülalkirjeldatud teenus lakkab töötamast.

Seetõttu rakendame siinkohal alternatiivset lahendust, et meiliteatised jõuaksid edasi, kui andmeühendus minu asukohtades katkeb. See kasutab endiselt minu kanalite ThingHTTP ja React funktsioone, ainult link IFTTT-le suunati uuesti Google Drive'i. Nii et peale riistvara (minu puhul Arduino) võite suhelda oma ThingSpeaki kontoga, peate looma Google'i konto, juhul kui teil seda veel pole … ja alustame!

Samm 1:

Pilt
Pilt

Google Drive'is

Esiteks peame Google Drive'is (https://drive.google.com) looma arvutustabeli ja lihtsa vormi. Avage oma Google Drive ja klõpsake nuppu Uus - Google'i arvutustabelid - tühi arvutustabel.

2. samm:

Pilt
Pilt

Panin omale uueks nimeks „Asukoht tabelis allapoole”. Seejärel minge jaotisse Tööriistad - vormi loomine.

3. samm:

Pilt
Pilt

Ma nimetasin vormi ümber nimeks „Asukoha alumine vorm” ja muutsin „Pealkirjata küsimuse” olekuks ning tüübi „Mitme valikuga” asemel „Lühikeseks vastuseks”.

4. samm:

Pilt
Pilt

Seejärel eemaldasin e -posti aadresside kogumise võimaluse - klõpsake nuppu "Muuda seadeid" ja tühjendasin kõik kuvatud aknas olevad valikud. Klõpsake "Salvesta".

5. samm:

Pilt
Pilt

Sulgege praegune brauseri vahekaart, mis teie vormi hoiab, ja peaksite olema tagasi oma Google Drive'i peamisele vahekaardile, kus peaks olema nii vorm kui ka äsja loodud arvutustabel. Avage arvutustabel ja minge jaotisse "Fail - jaga …". Klõpsake uues aknas nuppu "Täpsem"

6. samm:

Pilt
Pilt

Seejärel klõpsake sildi „Privaatne - ainult teile juurdepääs” kõrval käsul „Muuda…”

7. samm:

Pilt
Pilt

ja muutke olekuks "Sees - igaüks, kellel on link" ja ka "Saab muuta"

8. samm:

Pilt
Pilt

Arvutustabeli juurde naasmiseks klõpsake "Salvesta" ja "Valmis". Seal olles klõpsake "Fail - avaldage veebis …", seejärel klõpsake "Avalda" ja dialoogiakna jaoks "OK". Sulgege aken "Avalda veebis".

Kui olete veel arvutustabelis, klõpsake nuppu „Vorm - avage vorm”. Paremklõpsake hiirega (ma kasutan Google Chrome'i brauserit) ja valige "Kuva lehe allikas".

9. samm:

Pilt
Pilt

Otsige uuel avaneval lehel otsingut „vormitoiming” ja otsige link, mis näeb välja sarnane https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXX/formResponse. Valige see link ja kopeerige ja kleepige see mõnda tekstidokumenti. Kasutate seda viimase lingi moodustamiseks, mis tuleb ThingSpeaki jaoks ThingHTTP -sse sisestada.

10. samm:

Pilt
Pilt

Minge tagasi oma vormi lähtevaatele ja otsige nüüd "kirje". Leidke ja valige kogu tekst, näiteks "entry. XXXXX". Kopeerige ja kleepige see samasse tekstidokumenti nagu eespool. Nüüd saate oma Google'i vormi allikavaate sulgeda.

11. samm:

Pilt
Pilt

Looge uues tekstidokumendis (kus teil on nüüd link ja kirje, mille me varem kleepisime), looge viimane link, mis peaks välja nägema

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

Minu puhul asendataks "ASUKOHT+NIMI" iga konkreetse asukoha tegeliku nimega, mida pean jälgima. See meilisõnum, mille ma saan ühenduse katkemise korral, sisaldab seda teksti, nii et ma tean täpselt, millises asukohas on probleeme. See tekst esitatakse tegelikult Google'i vormi välja "olek" lühitekstina. "& Esita = esita" esitab ThingHTTP ja React käivitamisel vormi vaikides, ilma täiendavate toiminguteta.

Lõpuks peame lisama skripti, mis saadab automaatselt meiliteatise iga kord, kui arvutustabelisse lisatakse uus kirje. Avage arvutustabel ja klõpsake "Tööriistad - skriptiredaktor". Avanevas uues aknas lisage järgmine kood (vajalike muudatustega, et kajastada teie vajadusi):

funktsioon newEntryNotification (e)

{

proovige

{

var ajatempel = e.väärtused [0];

var asukoht = e.väärtused [1];

var message = asukoht + 'asukoht on DOWN / n' + ajatempel;

MailApp.sendEmail ("SINU EMAILI AADRESS", "Tähelepanu, asukoht DOWN!", Sõnum);

}

püüdma (e)

{

MailApp.sendEmail ("SINU EMAILI AADRESS", "Viga - Tähelepanu, asukoht DOWN!", E.message);

}

}

Soovi korral asendage tekst „YOUR EMAIL ADDRESS” e -posti aadressiga, kuhu teade saata, ja tegeliku teatega.

12. samm:

Pilt
Pilt

See skript tuleb käivitada, kui arvutustabelisse lisati uus kirje. Samas aknas (koos ülaltoodud skripti koodiga) klõpsake tööriistaribal ikooni "stopper" - "Praeguse projekti käivitajad". Teil palutakse nimetada oma projekt (mina panin oma nimeks "locationDown") ja avaneb teine brauseri vahekaart, mis teatab, et tulemusi (ühtegi käivitajat) ei leitud. Klõpsake "loo uus päästik".

13. samm:

Pilt
Pilt

Valige uues aknas "Sündmuse allika" jaoks "Arvutustabelist"; "Vormi esitamine" jaoks "Valige sündmuse tüüp"; „Rikke teavitamise seadete” jaoks valige „Teavita mind kohe”. Klõpsake "Salvesta". Teil palutakse oma Google'i kontole sisse logida ja vajadusel lubage sellel päästikul teie kontole juurde pääseda.

14. samm:

Pilt
Pilt

Nüüd peaks päästikute loendis olema päästik, mis lingitakse varem loodud skriptiga. Seega, kui uued andmed arvutustabelisse sisestatakse (kasutades automaatvormi linki ja ülalkirjeldatud vaikivat meetodit), kutsub päästik kohe skripti, mis saadab teie valitud sõnumit sisaldava teate e -posti aadressile.

Oleme Google Drive'i poolel valmis ja liigume nüüd ThingSpeaki juurde.

15. samm:

Pilt
Pilt

ThingSpeaki sisselogimisel oma kontole (https://thingspeak.com/login) minge jaotisse "Rakendused - ThingHTTP" ja seejärel klõpsake "Uus ThingHTTP". Andke sellele nimi (olen selle õpetuse jaoks valinud iga asukoha tegeliku nime; "Minu asukoha asukoht") ja kleepige väljale "URL" oma tekstifailist link, mis näeb välja selline

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

Jätke kõik muud väljad sellistena, nagu need on, ja klõpsake nuppu "Salvesta ThingHTTP".

16. samm:

Pilt
Pilt

Seejärel minge jaotisse "Rakendused - reageerige" ja klõpsake "Uus reageerimine". Andke sellele nimi (jällegi olen valinud asukoha nime, millele järgneb sõna "reageeri", kuid võite valida mis tahes nime); "Tingimuste tüübi" jaoks puudub "Andmekontroll"; "Iga 10 minuti järel" - "Testi sagedus"; kanali nimi, mida soovite värskenduste jaoks jälgida, "If Channel"; aeg, mil kanalit pole värskendatud (olen valinud 15 minutit), "ei ole värskendatud" jaoks; "ThingHTTP" "Action" jaoks; "MyLocationName" jaoks "seejärel soorita ThingHTTP"; "Käivitage toiming ainult siis, kui tingimus on täidetud", kuna soovin saada märguannet ainult üks kord. See lähtestatakse ise, kui kanalit värskendatakse uuesti uute sissetulevate andmetega. Klõpsake nuppu "Salvesta reaktsioon" ja olete valmis.

Nüüdsest, kui teie kanalit pole värskendatud 15 minuti jooksul (või muul ajal, olenevalt sellest, mida olete valinud), tabab React selle erandi, mis käivitab ThingHTTP, mis omakorda loob vaikides teie kanalisse uue kirje arvutustabel. Käivitaja ja Google'i arvutustabeli skript võtavad selle sealt, nagu eespool juba selgitatud.

Soovitan: