Satura rādītājs:

Saņemiet paziņojuma e -pastu, ja kanāls vietnē ThingSpeak kādu laiku netika atjaunināts: 16 soļi
Saņemiet paziņojuma e -pastu, ja kanāls vietnē ThingSpeak kādu laiku netika atjaunināts: 16 soļi

Video: Saņemiet paziņojuma e -pastu, ja kanāls vietnē ThingSpeak kādu laiku netika atjaunināts: 16 soļi

Video: Saņemiet paziņojuma e -pastu, ja kanāls vietnē ThingSpeak kādu laiku netika atjaunināts: 16 soļi
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Jūlijs
Anonim
Saņemiet paziņojuma e -pastu, kad kanāls vietnē ThingSpeak kādu laiku netika atjaunināts
Saņemiet paziņojuma e -pastu, kad kanāls vietnē ThingSpeak kādu laiku netika atjaunināts

Fona stāsts

Man ir sešas automatizētas siltumnīcas, kas atrodas visā Dublinā, Īrijā. Izmantojot pielāgotu mobilā tālruņa lietotni, es varu attālināti uzraudzīt katras siltumnīcas automatizētās funkcijas un mijiedarboties ar tām. Es varu manuāli atvērt / aizvērt logus, ja temperatūra ir pārāk augsta / zema; Es varu sākt / pārtraukt apūdeņošanu, kad augsnes mitrums ir pārāk zems / augsts; un es varu iedarbināt / apturēt ventilācijas ventilatoru, kad gaisa mitrums ir pārāk augsts / zems. Vai arī es varu vienkārši pārslēgt sistēmu automātiskajā režīmā, un par dārzeņiem rūpēsies Arduino smadzenes. Sīkāka informācija par šo projektu atrodama šeit -

Attālais savienojums ar Arduino dēļiem sešās siltumnīcās ir iespējams, izmantojot USB GPRS dongles, pa vienai katrā vietā (es iegādājos savu šeit: https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-ar antenu-3G-USB-modems-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Tāpat kā mobilajā datu savienojumā (vismaz Dublinā), tas nejauši samazinās, dažreiz uz dažām minūtēm, dažreiz uz pāris stundām. Ja savienojums pārtrūkst, Arduino ir ieprogrammēts atiestatīt USB dongle ik pēc 10 minūtēm, lai tas mēģinātu izveidot jaunu savienojumu. Tomēr dažreiz (vēl) nezināmu iemeslu dēļ, pat ja GPRS datu savienojums ir atkal ieslēgts, Arduino (un pievienotais Ethernet vairogs) neņem vērā šo notikumu. Šis ir brīdis, kad man jādodas uz šo konkrēto vietu un manuāli jāatiestata visa sistēma.

Kad datu savienojums kādā vietā pārtrūkst, es gribēju, lai mani pēc iespējas ātrāk paziņo pa e -pastu, lai es varētu sekot šai konkrētajai vietai. Tā kā saziņa starp tālruņa lietotni un Arduino notiek, izmantojot tiešsaistes pakalpojumu, ko nodrošina https://thingspeak.com, vēl nesen (un līdz 2019. gada 31. martam) tas bija iespējams, izmantojot citu pakalpojumu, ko nodrošina https:// ifttt.com/discover un katram kanālam iestatot ThingHTTP un React, uzraugot, vai konkrētais kanāls kādu laiku nav atjaunināts. Tomēr saskaņā ar e-pasta ziņojumu, ko saņēmu no Google, sākot ar 2019. gada 31. martu, jo nav ievērotas viņu atjauninātās datu konfidencialitātes prasības (https://cloud.google.com/blog/products/g-suite/elevating-user -uzticēties mūsu api ekosistēmām), IFTTT vairs nevarēs piekļūt dažiem datiem manā Google kontā, un, tā kā manā gadījumā e-pasts bija vienīgais resurss, kuram IFTTT varēja piekļūt, es sapratu, ka paziņojums iepriekš aprakstītais pakalpojums pārstās darboties.

Tāpēc šeit mēs esam ieviesuši alternatīvu risinājumu, lai e -pasta paziņojumi turpinātu pienākt, kad datu savienojums manās vietās pārtrūkst. Tas joprojām izmanto ThingHTTP un React funkcijas manos kanālos, tikai saite uz IFTTT tika atkārtoti novirzīta uz Google disku. Tātad, izņemot aparatūru (manā gadījumā Arduino), iespējams, sazināties ar savu ThingSpeak kontu, jums būs jāizveido Google konts, ja jums tāda vēl nav … un sāksim!

1. darbība:

Attēls
Attēls

Google diskā

Pirmkārt, Google diskā (https://drive.google.com) mums ir jāizveido izklājlapa un vienkārša veidlapa. Atveriet savu Google disku un noklikšķiniet uz Jauns - Google izklājlapas - tukša izklājlapa.

2. darbība:

Attēls
Attēls

Es savu pārdēvēju par “Atrašanās vieta uz leju izklājlapā”. Pēc tam dodieties uz Rīki - veidlapas izveide.

3. darbība:

Attēls
Attēls

Es pārdēvēju veidlapu par “Atrašanās vietas noteikšanas veidlapa” un mainīju “Jautājums bez nosaukuma” uz “Statuss”, un veidu no “Vairākas izvēles” uz “Īsa atbilde”.

4. solis:

Attēls
Attēls

Pēc tam es noņēmu e -pasta adrešu vākšanas iespēju - noklikšķiniet uz "Mainīt iestatījumus" un noņemiet atzīmi no visām parādītajā logā esošajām opcijām. Noklikšķiniet uz "Saglabāt".

5. darbība:

Attēls
Attēls

Aizveriet pašreizējo pārlūkprogrammas cilni, kurā atrodas jūsu veidlapa, un jums vajadzētu atgriezties galvenajā Google diska cilnē, kur jums vajadzētu būt gan veidlapai, gan tikko izveidotajai izklājlapai. Atveriet izklājlapu un dodieties uz "Fails - kopīgot …". Jaunajā logā noklikšķiniet uz "Papildu"

6. darbība

Attēls
Attēls

Pēc tam noklikšķiniet uz "Mainīt …" blakus iezīmei "Privāti - tikai jūs varat piekļūt"

7. darbība:

Attēls
Attēls

un mainiet uz “Ieslēgts - ikviens, kam ir saite”, kā arī uz “Var rediģēt”

8. darbība

Attēls
Attēls

Noklikšķiniet uz "Saglabāt" un "Gatavs", lai atgrieztos izklājlapā. Atrodoties tur, noklikšķiniet uz "Fails - publicēt tīmeklī …", pēc tam noklikšķiniet uz "Publicēt" un dialoglodziņa "Labi". Aizveriet logu "Publicēt tīmeklī".

Kamēr vēl atrodaties izklājlapā, noklikšķiniet uz "Veidlapa - doties uz tiešo formu". Ar peles labo pogu noklikšķiniet uz peles (es izmantoju pārlūku Google Chrome) un izvēlieties "Skatīt lapas avotu".

9. darbība

Attēls
Attēls

Jaunajā lapā, kas tiek atvērta, meklējiet “veidlapas darbība” un pēc tam atrodiet saiti, kas izskatās līdzīga vietnei https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXX/formResponse. Atlasiet šo saiti un kopējiet un ielīmējiet to kādā teksta dokumentā. Jūs to izmantosit, lai izveidotu pēdējo saiti, kas jāievada ThingSpeak ThingHTTP.

10. darbība:

Attēls
Attēls

Dodieties atpakaļ uz veidlapas avota skatu un tagad meklējiet “ieraksts”. Atrodiet un atlasiet visu tekstu, piemēram, "entry. XXXXX". Kopējiet un ielīmējiet to tajā pašā teksta dokumentā, kā norādīts iepriekš. Tagad varat aizvērt Google veidlapas avota skatu.

11. darbība:

Attēls
Attēls

Jaunajā teksta dokumentā (kur jums tagad ir saite un ieraksts, kuru mēs iepriekš ielīmējām) izveidojiet pēdējo saiti, kurai vajadzētu izskatīties šādi

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

Manā gadījumā “LOCATION+NAME” tiktu aizstāts ar katras konkrētās atrašanās vietas faktisko nosaukumu, kas man jāuzrauga. E -pasta paziņojuma e -pasta ziņojumā, ko es saņemšu, kad savienojums tiks pārtraukts, būs šis teksts, lai es precīzi zinātu, kurā atrašanās vietā ir problēmas. Šis teksts faktiski tiks iesniegts kā īsā teksta saturs laukā "statuss" Google veidlapā. "& Iesniegt = Iesniegt" klusi iesniegs veidlapu, neveicot nekādas turpmākas darbības, kad to izsauks ThingHTTP un React.

Visbeidzot, mums jāpievieno skripts, kas automātiski nosūtīs e -pasta paziņojumu katru reizi, kad izklājlapā tiks pievienots jauns ieraksts. Atveriet izklājlapu un pēc tam noklikšķiniet uz "Rīki - skriptu redaktors". Atvērtajā jaunajā logā pievienojiet šādu kodu (ar nepieciešamajām izmaiņām, lai atspoguļotu jūsu vajadzības):

funkcija newEntryNotification (e)

{

pamēģini

{

var timestamp = e.values [0];

var atrašanās vieta = e.vērtības [1];

var message = location + 'location is DOWN / n' + timestamp;

MailApp.sendEmail ("JŪSU E -PASTA ADRESE", "Uzmanību, atrašanās vieta DOWN!", Ziņojums);

}

nozveja (e)

{

MailApp.sendEmail ("JŪSU E -PASTA ADRESE", "Kļūda - Uzmanību, atrašanās vieta DOWN!", E.ziņojums);

}

}

Ja vēlaties, aizstājiet tekstu “JŪSU E -PASTA ADRESE” ar e -pasta adresi, uz kuru jānosūta paziņojums, un faktisko paziņojuma ziņojumu.

12. solis:

Attēls
Attēls

Šis skripts ir jāaktivizē, kad izklājlapā tika pievienots jauns ieraksts. Atrodoties tajā pašā logā (ar skripta kodu iepriekš), rīkjoslā noklikšķiniet uz ikonas "hronometrs" - "Pašreizējā projekta aktivizētāji". Jums tiks lūgts nosaukt savu projektu (es nosaucu savu par "locationDown"), un tiks atvērta cita pārlūkprogrammas cilne, ziņojot, ka netika atrasti rezultāti (nav aktivizētāju). Noklikšķiniet uz "izveidot jaunu aktivizētāju".

13. darbība

Attēls
Attēls

Jaunajā logā izvēlieties "No izklājlapas" sadaļā "Atlasīt notikuma avotu"; "Iesniegt veidlapu" par "Atlasīt notikuma veidu"; “Paziņot man nekavējoties” par “Kļūmju paziņojumu iestatījumi”. Noklikšķiniet uz "Saglabāt". Jums tiks lūgts pierakstīties savā Google kontā un, ja nepieciešams, šim aktivizētājam piekļūt jūsu kontam.

14. darbība:

Attēls
Attēls

Tagad aktivizētāju sarakstā ir jābūt aktivizētājam, kas tiks saistīts ar mūsu izveidoto skriptu. Tāpēc, ievietojot izklājlapā jaunus datus (izmantojot automātiskās veidlapas saiti un iepriekš aprakstīto kluso metodi), aktivizētājs nekavējoties izsauks skriptu, kas nosūtīs paziņojumu uz norādīto e -pasta adresi, kurā būs jūsu izvēlētais ziņojums.

Mēs esam pabeiguši darbu Google diska pusē, un tagad mēs pārejam uz ThingSpeak.

15. darbība:

Attēls
Attēls

Vietnē ThingSpeak Pierakstieties savā kontā (https://thingspeak.com/login) dodieties uz "Lietotnes - ThingHTTP" un pēc tam noklikšķiniet uz "Jauns ThingHTTP". Piešķiriet tam nosaukumu (šīs apmācības nolūkos esmu izvēlējies katras atrašanās vietas faktisko nosaukumu; "MyLocationName") un laukā "URL" ielīmējiet saiti no sava teksta faila, kas izskatās šādi

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

Atstājiet visus pārējos laukus tādus, kādi tie ir, un noklikšķiniet uz "Saglabāt lietu".

16. darbība:

Attēls
Attēls

Pēc tam dodieties uz "Lietotnes - reaģēt" un noklikšķiniet uz "Jauna reakcija". Piešķiriet tam nosaukumu (atkal es esmu izvēlējies atrašanās vietas nosaukumu, kam seko vārds "reaģēt", bet jūs varat izvēlēties jebkuru vārdu, kuru vēlaties); "Bez datu pārbaudes" "Nosacījuma tips"; "Ik pēc 10 minūtēm" - "Testa biežums"; kanāla nosaukums, kuru vēlaties pārraudzīt, lai iegūtu atjauninājumus, "If Channel"; laiks, kad kanāls nav atjaunināts (es izvēlējos 15 minūtes), jo "nav atjaunināts"; "ThingHTTP" par "Action"; "MyLocationName" par "pēc tam veic ThingHTTP"; “Izpildīt darbību tikai tad, kad nosacījums ir izpildīts pirmo reizi”, jo es vēlos saņemt paziņojumu tikai vienu reizi. Tas tiks atiestatīts, kad kanāls atkal tiks atjaunināts ar jauniem ienākošajiem datiem. Noklikšķiniet uz "Saglabāt reakciju" un esat pabeidzis.

Kopš šī brīža, kad jūsu kanāls nav atjaunināts 15 minūtes (vai citā laikā, atkarībā no tā, ko esat izvēlējies), React uztvers šo izņēmumu, kas aktivizēs ThingHTTP, kas savukārt klusībā izveidos jaunu ierakstu jūsu izklājlapu. Aktivizētājs un Google izklājlapas skripts to ņems no turienes, kā jau paskaidrots iepriekš.

Ieteicams: