Բովանդակություն:

Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել. 16 քայլ
Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել. 16 քայլ

Video: Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել. 16 քայլ

Video: Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել. 16 քայլ
Video: Հայտնիների մտքերը ընկերության մասին 2024, Հուլիսի
Anonim
Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել
Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել

Նախապատմության պատմություն

Ես ունեմ վեց ավտոմատ ջերմոց, որոնք տարածված են Դուբլինում, Իռլանդիա: Օգտագործելով բջջային հեռախոսի պատվերով պատրաստված ծրագիր, ես կարող եմ հեռակա վերահսկել և շփվել յուրաքանչյուր ջերմոցի ավտոմատացված գործառույթների հետ: Ես կարող եմ ձեռքով բացել / փակել պատուհանները, երբ ջերմաստիճանը չափազանց բարձր է / ցածր; Ես կարող եմ սկսել / դադարեցնել ոռոգումը, երբ հողի խոնավությունը չափազանց ցածր է / բարձր; և ես կարող եմ միացնել / դադարեցնել օդափոխության օդափոխիչը, երբ օդի խոնավությունը չափազանց բարձր / ցածր է: Կամ ես պարզապես կարող եմ համակարգը միացնել Auto ռեժիմին, և բանջարեղենը խնամվելու է Arduino- ի ուղեղով: Այս նախագծի մասին ավելի մանրամասն կարելի է գտնել այստեղ ՝

Վեց ջերմոցներում գտնվող Arduino- ի տախտակներին հեռավոր միացումը հնարավոր է դարձել USB GPRS ռելսերի օգնությամբ, յուրաքանչյուրը մեկում (իմը գնել եմ այստեղից https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-With-Antenna-3G-USB-Modem-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU): Ինչպես բջջային տվյալների միացման դեպքում է (առնվազն Դուբլինում), այն պատահականորեն ընկնում է, երբեմն ՝ մի քանի րոպեով, երբեմն ՝ մի քանի ժամով: Եթե կապը խափանվի, Arduino- ն ծրագրված է յուրաքանչյուր 10 րոպեն մեկ վերականգնել USB դոնգը, որպեսզի նա փորձի սկսել նոր կապ: Երբեմն, սակայն (դեռ) անհայտ պատճառներով, նույնիսկ եթե GPRS տվյալների կապը նորից միացված է, Arduino- ն (և կցված Ethernet վահանը) չի կարողանում ուշադրություն դարձնել իրադարձության վրա: Սա այն պահն է, երբ ես պետք է գնամ այդ կոնկրետ վայր և ձեռքով վերակայեմ ամբողջ համակարգը:

Երբ որևէ վայրում տվյալների միացումն ընկնում է, ես ուզում էի հնարավորինս շուտ ինձ էլ. Քանի որ հեռախոսի հավելվածի և Arduino- ի միջև հաղորդակցությունը տեղի է ունենում https://thingspeak.com- ի կողմից տրամադրված առցանց ծառայության միջոցով, մինչև վերջերս (և մինչև 2019 թ. Մարտի 31 -ը), դա հնարավոր էր ՝ օգտագործելով մեկ այլ ծառայություն ՝ տրամադրված https:// ifttt.com/discover, և յուրաքանչյուր ալիքում ThingHTTP և React սահմանելը ՝ վերահսկելով այն փաստը, թե արդյոք տվյալ ալիքը որոշ ժամանակ չի թարմացվել: Այնուամենայնիվ, ըստ Google- ից ստացված նամակի ՝ 2019 թվականի մարտի 31-ից ՝ տվյալների գաղտնիության թարմացված պահանջներին չհամապատասխանելու պատճառով (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems), իմ Google հաշվի որոշ տվյալների հասանելիությունը IFTTT- ին այլևս հասանելի չի լինի, և քանի որ իմ դեպքում էլ. վերը նկարագրված ծառայությունը կդադարի աշխատել:

Հետևաբար, ահա մենք այլընտրանքային լուծում ենք կիրառում, որպեսզի էլփոստի ծանուցումները շարունակեն ժամանել, երբ իմ գտնվելու վայրերում տվյալների միացումն ընկնի: Սա դեռ օգտագործում է ThingHTTP- ի և React- ի հնարավորությունները իմ ալիքներում, միայն IFTTT- ի հղումը նորից ուղղվեց դեպի Google Drive: Այսպիսով, բացի սարքավորումներից (իմ դեպքում Arduino- ն), հնարավոր է, որ դուք շփվեք ձեր ThingSpeak հաշվի հետ, ձեզ հարկավոր կլինի ստեղծել Google հաշիվ, որը եթե այն արդեն չունեք… և սկսենք:

Քայլ 1:

Պատկեր
Պատկեր

Google Drive- ում

Նախ, Google Drive- ում (https://drive.google.com) մենք պետք է ստեղծենք աղյուսակ և պարզ ձև: Բացեք ձեր Google Drive- ը և կտտացրեք Նոր - Google աղյուսակներ - դատարկ աղյուսակ:

Քայլ 2:

Պատկեր
Պատկեր

Իմ անունը վերանվանեցի «Տեղորոշման աղյուսակ»: Այնուհետև գնացեք Գործիքներ - Ստեղծեք ձև:

Քայլ 3:

Պատկեր
Պատկեր

Ձևը վերանվանեցի որպես «Տեղակայման ներքևի ձև» և «Անվերնագիր հարց» -ը փոխեցի «Կարգավիճակի», իսկ տեսակը ՝ «Բազմակի ընտրություն» -ից ՝ «Կարճ պատասխան»:

Քայլ 4:

Պատկեր
Պատկեր

Այնուհետև ես հանեցի էլփոստի հասցեներ հավաքելու տարբերակը `կտտացրեք« Փոխել կարգավորումները »և չստուգեցի բոլոր հայտնված պատուհանների ընտրանքները: Կտտացրեք «Պահել»:

Քայլ 5:

Պատկեր
Պատկեր

Փակեք ձեր ձևը պահող զննարկչի ընթացիկ ներդիրը, և դուք պետք է վերադառնաք ձեր հիմնական Google Drive ներդիրին, որտեղ դուք պետք է ունենաք ինչպես ձևը, այնպես էլ ձեր ստեղծած աղյուսակը: Բացեք աղյուսակը և անցեք «Պատկեր - համօգտագործում…»: Նոր պատուհանում կտտացրեք «Ընդլայնված»

Քայլ 6:

Պատկեր
Պատկեր

Այնուհետև կտտացրեք «Փոխել…» ՝ «Անձնական. Միայն դուք կարող եք մուտք գործել» պիտակի կողքին

Քայլ 7:

Պատկեր
Պատկեր

և փոխեք «Միացված - հղում ունեցող յուրաքանչյուրը», ինչպես նաև «Կարող է խմբագրել»

Քայլ 8:

Պատկեր
Պատկեր

Կտտացրեք «Պահել» և «Կատարված է» ՝ ձեր աղյուսակին վերադառնալու համար: Քանի դեռ այնտեղ եք, կտտացրեք «Ֆայլ - Հրապարակել համացանցում …», այնուհետև կտտացրեք «Հրապարակել» և երկխոսության պատուհանի համար «OK» կոճակին: Փակեք «Հրապարակել համացանցում» պատուհանը:

Մինչ դեռ աղյուսակում եք, կտտացրեք «Ձև - Գնացեք կենդանի ձև»: Աջ սեղմեք մկնիկի հետ (ես օգտագործում եմ Google Chrome դիտարկիչը) և ընտրեք «Դիտել էջի աղբյուրը»:

Քայլ 9:

Պատկեր
Պատկեր

Նոր էջում, որը բացվում է, որոնեք «ձևի գործողություն» բառը, այնուհետև գտեք այն հղումը, որը նման է https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXX/formResponse: Ընտրեք այդ հղումը և պատճենեք և տեղադրեք այն ինչ -որ տեքստային փաստաթղթում: Դուք կօգտագործեք այն վերջնական հղումը ձևավորելու համար, որը պետք է մուտքագրվի ThingHTTP- ի համար ThingSpeak- ի համար:

Քայլ 10:

Պատկեր
Պատկեր

Վերադարձեք ձեր ձևի աղբյուրի տեսքին և այժմ որոնեք «մուտք»: Տեղադրեք և ընտրեք ամբողջ տեքստը ՝ «entry. XXXXX» - ի նման մի բան: Պատճենեք և տեղադրեք այն վերը նշված տեքստային փաստաթղթում: Այժմ կարող եք փակել ձեր Google ձևի աղբյուրի տեսքը:

Քայլ 11:

Պատկեր
Պատկեր

Նոր տեքստային փաստաթղթում (որտեղ այժմ ունեք հղումը և այն մուտքը, որը մենք նախապես փակցրել էինք), ստեղծեք վերջնական հղումը, որը պետք է նման լինի

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME և ներկայացնել = ներկայացնել

Իմ դեպքում «LOCATION+NAME» - ը կփոխարինվի յուրաքանչյուր կոնկրետ վայրի իրական անունով, որը ես պետք է վերահսկեմ: Էլփոստի ծանուցման էլ. Փոստը, որը ես կստանամ, երբ կապը խզվի, կպարունակի այս տեքստը, որպեսզի հստակ իմանամ, թե որ տեղն է խնդիրներ ունենում: Այս տեքստը իրականում կներկայացվի որպես Google- ի ձևով «կարգավիճակ» դաշտի կարճ տեքստային բովանդակություն: «& Ներկայացնել = Ներկայացնել» -ը լուռ կներկայացնի ձևը ՝ առանց որևէ լրացուցիչ գործողության անհրաժեշտության, երբ այն կանչվի ThingHTTP- ի և React- ի կողմից:

Ի վերջո, մենք պետք է ավելացնենք սցենար, որը ավտոմատ կերպով էլփոստի ծանուցում կուղարկի ամեն անգամ, երբ աղյուսակում նոր գրառում է ավելացվում: Բացեք աղյուսակը, այնուհետև կտտացրեք «Գործիքներ - սցենարի խմբագիր»: Նոր բացվող պատուհանում ավելացրեք հետևյալ ծածկագիրը (ձեր կարիքները արտացոլող անհրաժեշտ փոփոխություններով).

ֆունկցիա newEntryNotification (ե)

{

փորձիր

{

var timestamp = e.values [0];

var գտնվելու վայրը = e.values [1];

var հաղորդագրություն = տեղադրություն + 'վայրը DOWN / n' + ժամանակային նշան է;

MailApp.sendEmail («ՔՈ էլ. Փոստի հասցեն», «Ուշադրություն, գտնվելու վայրը ներքև է», հաղորդագրություն);

}

բռնել (ե)

{

MailApp.sendEmail («Ձեր էլ. Փոստի հասցեն», «Սխալ - ուշադրություն, գտնվելու վայրը ԻՆՔՆ Է», էլ. Հաղորդագրություն);

}

}

Փոխարինեք «Ձեր էլ. Փոստի հասցեն» տեքստը էլ.

Քայլ 12:

Պատկեր
Պատկեր

Այս սցենարը պետք է գործարկվի, երբ աղյուսակում նոր մուտք ավելացվի: Միևնույն պատուհանում (վերևի սցենարի ծածկագրով), կտտացրեք գործիքի տողում գտնվող «վայրկյանաչափ» պատկերակին `« Ընթացիկ նախագծի գործարկիչներ »: Ձեզանից կպահանջվի անվանել ձեր նախագիծը (իմը անվանեցի «locationDown»), և կբացվի զննարկչի մեկ այլ ներդիր ՝ հայտնելով, որ ոչ մի արդյունք (ոչ մի գործարկիչ) չի գտնվել: Կտտացրեք «ստեղծել նոր ձգան»:

Քայլ 13:

Պատկեր
Պատկեր

Նոր պատուհանում ընտրեք «Աղյուսակից» ՝ «Ընտրել իրադարձության աղբյուրը»; «Ներկայացրեք ձևով» ՝ «Ընտրեք իրադարձության տեսակը»; «Անհապաղ ծանուցել ինձ» «Չհաջողված ծանուցման կարգավորումները» համար: Կտտացրեք «Պահել»: Ձեզանից կպահանջվի մուտք գործել ձեր Google հաշիվ, և «Թույլատրել», որ այս ձգանը անհրաժեշտության դեպքում մուտք գործի ձեր հաշիվ:

Քայլ 14:

Պատկեր
Պատկեր

Այժմ դուք պետք է գործարկիչների ցանկում ունենաք ձգան, որը կապված կլինի նախկինում մեր ստեղծած սցենարին: Հետևաբար, աղյուսակի մեջ նոր տվյալների տեղադրման ժամանակ (օգտագործելով ավտոմատացված ձևի հղումը և վերը նկարագրված լուռ մեթոդը), ձգանը անմիջապես կկանչի սցենարը, որը ծանուցում կուղարկի տրամադրված էլ. Հասցեին, որը պարունակում է ձեր ընտրած հաղորդագրությունը:

Մենք ավարտեցինք Google Drive- ի կողմը, և այժմ շարժվում ենք դեպի ThingSpeak:

Քայլ 15:

Պատկեր
Պատկեր

ThingSpeak- ում Մուտք գործեք ձեր հաշիվ (https://thingspeak.com/login), գնացեք «sրագրեր - ThingHTTP» և այնուհետև կտտացրեք «Նոր ThingHTTP»: Տվեք նրան անուն (ես ընտրել եմ յուրաքանչյուր վայրի իրական անունը. «MyLocationName» ՝ այս ձեռնարկի նպատակների համար), իսկ «URL» դաշտում տեղադրեք հղումը ձեր տեքստային ֆայլից, այն, ինչ նման է

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME և ներկայացնել = ներկայացնել

Մնացած բոլոր դաշտերը թողեք այնպես, ինչպես կան և կտտացրեք «Պահել ThingHTTP» - ին:

Քայլ 16:

Պատկեր
Պատկեր

Այնուհետև գնացեք «sրագրեր - արձագանքեք» և կտտացրեք «Նոր արձագանք»: Անուն տվեք (կրկին, ես ընտրել եմ գտնվելու վայրի անունը, որին հաջորդում է «արձագանքել» բառը, բայց կարող եք ընտրել ցանկացած անուն, որը ցանկանում եք); «Տվյալների ստուգում չկա» «Վիճակի տեսակը»; «Ամեն 10 րոպեն մեկ» «Փորձարկման հաճախականությունը»; ալիքի անունը, որը ցանկանում եք վերահսկել թարմացումների համար, «Եթե ալիքը»; այն ժամանակը, երբ ալիքը չի թարմացվել (ես ընտրել եմ 15 րոպե), «չի թարմացվել» -ի համար; «ThingHTTP» «Գործողության» համար; "MyLocationName" - ի համար "then perform ThingHTTP" for; «Գործարկել գործողությունը միայն առաջին անգամ, երբ պայմանը բավարարված է», քանի որ ես ուզում եմ միայն մեկ անգամ ծանուցում ստանալ: Սա ինքնաբերաբար կվերականգնվի, երբ ալիքը նորից թարմացվի նոր մուտքային տվյալներով: Կտտացրեք «Պահել արձագանքը» և ավարտված եք:

Այսուհետ, երբ ձեր ալիքը չի թարմացվել 15 րոպե (կամ այլ ժամանակ ՝ կախված ձեր ընտրածից), React- ը կբռնի այդ բացառությունը, որը կաշխատի ThingHTTP- ին, որն էլ իր հերթին լուռ կստեղծի ձեր գրառումը աղյուսակ The Trigger- ը և Google Spreadsheet- ի սցենարը այն կվերցնեն այնտեղից, ինչպես արդեն վերևում բացատրված է:

Խորհուրդ ենք տալիս: