विषयसूची:

जब ThingSpeak पर एक चैनल कुछ समय के लिए अपडेट नहीं किया गया था, तो एक सूचना ईमेल प्राप्त करें: 16 कदम
जब ThingSpeak पर एक चैनल कुछ समय के लिए अपडेट नहीं किया गया था, तो एक सूचना ईमेल प्राप्त करें: 16 कदम

वीडियो: जब ThingSpeak पर एक चैनल कुछ समय के लिए अपडेट नहीं किया गया था, तो एक सूचना ईमेल प्राप्त करें: 16 कदम

वीडियो: जब ThingSpeak पर एक चैनल कुछ समय के लिए अपडेट नहीं किया गया था, तो एक सूचना ईमेल प्राप्त करें: 16 कदम
वीडियो: Overview of Syncopal Disorders 2024, जुलाई
Anonim
जब ThingSpeak पर एक चैनल कुछ समय के लिए अपडेट नहीं किया गया था, तो एक सूचना ईमेल प्राप्त करें
जब ThingSpeak पर एक चैनल कुछ समय के लिए अपडेट नहीं किया गया था, तो एक सूचना ईमेल प्राप्त करें

पीछे की कहानी

मेरे पास छह स्वचालित ग्रीनहाउस हैं जो डबलिन, आयरलैंड में फैले हुए हैं। एक कस्टम मेड मोबाइल फोन ऐप का उपयोग करके, मैं प्रत्येक ग्रीनहाउस में स्वचालित सुविधाओं के साथ दूरस्थ रूप से निगरानी और बातचीत कर सकता हूं। तापमान बहुत अधिक / कम होने पर मैं मैन्युअल रूप से विंडोज़ खोल / बंद कर सकता हूँ; जब मिट्टी की नमी बहुत कम / अधिक हो तो मैं सिंचाई शुरू / बंद कर सकता हूँ; और जब हवा की नमी बहुत अधिक / कम हो तो मैं वेंटिलेशन पंखे को शुरू / बंद कर सकता हूं। या मैं बस सिस्टम को ऑटो मोड में बदल सकता हूं, और सब्जियों की देखभाल Arduino मस्तिष्क द्वारा की जाएगी। इस परियोजना के बारे में अधिक विवरण यहां पाया जा सकता है -

यूएसबी जीपीआरएस डोंगल की मदद से छह ग्रीनहाउस में Arduino बोर्डों का रिमोट कनेक्शन संभव है, प्रत्येक स्थान पर एक (मैंने यहां से मेरा खरीदा हैhttps://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-साथ-एंटीना-3G-USB-Modem-21-6-Mbps-HSPA-Mobile/32979630201.html?spm=a2g0s.9042311.0.0.44cb4c4dzVUThU)। जैसा कि मोबाइल डेटा कनेक्शन (कम से कम डबलिन में) के मामले में है, यह बेतरतीब ढंग से गिरता है, कभी-कभी कुछ मिनटों के लिए, कभी-कभी कुछ घंटों के लिए हो सकता है। क्या कनेक्शन गिरना चाहिए, Arduino को हर 10 मिनट में USB डोंगल को रीसेट करने के लिए प्रोग्राम किया जाता है, ताकि वह एक नया कनेक्शन शुरू करने का प्रयास कर सके। कभी-कभी, (अभी तक) अज्ञात कारणों से, भले ही जीपीआरएस डेटा कनेक्शन वापस चालू हो, Arduino (और संलग्न ईथरनेट शील्ड) घटना की सूचना लेने में विफल रहता है। यही वह क्षण है जब मुझे उस विशिष्ट स्थान पर जाने और पूरे सिस्टम को मैन्युअल रूप से रीसेट करने की आवश्यकता होती है।

जब किसी स्थान पर डेटा कनेक्शन गिरता है, तो मैं चाहता था कि मुझे जल्द से जल्द ईमेल द्वारा सूचित किया जाए, ताकि मैं उस विशिष्ट स्थान पर नज़र रख सकूं। चूंकि फोन ऐप और Arduino के बीच संचार https://thingspeak.com द्वारा प्रदान की गई एक ऑनलाइन सेवा के माध्यम से होता है, हाल ही में (और 31 मार्च 2019 तक), यह https:// द्वारा प्रदान की गई एक अन्य सेवा का उपयोग करके संभव था। ifttt.com/discover, और प्रत्येक चैनल पर एक ThingHTTP और एक प्रतिक्रिया सेट करना, इस तथ्य की निगरानी करना कि क्या उस विशेष चैनल को कुछ समय के लिए अपडेट नहीं किया गया है। हालाँकि, मुझे Google से प्राप्त एक ईमेल के अनुसार, 31 मार्च 2019 से, उनकी अद्यतन डेटा गोपनीयता आवश्यकताओं (https://cloud.google.com/blog/products/g-suite/elevating-user) का अनुपालन न करने के कारण -ट्रस्ट-इन-हमारी-एपीआई-पारिस्थितिकी तंत्र), मेरे Google खाते में कुछ डेटा तक पहुंच अब आईएफटीटीटी के लिए उपलब्ध नहीं होगी, और मेरे मामले में ईमेल ही एकमात्र संसाधन था आईएफटीटीटी की पहुंच थी, मेरी समझ यह थी कि अधिसूचना ऊपर वर्णित सेवा काम करना बंद कर देगी।

इसलिए, यहां हम एक वैकल्पिक समाधान लागू कर रहे हैं ताकि मेरे स्थानों पर डेटा कनेक्शन गिरने पर ईमेल सूचनाएं आती रहें। यह अभी भी मेरे चैनलों पर ThingHTTP और एक प्रतिक्रिया सुविधाओं का उपयोग करता है, केवल IFTTT के लिंक को Google ड्राइव पर फिर से इंगित किया गया था। तो हार्डवेयर के अलावा (मेरे मामले में Arduino) आप अपने ThingSpeak खाते से संचार कर सकते हैं, आपको एक Google खाता बनाना होगा, यदि आपके पास पहले से एक नहीं है … और चलिए शुरू करते हैं!

चरण 1:

छवि
छवि

गूगल ड्राइव में

सबसे पहले, Google ड्राइव (https://drive.google.com) में हमें एक स्प्रेडशीट और एक सरल फॉर्म बनाने की आवश्यकता है। अपना Google ड्राइव खोलें, और New - Google Sheets - Blank स्प्रैडशीट पर क्लिक करें।

चरण 2:

छवि
छवि

मैंने अपना नाम "स्थान नीचे स्प्रेडशीट" रखा। फिर टूल्स पर जाएं - एक फॉर्म बनाएं।

चरण 3:

छवि
छवि

मैंने फॉर्म का नाम बदलकर "लोकेशन डाउन फॉर्म" कर दिया, और "बिना शीर्षक वाले प्रश्न" को "स्थिति" में बदल दिया, और "बहुविकल्पी" से "लघु उत्तर" के प्रकार को बदल दिया।

चरण 4:

छवि
छवि

फिर मैंने ईमेल पते एकत्र करने के विकल्प को हटा दिया - "सेटिंग्स बदलें" पर क्लिक करें, और दिखाई देने वाली विंडो में सभी विकल्पों को अनचेक कर दिया। "सहेजें" पर क्लिक करें।

चरण 5:

छवि
छवि

वर्तमान ब्राउज़र टैब को बंद करें जिसमें आपका फ़ॉर्म है, और आपको अपने मुख्य Google ड्राइव टैब पर वापस जाना चाहिए, जहां आपके पास फ़ॉर्म और आपके द्वारा अभी बनाई गई स्प्रेडशीट दोनों होनी चाहिए। स्प्रैडशीट खोलें, और "फ़ाइल - साझा करें…" पर जाएं। नई विंडो में "उन्नत" पर क्लिक करें

चरण 6:

छवि
छवि

फिर "निजी - केवल आप ही पहुंच सकते हैं" लेबल के बगल में "बदलें …" पर क्लिक करें

चरण 7:

छवि
छवि

और "चालू - लिंक वाला कोई भी" और "संपादित कर सकते हैं" में भी बदलें

चरण 8:

छवि
छवि

अपनी स्प्रैडशीट पर वापस जाने के लिए "सहेजें" और "हो गया" पर क्लिक करें। वहां पर, "फ़ाइल - वेब पर प्रकाशित करें …" पर क्लिक करें, और फिर संवाद विंडो के लिए "प्रकाशित करें" और "ओके" पर क्लिक करें। "वेब पर प्रकाशित करें" विंडो बंद करें।

स्प्रेडशीट में रहते हुए, "फॉर्म - लाइव फॉर्म पर जाएं" पर क्लिक करें। अपने माउस से राइट-क्लिक करें (मैं Google क्रोम ब्राउज़र का उपयोग कर रहा हूं) और "पेज स्रोत देखें" चुनें।

चरण 9:

छवि
छवि

खुलने वाले नए पेज में "फॉर्म एक्शन" की खोज करें और फिर उस लिंक का पता लगाएं जो https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXX/formResponse जैसा दिखता है। उस लिंक का चयन करें, और इसे किसी टेक्स्ट दस्तावेज़ में कॉपी और पेस्ट करें। आप इसका उपयोग अंतिम लिंक बनाने के लिए करेंगे जिसे ThingHTTP for ThingSpeak में दर्ज करने की आवश्यकता है।

चरण 10:

छवि
छवि

अपने प्रपत्र के स्रोत दृश्य पर वापस जाएँ, और अब "प्रविष्टि" खोजें। पता लगाएँ और पूरे पाठ का चयन करें, "entry. XXXXX" जैसा कुछ। इसे ऊपर दिए गए टेक्स्ट दस्तावेज़ में कॉपी और पेस्ट करें। अब आप अपने Google फ़ॉर्म के स्रोत दृश्य को बंद कर सकते हैं।

चरण 11:

छवि
छवि

नए टेक्स्ट दस्तावेज़ में (जहां अब आपके पास लिंक और वह प्रविष्टि है जिसे हमने पहले चिपकाया था), अंतिम लिंक बनाएं, जो इस तरह दिखना चाहिए

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

मेरे मामले में, "LOCATION+NAME" को प्रत्येक विशेष स्थान के वास्तविक नाम से बदल दिया जाएगा जिसकी मुझे निगरानी करने की आवश्यकता है। कनेक्शन ड्रॉप होने पर मुझे प्राप्त होने वाली ईमेल सूचना ईमेल में यह पाठ होगा, ताकि मुझे पता चल सके कि वास्तव में किस स्थान में समस्या है। यह पाठ वास्तव में Google प्रपत्र में "स्थिति" फ़ील्ड के लिए लघु-पाठ सामग्री के रूप में सबमिट किया जाएगा। थिंगएचटीटीपी और रिएक्ट द्वारा बुलाए जाने पर, "&submit=Submit" बिना किसी कार्रवाई की आवश्यकता के चुपचाप फॉर्म जमा कर देगा।

अंत में, हमें एक स्क्रिप्ट जोड़ने की आवश्यकता है जो स्प्रैडशीट में हर बार एक नई प्रविष्टि जोड़े जाने पर स्वचालित रूप से एक ईमेल सूचना भेजेगी। स्प्रेडशीट खोलें, और फिर "टूल्स - स्क्रिप्ट एडिटर" पर क्लिक करें। खुलने वाली नई विंडो में निम्नलिखित कोड जोड़ें (अपनी आवश्यकताओं को दर्शाने के लिए आवश्यक परिवर्तनों के साथ):

समारोह newEntryNotification (ई)

{

प्रयत्न

{

वर टाइमस्टैम्प = e.values [0];

वर स्थान = e.values[1];

वर संदेश = स्थान + 'स्थान नीचे है\n' + टाइमस्टैम्प;

MailApp.sendEmail ("आपका ईमेल पता", "ध्यान दें, स्थान नीचे!", संदेश);

}

पकड़ (ई)

{

MailApp.sendEmail ("आपका ईमेल पता", "त्रुटि - ध्यान, स्थान नीचे!", ई.संदेश);

}

}

टेक्स्ट "आपका ईमेल पता" को उस ईमेल पते से बदलें जहां अधिसूचना भेजी जानी चाहिए, और वास्तविक अधिसूचना संदेश, यदि आप चाहें तो।

चरण 12:

छवि
छवि

स्प्रैडशीट में नई प्रविष्टि जोड़े जाने पर इस स्क्रिप्ट को ट्रिगर करने की आवश्यकता होती है। उसी विंडो में (उपरोक्त स्क्रिप्ट कोड के साथ), टूल बार में "स्टॉपवॉच" आइकन पर क्लिक करें - "वर्तमान प्रोजेक्ट के ट्रिगर्स"। आपको अपने प्रोजेक्ट का नाम देने के लिए कहा जाएगा (मैंने अपना नाम "लोकेशनडाउन" रखा है), और एक अन्य ब्राउज़र टैब खुलेगा, यह रिपोर्ट करते हुए कि कोई परिणाम नहीं मिला (कोई ट्रिगर नहीं)। "एक नया ट्रिगर बनाएं" पर क्लिक करें।

चरण 13:

छवि
छवि

नई विंडो में, "इवेंट स्रोत चुनें" के लिए "स्प्रेडशीट से" चुनें; "ईवेंट प्रकार का चयन करें" के लिए "फॉर्म सबमिट पर"; "विफलता सूचना सेटिंग" के लिए "मुझे तुरंत सूचित करें"। "सहेजें" पर क्लिक करें। आपको अपने Google खाते में साइन इन करने के लिए कहा जाएगा, और आवश्यकता पड़ने पर इस ट्रिगर को आपके खाते तक पहुंचने के लिए "अनुमति दें"।

चरण 14:

छवि
छवि

अब आपके पास ट्रिगर सूची में एक ट्रिगर होना चाहिए, जो उस स्क्रिप्ट से जुड़ा होगा जिसे हमने पहले बनाया था। इसलिए, स्प्रेडशीट में नया डेटा डालने पर (स्वचालित फॉर्म लिंक और ऊपर वर्णित मूक विधि का उपयोग करके), ट्रिगर तुरंत स्क्रिप्ट को कॉल करेगा, जो आपके चुने हुए संदेश वाले ईमेल पते पर एक सूचना भेजेगा।

हम Google ड्राइव साइड में कर चुके हैं, और अब हम थिंगस्पीक की ओर बढ़ रहे हैं।

चरण 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

अन्य सभी फ़ील्ड को वैसे ही छोड़ दें, और "Save ThingHTTP" पर क्लिक करें।

चरण 16:

छवि
छवि

फिर "ऐप्स - रिएक्ट" पर जाएं और "न्यू रिएक्ट" पर क्लिक करें। इसे एक नाम दें (फिर से, मैंने "प्रतिक्रिया" शब्द के बाद स्थान का नाम चुना है, लेकिन आप अपनी इच्छानुसार कोई भी नाम चुन सकते हैं); "स्थिति प्रकार" के लिए "कोई डेटा जांच नहीं"; "टेस्ट फ़्रीक्वेंसी" के लिए "हर 10 मिनट"; चैनल का नाम जिसे आप अपडेट के लिए मॉनिटर करना चाहते हैं, "अगर चैनल" के लिए; वह समय जब चैनल को अपडेट नहीं किया गया है (मैंने 15 मिनट चुना है), "के लिए अपडेट नहीं किया गया है"; "एक्शन" के लिए "थिंगएचटीटीपी"; "फिर थिंग एचटीटीपी निष्पादित करें" के लिए " MyLocationName "; "केवल पहली बार शर्त पूरी होने पर ही कार्रवाई करें", क्योंकि मैं केवल एक बार सूचना प्राप्त करना चाहता हूं। जब चैनल नए आने वाले डेटा के साथ फिर से अपडेट हो जाएगा तो यह अपने आप रीसेट हो जाएगा। "प्रतिक्रिया सहेजें" पर क्लिक करें और आपका काम हो गया।

अब से जब आपका चैनल १५ मिनट के लिए अपडेट नहीं किया गया है (या दूसरी बार, जो आपने चुना है उसके आधार पर), प्रतिक्रिया उस अपवाद को पकड़ लेगी जो थिंगएचटीटीपी को ट्रिगर करेगा, जो बदले में चुपचाप आपके में एक नई प्रविष्टि बनाएगा स्प्रेडशीट। Google स्प्रैडशीट पर ट्रिगर और स्क्रिप्ट इसे वहां से ले जाएगा, जैसा कि पहले ही ऊपर बताया जा चुका है।

सिफारिश की: