Мазмуну:

ThingSpeakтагы канал бир азга жаңыртылбай калганда, электрондук катты алыңыз: 16 кадам
ThingSpeakтагы канал бир азга жаңыртылбай калганда, электрондук катты алыңыз: 16 кадам

Video: ThingSpeakтагы канал бир азга жаңыртылбай калганда, электрондук катты алыңыз: 16 кадам

Video: ThingSpeakтагы канал бир азга жаңыртылбай калганда, электрондук катты алыңыз: 16 кадам
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Ноябрь
Anonim
ThingSpeakтагы канал бир азга жаңыртылбай калганда, электрондук катты алыңыз
ThingSpeakтагы канал бир азга жаңыртылбай калганда, электрондук катты алыңыз

Негизги окуя

Менде Ирландиянын Дублин шаарында жайылган алты автоматташтырылган күнөскана бар. Жеке мобилдик телефондун колдонмосун колдонуу менен, мен ар бир күнөскананын автоматташтырылган функцияларын алыстан көзөмөлдөп, өз ара аракеттене алам. Мен температураны өтө жогору / төмөн болгондо терезелерди кол менен ача / жаба алам; Мен топурактын нымдуулугу өтө төмөн / бийик болгондо сугатты баштайм / токтото алам; жана абанын нымдуулугу өтө жогору / төмөн болгондо желдетүү желдеткичин иштете / токтото алам. Же мен жөн гана системаны Авто режимине которо алам, жашылчаларды Arduino мээси карайт. Бул долбоор тууралуу кененирээк маалыматты бул жерден тапса болот -

Алты күнөскананын Arduino такталарына алыскы туташуу USB GPRS донглдеринин жардамы менен мүмкүн болгон, ар бир жерде (меникин бул жерден сатып алгам -E353s-2-Антенна-3G-USB-Модем-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Мобилдик маалымат байланышында болгон сыяктуу (жок дегенде Дублинде), ал туш келди түшөт, кээде бир нече мүнөткө, кээде бир нече саатка созулушу мүмкүн. Байланыш үзүлсө, Arduino USB туташуусун 10 мүнөт сайын баштапкы абалга келтирип, жаңы туташууну баштоо үчүн программаланган. Кээде, бирок (белгисиз) себептерден улам, 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 -утун-биздин-api-экосистемаларга), менин Google аккаунтумдагы айрым маалыматтарга кирүү IFTTT үчүн мындан ары жеткиликтүү болбойт, жана менин учурумдагыдай эле 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 -кадам:

Сүрөт
Сүрөт

Электрондук жадыбалга кайтуу үчүн "Сактоо" жана "Даяр" дегенди басыңыз. Ал жерде жүргөндө "Файл - Интернетте жарыялоо …" дегенди чыкылдатыңыз, анан диалог терезеси үчүн "Жарыялоо" жана "ОК" чыкылдатыңыз. "Желеде жарыялоо" терезесин жабыңыз.

Электрондук жадыбалда дагы эле "Форма - Жандуу формага өтүү" дегенди басыңыз. Чычканыңыз менен оң баскыч менен чыкылдатыңыз (мен Google Chrome браузерин колдонуп жатам) жана "Барактын булагын көрүү" дегенди тандаңыз.

9 -кадам:

Сүрөт
Сүрөт

Жаңы формада "форма аракетин" издеп, андан кийин окшош шилтемени табыңыз https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Ошол шилтемени тандап, аны көчүрүп, кандайдыр бир текст документине чаптаңыз. Сиз ThingSpeak үчүн ThingHTTPге киргизилиши керек болгон акыркы шилтемени түзүү үчүн колдоносуз.

10 -кадам:

Сүрөт
Сүрөт

Формаңыздын баштапкы көрүнүшүнө кайтыңыз жана азыр "жазууну" издеңиз. Бүт текстти таап, "entry. XXXXX" сыяктуу нерсени тандаңыз. Көчүрүү жана аны жогоруда көрсөтүлгөн текст документине чаптоо. Эми Google формаңыздын булак көрүнүшүн жаба аласыз.

11 -кадам:

Сүрөт
Сүрөт

Жаңы тексттик документте (сизде азыр шилтеме жана биз мурун киргизген жазуу бар), акыркы шилтемени түзүңүз, ал окшош болушу керек

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

Менин учурда, "ЖЕР+АТЫ" мен көзөмөлдөшүм керек болгон ар бир конкреттүү жердин чыныгы атына алмаштырылат. Байланыш үзүлгөндө ала турган электрондук почта билдирүүсү бул текстти камтыйт, ошондуктан мен кайсы жерде көйгөйлөр бар экенин так билем. Бул текст чындыгында Google түрүндөгү "статус" талаасы үчүн кыска текст мазмуну катары берилет. "& Тапшыруу = Тапшыруу" ThingHTTP жана React тарабынан чакырылганда, эч кандай башка аракеттерге муктаж болбостон, форманы унчукпай тапшырат.

Акыр -аягы, биз электрондук жадыбалга жаңы жазуу кошулган сайын автоматтык түрдө электрондук почта билдирүүсүн жөнөтө турган скриптти кошушубуз керек. Электрондук таблицаны ачып, анан "Куралдар - Скрипт редактору" баскычын чыкылдатыңыз. Ачылган жаңы терезеде төмөнкү кодду кошуңуз (сиздин муктаждыктарыңызды чагылдыруу үчүн керектүү өзгөртүүлөр менен):

newEntryNotification функциясы (e)

{

аракет кыл

{

var timestamp = e.values [0];

var location = e.values [1];

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

MailApp.sendEmail ("СИЗДИН ПОЧТАСЫНЫЗДЫН АДРЕСИ", "Көңүл буруңуз, жайгашкан жери ТӨМӨН!", Билдирүү);

}

кармоо (д)

{

MailApp.sendEmail ("СИЗДИН ПОЧТАСЫНЫЗДЫН АДРЕСИ", "Ката - Көңүл буруңуз, жайгашуу ТӨМӨН!", E.message);

}

}

Кааласаңыз, "СИЗДИН ЭЛЕКТРОНДУК АДРЕСИңиз" текстин билдирүү жөнөтүлө турган электрондук почта дарегине жана чыныгы билдирүү билдирүүсүнө алмаштырыңыз.

12 -кадам:

Сүрөт
Сүрөт

Бул скрипт электрондук жадыбалга жаңы жазуу кошулганда иштетилиши керек. Ошол эле терезеде турганда (жогорудагы скрипт коду менен), инструменттер тилкесиндеги "Секундомер" сүрөтчөсүн чыкылдатыңыз - "Учурдагы долбоордун триггерлери". Сизден долбооруңуздун аталышы талап кылынат (мен өзүмдүн жеримди "locationDown" деп атадым), жана башка браузердин өтмөгү ачылат, анда эч кандай жыйынтык (триггерлер жок) табылган. "Жаңы триггер түзүү" баскычын чыкылдатыңыз.

13 -кадам:

Сүрөт
Сүрөт

Жаңы терезеде "Окуянын булагын тандоо" үчүн "Электрондук жадыбалдан" тандаңыз; "Форманы тапшырууда" "Иш -чаранын түрүн тандоо" үчүн; "Ката жөнүндө билдирүү жөндөөлөрү" үчүн "Мага дароо кабарла". "Сактоо" баскычын чыкылдатыңыз. Сизден Google каттоо эсебиңизге кирүүңүз талап кылынат жана бул триггер керек болгондо аккаунтуңузга кирүүгө уруксат берет.

14 -кадам:

Сүрөт
Сүрөт

Эми сизде триггерлер тизмесинде триггер болушу керек, ал биз мурда түзгөн скрипт менен байланыштырылат. Ошондуктан, электрондук жадыбалга жаңы маалыматтарды киргизгенде (автоматташтырылган форма шилтемесин жана жогоруда сүрөттөлгөн үнсүз ыкманы колдонуп), триггер дароо сиз тандаган билдирүүнү камтыган электрондук почта дарегине билдирүү жөнөтө турган скриптти чакырат.

Биз Google Drive тарабында иштейбиз жана азыр ThingSpeakке өтүп жатабыз.

15 -кадам:

Сүрөт
Сүрөт

ThingSpeak -те каттоо эсебиңизге кириңиз (https://thingspeak.com/login), "Apps - ThingHTTP" бөлүмүнө өтүп, "New ThingHTTP" дегенди басыңыз. Ага ат бериңиз (мен ар бир жайгашкан жердин чыныгы атын тандадым; "Менин үйрөткүчүмдүн максаты үчүн" MyLocationName ") жана" URL "талаасына текст файлыңыздагы шилтемени чаптап коюңуз.

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

Башка бардык талааларды ошол бойдон калтырып, "ThingHTTP сактоо" баскычын чыкылдатыңыз.

16 -кадам:

Сүрөт
Сүрөт

Андан кийин "Apps - React" бөлүмүнө өтүп, "New React" баскычын чыкылдатыңыз. Ага ат коюңуз (дагы, мен "реакция" деген сөздүн артынан жайгашкан жердин атын тандадым, бирок сиз каалаган ысымды тандай аласыз); "Шарттын түрү" үчүн "Маалыматтарды текшерүү жок"; "Ар бир 10 мүнөт" "Сыноо жыштыгы" үчүн; жаңыртууларга байкоо салгыңыз келген каналдын аталышы, "Эгерде канал" үчүн; канал жаңыртыла элек убакыт (мен 15 мүнөт тандадым), анткени "үчүн жаңыртылган жок"; "Аракет" үчүн "ThingHTTP"; "MyLocationName" үчүн "анда ThingHTTP аткар"; "Аракетти биринчи жолу шарт аткарганда гана иштетиңиз", анткени мен бир гана жолу эскертме алгым келет. Канал жаңы келген маалыматтар менен кайра жаңыртылганда, бул өзүн -өзү баштапкы абалга келтирет. "Реакцияны сактоо" баскычын чыкылдатыңыз.

Каналыңыз 15 мүнөттөн кийин жаңыртылбай калганда (же сиз тандаганыңызга жараша башка убакта), React ThingHTTPти иштетүүчү өзгөчө кырдаалды түшүнөт, ал өз кезегинде унчукпай түрдө жаңы жазууңузду түзөт. таблица Trigger жана Google Spreadsheetтеги скрипт жогоруда айтылгандай, аны ошол жерден алат.

Сунушталууда: