Talaan ng mga Nilalaman:

Makatanggap ng isang Email sa Notipikasyon Kapag ang isang Channel sa ThingSpeak ay Hindi Nai-update nang Sandali: 16 Hakbang
Makatanggap ng isang Email sa Notipikasyon Kapag ang isang Channel sa ThingSpeak ay Hindi Nai-update nang Sandali: 16 Hakbang

Video: Makatanggap ng isang Email sa Notipikasyon Kapag ang isang Channel sa ThingSpeak ay Hindi Nai-update nang Sandali: 16 Hakbang

Video: Makatanggap ng isang Email sa Notipikasyon Kapag ang isang Channel sa ThingSpeak ay Hindi Nai-update nang Sandali: 16 Hakbang
Video: How To Fix Gmail Not Receiving Emails - 2022 || Can't Recive Emails on Gmail 2024, Nobyembre
Anonim
Makatanggap ng isang Email sa Abiso Kapag ang isang Channel sa ThingSpeak ay Hindi Nai-update nang ilang sandali
Makatanggap ng isang Email sa Abiso Kapag ang isang Channel sa ThingSpeak ay Hindi Nai-update nang ilang sandali

Kuwento sa background

Mayroon akong anim na mga automated greenhouse na kumakalat sa buong Dublin, Ireland. Sa pamamagitan ng paggamit ng isang pasadyang ginawang mobile phone app, malayuang masubaybayan ko at makaugnayan ang mga awtomatikong tampok sa bawat greenhouse. Maaari kong manu-manong buksan / isara ang mga bintana kapag ang temperatura ay masyadong mataas / mababa; Maaari kong simulan / itigil ang patubig kung ang kahalumigmigan ng lupa ay masyadong mababa / mataas; at maaari kong simulan / itigil ang bentilasyon ng bentilasyon kapag ang kahalumigmigan ng hangin ay masyadong mataas / mababa. O maaari ko lamang ilipat ang system sa Auto mode, at ang mga gulay ay mababantayan ng utak ng Arduino. Ang mga karagdagang detalye tungkol sa proyektong ito ay matatagpuan dito -

Ang malayuang koneksyon sa mga board ng Arduino sa anim na greenhouse ay ginawang posible sa tulong ng mga USB GPRS dongle, isa sa bawat lokasyon (Bumili ako ng minahan mula dito -E353s-2-With-Antenna-3G-USB-Modem-21-6-Mbps-HSPA-Mobile / 32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Tulad ng kaso sa koneksyon ng mobile data (hindi bababa sa Dublin), ito ay random na bumabagsak, kung minsan sa loob ng ilang minuto, minsan ay maaaring sa loob ng ilang oras. Dapat na bumagsak ang koneksyon, ang The Arduino ay naka-program upang i-reset ang USB dongle bawat 10 minuto, upang subukan nitong simulan ang isang sariwang koneksyon. Minsan gayunpaman, dahil sa (hindi) hindi alam na mga kadahilanan, kahit na ang koneksyon ng data ng GPRS ay nakabukas muli, ang Arduino (at ang naka-attach na kalasag na Ethernet) ay nabigo upang pansinin ang kaganapan. Ito ang sandali na kailangan kong pumunta sa tukoy na lokasyon at manu-manong i-reset ang buong system.

Kapag bumaba ang koneksyon ng data sa ilang lokasyon, nais kong maabisuhan sa pamamagitan ng email sa lalong madaling panahon, upang mabantayan ko ang tukoy na lokasyon na iyon. Tulad ng komunikasyon sa pagitan ng app ng telepono at ng Arduino ay nagaganap sa pamamagitan ng isang online na serbisyo na ibinigay ng https://thingspeak.com, hanggang kamakailan (at hanggang sa Marso 31, 2019), posible ito sa pamamagitan ng paggamit ng isa pang serbisyo na ibinigay ng https:// ifttt.com/discover, at pagtatakda ng isang ThingHTTP at isang React sa bawat channel, sinusubaybayan ang katotohanan kung ang partikular na channel na iyon ay hindi nai-update nang ilang oras. Gayunpaman, alinsunod sa isang email na natanggap ko mula sa Google, simula sa Marso 31, 2019, dahil sa hindi pagsunod sa kanilang na-update na mga kinakailangan sa privacy ng data (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems), ang pag-access sa ilang data sa aking Google account ay hindi na magagamit sa IFTTT, at tulad ng sa aking kaso ang email ay ang tanging mapagkukunan na na-access ng IFTTT, ang aking pag-unawa ay ang abiso ang serbisyo na inilarawan sa itaas ay titigil sa pagtatrabaho.

Kaya't samakatuwid, narito kami, nagpapatupad ng isang alternatibong solusyon upang ang mga abiso sa email ay patuloy na makarating kapag bumaba ang koneksyon ng data sa aking mga lokasyon. Gumagamit pa rin ito ng mga tampok na ThingHTTP at isang React sa aking mga channel, ang link lamang sa IFTTT ang muling naituro sa Google Drive. Kaya bukod sa hardware (Arduino sa aking kaso) maaari kang magkaroon ng pakikipag-usap sa iyong ThingSpeak account, kakailanganin mong lumikha ng isang Google account, na kung sakaling wala ka pa… at magsimula tayo!

Hakbang 1:

Larawan
Larawan

Sa Google Drive

Una, sa Google Drive (https://drive.google.com) kailangan naming lumikha ng isang spreadsheet at isang simpleng form. Buksan ang iyong Google Drive, at mag-click sa Bago - Google Sheets - Blangkong spreadsheet.

Hakbang 2:

Larawan
Larawan

Pinalitan ko ang pangalan ng minahan ng "Lokasyon ng spreadsheet". Pagkatapos ay pumunta sa Mga Tool - Lumikha ng isang form.

Hakbang 3:

Larawan
Larawan

Pinalitan ko ang form bilang "Lokasyon pababa form", at binago ang "Walang pamagat na tanong" sa "Katayuan", at ang uri mula sa "Maramihang pagpipilian" hanggang sa "Maikling sagot".

Hakbang 4:

Larawan
Larawan

Inalis ko ang pagpipilian para sa pagkolekta ng mga email address - mag-click sa "Baguhin ang mga setting", at alisan ng check ang lahat ng mga pagpipilian sa window na lumitaw. Mag-click sa "I-save".

Hakbang 5:

Larawan
Larawan

Isara ang kasalukuyang tab ng browser na humahawak sa iyong form, at dapat kang bumalik sa iyong pangunahing tab na Google Drive, kung saan dapat ay mayroon kang parehong form at spreadsheet na iyong nilikha. Buksan ang spreadsheet, at pumunta sa "File - Share …". Sa bagong window mag-click sa "Advanced"

Hakbang 6:

Larawan
Larawan

Pagkatapos mag-click sa "Baguhin …" sa tabi ng label na "Pribado - Ikaw lang ang maaaring mag-access"

Hakbang 7:

Larawan
Larawan

at baguhin sa "Bukas - Sinumang may link", at pati na rin sa "Maaaring i-edit"

Hakbang 8:

Larawan
Larawan

Mag-click sa "I-save" at "Tapos Na" upang makabalik sa iyong spreadsheet. Habang nandiyan, mag-click sa "File - I-publish sa web …", at pagkatapos ay mag-click sa "I-publish", at "OK" para sa window ng dayalogo. Isara ang window na "I-publish sa web".

Habang nasa spreadsheet pa rin, mag-click sa "Form - Go to live form". Mag-right click sa iyong mouse (Gumagamit ako ng browser ng Google Chrome) at piliin ang "Tingnan ang mapagkukunan ng pahina".

Hakbang 9:

Larawan
Larawan

Sa bagong pahina na magbubukas ng paghahanap para sa "form action" at pagkatapos ay hanapin ang link na mukhang katulad sa https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Piliin ang link na iyon, at kopyahin at idikit ito sa ilang tekstong dokumento. Gagamitin mo ito upang mabuo ang pangwakas na link na kailangang ipasok sa ThingHTTP para sa ThingSpeak.

Hakbang 10:

Larawan
Larawan

Bumalik sa view ng mapagkukunan ng iyong form, at ngayon maghanap para sa "entry.". Hanapin at piliin ang buong teksto, isang bagay tulad ng "entry. XXXXX". Kopyahin at i-paste ito sa parehong dokumento ng teksto tulad ng nasa itaas. Maaari mo nang maisara ang view ng mapagkukunan ng iyong form sa Google.

Hakbang 11:

Larawan
Larawan

Sa bagong dokumento ng teksto (kung saan mayroon ka ng link at ang entry na na-paste namin dati), lumikha ng pangwakas na link, na dapat magmukhang

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION + NAME at isumite = Isumite

Sa aking kaso, ang "LOCATION + NAME" ay papalitan ng aktwal na pangalan ng bawat partikular na lokasyon na kailangan kong subaybayan. Ang email sa notification sa email na matatanggap ko kapag bumaba ang koneksyon ay maglalaman ng teksto na ito, upang malaman ko nang eksakto kung anong mga problema ang lokasyon. Ang teksto na ito ay sa katunayan ay isusumite bilang nilalaman ng maikling teksto para sa patlang na "katayuan" sa form ng Google. Ang "& isumite = Isumite" ay tahimik na magsumite ng form, nang hindi nangangailangan ng anumang karagdagang mga aksyon, kapag na-invoke ng ThingHTTP at React.

Sa wakas, kailangan naming magdagdag ng isang script na awtomatikong magpapadala ng isang abiso sa email sa tuwing may idinagdag na bagong entry sa spreadsheet. Buksan ang spreadsheet, at pagkatapos ay mag-click sa "Tools - Script editor". Sa bagong bubukas na window idagdag ang sumusunod na code (kasama ang mga kinakailangang pagbabago upang maipakita ang iyong mga pangangailangan):

pagpapaandar ng bagongEntryNotification (e)

{

subukan mo

{

var timestamp = e.values [0];

lokasyon ng var = e.values [1];

var message = lokasyon + 'lokasyon ay BAWAS / n' + timestamp;

MailApp.sendEmail ("IYONG ADDRESS SA LAKOM", "Pansin, lokasyon na Pababa!", Mensahe);

}

mahuli (e)

{

MailApp.sendEmail ("IYONG Alamat sa email", "Error - Pansin, lokasyon na pababa!", E.message);

}

}

Palitan ang teksto ng "IYONG ALAMIN SA LAKOM" ng email address kung saan dapat maipadala ang abiso, at ang aktwal na mensahe ng abiso, kung nais mo.

Hakbang 12:

Larawan
Larawan

Kailangang ma-trigger ang script na ito kapag naidagdag ang isang bagong entry sa spreadsheet. Habang nasa parehong window (kasama ang script code sa itaas), mag-click sa icon na "stopwatch" sa tool bar - "Mga pag-trigger ng kasalukuyang proyekto". Hihilingin sa iyo na pangalanan ang iyong proyekto (Pinangalanan ko ang minahan na "lokasyonDown"), at magbubukas ang isa pang tab ng browser, na nag-uulat na walang mga resulta (walang mga nag-trigger) ang natagpuan. Mag-click sa "lumikha ng isang bagong gatilyo".

Hakbang 13:

Larawan
Larawan

Sa bagong window, piliin ang "Mula sa spreadsheet" para sa "Piliin ang mapagkukunan ng kaganapan"; "Sa form isumite" para sa "Piliin ang uri ng kaganapan"; "Ipaalam sa akin kaagad" para sa "pagkabigo sa mga setting ng abiso". Mag-click sa "I-save". Hihilingin sa iyo na mag-sign in sa iyong Google account, at "Payagan" para sa trigger na ito na i-access ang iyong account kapag kinakailangan.

Hakbang 14:

Larawan
Larawan

Dapat ay mayroon kang isang gatilyo sa listahan ng mga pag-trigger, na mai-link sa script na nilikha namin dati. Samakatuwid, sa pagpasok ng bagong data sa spreadsheet (gamit ang naka-automate na link na form at ang tahimik na pamamaraan na inilarawan sa itaas), tatawagan kaagad ng trigger ang script, na magpapadala ng isang abiso sa email address na ibinigay, na naglalaman ng iyong napiling mensahe.

Tapos na kami sa panig ng Google Drive, at lumilipat kami ngayon sa ThingSpeak.

Hakbang 15:

Larawan
Larawan

Sa ThingSpeak Mag-sign in sa iyong account (https://thingspeak.com/login), pumunta sa "Apps - ThingHTTP", at pagkatapos ay mag-click sa "New ThingHTTP". Bigyan ito ng isang pangalan (Pinili ko ang aktwal na pangalan ng bawat lokasyon; "MyLocationName" para sa hangarin ng tutorial na ito), at sa patlang na "URL", i-paste ang link mula sa iyong text file, ang mukhang

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION + NAME at isumite = Isumite

Iwanan ang lahat ng iba pang mga patlang tulad ng mga ito, at mag-click sa "I-save ang ThingHTTP".

Hakbang 16:

Larawan
Larawan

Pagkatapos ay pumunta sa "Apps - React", at mag-click sa "New React". Bigyan ito ng isang pangalan (muli, pinili ko ang pangalan ng lokasyon na sinusundan ng salitang "reaksyon", ngunit maaari kang pumili ng anumang pangalan na nais mo); "Walang Suriin ang Data" para sa "Uri ng Kalagayan"; "Tuwing 10 minuto" para sa "Frequency ng Pagsubok"; ang pangalan ng channel na nais mong subaybayan para sa mga update, para sa "Kung Channel"; ang oras na hindi na-update ang channel (pumili ako ng 15 minuto), para sa "hindi na-update para sa"; "ThingHTTP" para sa "Aksyon"; "MyLocationName" para sa "pagkatapos isagawa ang ThingHTTP"; "Patakbuhin ang aksyon sa kauna-unahang pagkakataon lamang natugunan ang kundisyon", dahil nais ko lang makakuha ng isang notification nang isang beses. Mare-reset ang sarili nito kapag na-update muli ang channel gamit ang bagong papasok na data. Mag-click sa "I-save ang React" at tapos ka na.

Mula ngayon kapag ang iyong channel ay hindi nai-update sa loob ng 15 minuto (o iba pang oras, depende sa iyong napili), mahuhuli ng React ang pagbubukod na mag-uudyok sa ThingHTTP, na kung saan ay tahimik na lilikha ng isang bagong entry sa iyong spreadsheet Dadalhin ito ng Trigger at ng script sa Google Spreadsheet mula doon, tulad ng naipaliwanag na sa itaas.

Inirerekumendang: