Мазмұны:

ThingSpeak арнасы біраз уақыт жаңартылмаған кезде хабарландыру хатын алыңыз: 16 қадам
ThingSpeak арнасы біраз уақыт жаңартылмаған кезде хабарландыру хатын алыңыз: 16 қадам

Бейне: ThingSpeak арнасы біраз уақыт жаңартылмаған кезде хабарландыру хатын алыңыз: 16 қадам

Бейне: ThingSpeak арнасы біраз уақыт жаңартылмаған кезде хабарландыру хатын алыңыз: 16 қадам
Бейне: Getting Started with ThingSpeak | IoT from Data to Action, Part 1 2024, Қараша
Anonim
ThingSpeak арнасы біраз уақыт жаңартылмаған кезде хабарландыру хатын алыңыз
ThingSpeak арнасы біраз уақыт жаңартылмаған кезде хабарландыру хатын алыңыз

Фондық әңгіме

Менде Ирландияның Дублин қаласында таралған алты автоматтандырылған жылыжай бар. Арнайы жасалған ұялы телефон қосымшасын қолдана отырып, мен әр жылыжайда автоматтандырылған мүмкіндіктерді қашықтан бақылай аламын және өзара әрекеттесе аламын. Мен температураны тым жоғары / төмен болған кезде терезелерді қолмен аша / жаба аламын; Мен топырақ ылғалдылығы тым төмен / жоғары болғанда суаруды бастауға / тоқтатуға болады; мен ауа ылғалдылығы тым жоғары / төмен болған кезде желдеткішті қосуға / тоқтатуға болады. Немесе мен жүйені автоматты режимге ауыстыра аламын, ал көкөністерге Arduino миы қарайды. Бұл жоба туралы толығырақ мына жерден білуге болады -

Алты жылыжайдағы Arduino тақталарына қашықтан қосылу USB GPRS кілттерінің көмегімен жүзеге асады, мен оларды әр жерден аламын (менікін мына жерден сатып алдымhttps://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -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 Sheets - Бос электрондық кестені басыңыз.

2 -қадам:

Кескін
Кескін

Мен кенішті «Орналасу кестесі» деп атадым. Содан кейін Құралдар - Пішін жасау бөліміне өтіңіз.

3 -қадам:

Кескін
Кескін

Мен пішіннің атын «Орналасу формасы» деп өзгерттім және «Атаусыз сұрақ» күйін «Мәртебе», ал «Бірнеше таңдау» түрін «Қысқа жауап» деп өзгерттім.

4 -қадам:

Кескін
Кескін

Содан кейін мен электрондық пошта мекенжайларын жинау опциясын алып тастадым - «Параметрлерді өзгерту» түймесін басып, пайда болған терезеде барлық опцияларды алып тастаңыз. «Сақтау» түймесін басыңыз.

5 -қадам:

Кескін
Кескін

Сіздің пішініңіз бар ағымдағы шолғыш қойындысын жабыңыз, сонда сіз Google Drive негізгі қойындысына оралуыңыз керек, онда сізде жаңа пішін мен электрондық кесте болуы керек. Электрондық кестені ашып, «Файл - Бөлісу …» бөліміне өтіңіз. Жаңа терезеде «Қосымша» түймесін басыңыз.

6 -қадам:

Кескін
Кескін

Содан кейін «Жеке - Сіз ғана кіре аласыз» белгісінің жанындағы «Өзгерту …» түймесін басыңыз

7 -қадам:

Кескін
Кескін

және «Қосулы - Сілтемесі бар кез келген адам», сонымен қатар «Өңдей алады» деп өзгертіңіз

8 -қадам:

Кескін
Кескін

Электрондық кестеге қайту үшін «Сақтау» және «Орындалды» түймесін басыңыз. Ол жерде «Файл - Интернетте жариялау …» түймесін басыңыз, содан кейін диалогтық терезе үшін «Жариялау» және «Жарайды» түймесін басыңыз. «Вебте жариялау» терезесін жабыңыз.

Электрондық кестеде тұрған кезде «Пішін - тірі формаға өту» түймесін басыңыз. Тінтуірдің оң жақ түймешігімен нұқыңыз (мен Google Chrome браузерін қолданамын) және «Бет көзін қарау» таңдаңыз.

9 -қадам:

Кескін
Кескін

Ашылатын жаңа бетте «пішін әрекетін» іздеңіз, содан кейін https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX /formResponse сілтемесін табыңыз. Сілтемені таңдап, оны мәтіндік құжатқа көшіріп қойыңыз. Сіз оны ThingSpeak үшін ThingHTTP -ге енгізу қажет соңғы сілтемені қалыптастыру үшін қолданасыз.

10 -қадам:

Кескін
Кескін

Пішіннің бастапқы көрінісіне оралыңыз, енді «енгізу» іздеңіз. «Entry. XXXXX» сияқты мәтінді табыңыз және таңдаңыз. Оны жоғарыдағы мәтіндік құжатқа көшіріп, қойыңыз. Енді сіз Google формасының бастапқы көрінісін жаба аласыз.

11 -қадам:

Кескін
Кескін

Жаңа мәтіндік құжатта (қазір сізде сілтеме мен біз енгізген жазба бар) соңғы сілтемені жасаңыз, ол келесідей болуы керек

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

Менің жағдайда, «LOCATION+NAME» мен бақылауым керек әрбір нақты орынның нақты атауымен ауыстырылады. Байланыс үзілген кезде алатын электрондық пошта хабарландыруында бұл мәтін болады, осылайша мен қай жерде проблемалар бар екенін білемін. Бұл мәтін іс жүзінде Google формасындағы «күй» өрісінің қысқа мәтінді мазмұны ретінде жіберіледі. «& Жіберу = Жіберу» ThingHTTP және React шақырған кезде басқа әрекеттерді қажет етпестен пішінді үнсіз жібереді.

Ақырында, электрондық кестеге жаңа жазба қосылған сайын автоматты түрде электрондық хабар жіберетін сценарийді қосу керек. Электрондық кестені ашыңыз, содан кейін «Құралдар - сценарий редакторы» түймесін басыңыз. Ашылған жаңа терезеде келесі кодты қосыңыз (сіздің қажеттіліктеріңізді көрсететін өзгерістермен):

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

{

тырысу

{

var timestamp = e.values [0];

var location = e.values [1];

var message = орналасуы + 'орны - ТӨМЕН / n' + уақыт белгісі;

MailApp.sendEmail («СІЗДІҢ ПОЧТА АДРЕСІҢІЗ», «Назар аударыңыз, орналасқан жер ТӨМЕН!», Хабарлама);

}

ұстау (е)

{

MailApp.sendEmail («СІЗДІҢ ПОЧТА АДРЕСІҢІЗ», «Қате - Назар аударыңыз, орналасуы ТӨМЕН!», E.message);

}

}

«Поштаңыздың мекенжайы» мәтінін хабарландыру жіберілетін электрондық пошта мекенжайымен және қаласаңыз, нақты хабарландыру хабарламасымен ауыстырыңыз.

12 -қадам:

Кескін
Кескін

Бұл сценарий электрондық кестеге жаңа жазба қосылған кезде іске қосылуы керек. Сол терезеде (сценарий коды жоғарыда) құралдар тақтасындағы «секундомер» белгішесін нұқыңыз - «Ағымдағы жобаның триггерлері». Сізден жобаңызға атау беру сұралады (мен өзімді «locationDown» деп атадым), және ешқандай нәтиже (ешқандай триггерлер) табылмағанын көрсететін басқа шолғыш қойындысы ашылады. «Жаңа триггер жасау» түймесін басыңыз.

13 -қадам:

Кескін
Кескін

Жаңа терезеде «Оқиға көзін таңдау» үшін «Электрондық кестеден» таңдаңыз; «Оқиға түрін таңдау» үшін «Пішінді жіберу туралы»; «Сәтсіздік туралы хабарлама параметрлері» үшін «маған дереу хабарлаңыз». «Сақтау» түймесін басыңыз. Сізден Google есептік жазбаңызға кіру сұралады және қажет болғанда бұл триггердің сіздің есептік жазбаңызға кіруіне «Рұқсат етіңіз».

14 -қадам:

Кескін
Кескін

Енді сізде триггерлер тізімінде бұрын жасалған сценариймен байланыстырылатын триггер болуы керек. Сондықтан электрондық кестеге жаңа деректерді енгізгенде (автоматтандырылған форма сілтемесі мен жоғарыда сипатталған үнсіз әдісті қолдана отырып), триггер дереу таңдалған хабарды қамтитын электрондық пошта мекенжайына хабарлама жіберетін сценарийді шақырады.

Біз Google Drive -та жұмыс жасаймыз, енді біз ThingSpeak -ке көшеміз.

15 -қадам:

Кескін
Кескін

ThingSpeak есептік жазбаңызға кіріңіз (https://thingspeak.com/login), «Қолданбалар - ThingHTTP» бөліміне өтіп, «Жаңа ThingHTTP» түймесін басыңыз. Оған атау беріңіз (мен әр оқулықтың нақты атауын таңдадым; осы оқулық үшін «MyLocationName») және «URL» өрісіне мәтіндік файлдың сілтемесін қойыңыз.

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

Барлық басқа өрістерді сол күйінде қалдырыңыз және «ThingHTTP сақтау» түймесін басыңыз.

16 -қадам:

Кескін
Кескін

Содан кейін «Қолданбалар - Реакция» бөліміне өтіп, «Жаңа реакция» түймесін басыңыз. Оған атау беріңіз (тағы да мен орын атауын таңдадым, содан кейін «әрекет ету» сөзі келді, бірақ сіз қалаған атауды таңдай аласыз); «Шарт түрі» бойынша «Деректерді тексеру жоқ»; «Әр 10 минут сайын» «Тест жиілігі» үшін; жаңартуларды бақылайтын арна атауы, «Егер арна» үшін; арна жаңартылмаған уақыт (мен 15 минут таңдадым), «жаңартылмаған» үшін; «Әрекет» үшін «ThingHTTP»; «Содан кейін ThingHTTP орындау» үшін «MyLocationName»; «Әрекетті шарт орындалған кезде ғана іске қосыңыз», себебі мен тек бір рет хабарлама алғым келеді. Бұл арна жаңа кіретін деректермен жаңартылған кезде өзін өзі қалпына келтіреді. «Реакцияны сақтау» түймесін басыңыз және сіз аяқтадыңыз.

Енді сіздің арна 15 минут бойы жаңартылмаған кезде (немесе сіз таңдаған нәрсеге байланысты басқа уақытта), React ThingHTTP іске қосатын ерекше жағдайды қабылдайды, ол өз кезегінде үнсіз түрде жаңа жазбаны жасайды. электрондық кесте Триггер мен Google электрондық кестесіндегі сценарий оны жоғарыда түсіндірілгендей сол жерден алады.

Ұсынылған: