جدول المحتويات:
- الخطوة 1:
- الخطوة 2:
- الخطوه 3:
- الخطوة الرابعة:
- الخطوة الخامسة:
- الخطوة السادسة:
- الخطوة السابعة:
- الخطوة الثامنة:
- الخطوة 9:
- الخطوة 10:
- الخطوة 11:
- الخطوة 12:
- الخطوة 13:
- الخطوة 14:
- الخطوة 15:
- الخطوة 16:
فيديو: تلقي إشعار بالبريد الإلكتروني عند عدم تحديث قناة على ThingSpeak لفترة: 16 خطوة
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
قصة الخلفية
لدي ستة دفيئات آلية منتشرة في جميع أنحاء دبلن ، أيرلندا. باستخدام تطبيق مخصص للهاتف المحمول ، يمكنني مراقبة الميزات التلقائية في كل دفيئة والتفاعل معها عن بُعد. يمكنني فتح / إغلاق النوافذ يدويًا عندما تكون درجة الحرارة مرتفعة / منخفضة جدًا ؛ يمكنني بدء / إيقاف الري عندما تكون رطوبة التربة منخفضة / مرتفعة للغاية ؛ ويمكنني تشغيل / إيقاف مروحة التهوية عندما تكون رطوبة الهواء مرتفعة / منخفضة للغاية. أو يمكنني ببساطة تبديل النظام إلى الوضع التلقائي ، وسوف يعتني دماغ 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 لإعادة تعيين USB dongle كل 10 دقائق ، لمحاولة بدء اتصال جديد. ومع ذلك ، في بعض الأحيان ، نظرًا لأسباب غير معروفة (حتى الآن) ، حتى إذا تم إعادة تشغيل اتصال بيانات GPRS ، يفشل Arduino (ودرع Ethernet المرفق) في ملاحظة الحدث. هذه هي اللحظة التي أحتاج فيها للذهاب إلى هذا الموقع المحدد وإعادة ضبط النظام بالكامل يدويًا.
عندما ينقطع اتصال البيانات في مكان ما ، أردت أن يتم إخطاري عبر البريد الإلكتروني في أقرب وقت ممكن ، حتى أراقب هذا الموقع المحدد. نظرًا لأن الاتصال بين تطبيق الهاتف و Arduino يتم من خلال خدمة عبر الإنترنت مقدمة من https://thingspeak.com ، حتى وقت قريب (وحتى 31 مارس 2019) ، كان هذا ممكنًا باستخدام خدمة أخرى مقدمة من https:// ifttt.com/discover ، وتعيين ThingHTTP و React على كل قناة ، ومراقبة حقيقة ما إذا كانت هذه القناة المعينة لم يتم تحديثها لبعض الوقت. ومع ذلك ، وفقًا لرسالة بريد إلكتروني تلقيتها من Google ، بدءًا من 31 مارس 2019 ، بسبب عدم الامتثال لمتطلبات خصوصية البيانات المحدثة (https://cloud.google.com/blog/products/g-suite/elevating-user -الثقة في الأنظمة البيئية الخاصة بنا) ، لن يكون الوصول إلى بعض البيانات في حسابي على Google متاحًا بعد الآن لـ IFTTT ، وكما في حالتي ، كان البريد الإلكتروني هو المورد الوحيد الذي يمكن لـ IFTTT الوصول إليه ، فهمت أن الإخطار الخدمة الموضحة أعلاه ستتوقف عن العمل.
لذلك ، نحن هنا ، ننفذ حلاً بديلاً من أجل استمرار وصول إشعارات البريد الإلكتروني عند انقطاع اتصال البيانات في مواقعي. لا يزال هذا يستخدم ThingHTTP وميزات React على قنواتي ، فقط رابط IFTTT تمت إعادة توجيهه إلى Google Drive. لذا بصرف النظر عن الأجهزة (Arduino في حالتي) ، فقد يكون لديك اتصال بحساب ThingSpeak الخاص بك ، وسوف تحتاج إلى إنشاء حساب Google ، وذلك في حال لم يكن لديك حساب بالفعل … ودعنا نبدأ!
الخطوة 1:
في Google Drive
أولاً ، في Google Drive (https://drive.google.com) نحتاج إلى إنشاء جدول بيانات ونموذج بسيط. افتح Google Drive الخاص بك ، وانقر فوق جديد - أوراق Google - جدول بيانات فارغ.
الخطوة 2:
أعدت تسمية موقعي "جدول بيانات الموقع". ثم اذهب إلى Tools - Create a form.
الخطوه 3:
أعدت تسمية النموذج إلى "نموذج الموقع" ، وغيرت "سؤال بدون عنوان" إلى "الحالة" ، والنوع من "الاختيار من متعدد" إلى "إجابة قصيرة".
الخطوة الرابعة:
بعد ذلك أزلت خيار جمع عناوين البريد الإلكتروني - انقر على "تغيير الإعدادات" ، وألغيت تحديد جميع الخيارات في النافذة التي ظهرت. انقر فوق "حفظ".
الخطوة الخامسة:
أغلق علامة تبويب المتصفح الحالية التي تحتوي على النموذج الخاص بك ، ويجب أن تعود إلى علامة تبويب Google Drive الرئيسية ، حيث يجب أن يكون لديك كل من النموذج وجدول البيانات الذي أنشأته للتو. افتح جدول البيانات ، وانتقل إلى "ملف - مشاركة …". في النافذة الجديدة انقر على "متقدم"
الخطوة السادسة:
ثم انقر فوق "تغيير …" بجوار التصنيف "خاص - أنت وحدك من يستطيع الوصول"
الخطوة السابعة:
والتغيير إلى "تشغيل - أي شخص لديه الرابط" ، وكذلك إلى "يمكنه التعديل"
الخطوة الثامنة:
انقر على "حفظ" و "تم" للرجوع إلى جدول البيانات. أثناء التواجد هناك ، انقر فوق "ملف - نشر على الويب …" ، ثم انقر فوق "نشر" ، و "موافق" في نافذة الحوار. أغلق نافذة "النشر على الويب".
أثناء وجودك في جدول البيانات ، انقر فوق "نموذج - الانتقال إلى النموذج المباشر". انقر بزر الماوس الأيمن (أنا أستخدم متصفح Google Chrome) واختر "عرض مصدر الصفحة".
الخطوة 9:
في الصفحة الجديدة التي تفتح البحث عن "نموذج إجراء" ثم حدد الرابط الذي يبدو مشابهًا لـ https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse. حدد هذا الارتباط ، وانسخه والصقه في مستند نصي. ستستخدمه لتكوين الرابط النهائي الذي يجب إدخاله في ThingHTTP لـ ThingSpeak.
الخطوة 10:
ارجع إلى طريقة العرض المصدر للنموذج الخاص بك ، وابحث الآن عن "إدخال". حدد موقع النص بالكامل وحدده ، مثل "entry. XXXXX". انسخه والصقه في نفس المستند النصي كما هو مذكور أعلاه. يمكنك الآن إغلاق عرض المصدر لنموذج Google الخاص بك.
الخطوة 11:
في المستند النصي الجديد (حيث لديك الآن الرابط والإدخال الذي قمنا بلصقه من قبل) ، قم بإنشاء الرابط النهائي ، والذي يجب أن يبدو مثل
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse؟entry. XXXXX = LOCATION + NAME & submit = إرسال
في حالتي ، سيتم استبدال "الموقع + الاسم" بالاسم الفعلي لكل موقع معين أحتاج إلى مراقبته. سيحتوي البريد الإلكتروني لإشعار البريد الإلكتروني الذي سأتلقاه عند انقطاع الاتصال على هذا النص ، حتى أعلم بالضبط ما هو الموقع الذي به مشاكل. سيتم تقديم هذا النص في الواقع كمحتوى نص قصير لحقل "الحالة" في نموذج Google. سيقوم "& submit = Submit" بإرسال النموذج بصمت ، دون الحاجة إلى أي إجراءات أخرى ، عندما يتم استدعاؤه بواسطة ThingHTTP و React.
أخيرًا ، نحتاج إلى إضافة برنامج نصي سيرسل تلقائيًا إشعارًا بالبريد الإلكتروني في كل مرة يتم فيها إضافة إدخال جديد في جدول البيانات. افتح جدول البيانات ، ثم انقر فوق "أدوات - محرر النص". في النافذة الجديدة التي تفتح ، أضف الكود التالي (مع التغييرات المطلوبة لتعكس احتياجاتك):
الوظيفة newEntryNotification (e)
{
محاولة
{
var timestamp = e.values [0] ،
var location = e.values [1] ؛
var message = الموقع + 'الموقع DOWN / n' + timestamp ؛
MailApp.sendEmail ("عنوان بريدك الإلكتروني" ، "انتباه ، موقع أسفل!" ، رسالة) ؛
}
قبض (ه)
{
MailApp.sendEmail ("عنوان بريدك الإلكتروني" ، "خطأ - انتباه ، موقع أسفل!" ، رسالة إلكترونية) ؛
}
}
استبدل النص "عنوان بريدك الإلكتروني" بعنوان البريد الإلكتروني الذي يجب إرسال الإشعار إليه ، ورسالة الإشعار الفعلية ، إذا كنت ترغب في ذلك.
الخطوة 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 = إرسال
اترك جميع الحقول الأخرى كما هي ، وانقر على "Save ThingHTTP".
الخطوة 16:
ثم انتقل إلى "Apps - React" ، وانقر على "New React". أعطه اسمًا (مرة أخرى ، اخترت اسم الموقع متبوعًا بكلمة "تفاعل" ، ولكن يمكنك اختيار أي اسم تريده) ؛ "لا يوجد فحص بيانات" لـ "نوع الشرط" ؛ "كل 10 دقائق" لـ "اختبار التردد" ؛ اسم القناة الذي تريد مراقبته للحصول على تحديثات ، لـ "If Channel" ؛ الوقت الذي لم يتم فيه تحديث القناة (لقد اخترت 15 دقيقة) ، لـ "لم يتم تحديثه لـ" ؛ "ThingHTTP" مقابل "الإجراء" ؛ "MyLocationName" لـ "ثم نفذ ThingHTTP" ؛ "شغّل الإجراء فقط في المرة الأولى التي يتم فيها استيفاء الشرط" ، لأنني أريد تلقي إشعار مرة واحدة فقط. سيؤدي هذا إلى إعادة تعيين نفسه عندما يتم تحديث القناة مرة أخرى ببيانات واردة جديدة. انقر فوق "حفظ رد الفعل" وتكون قد انتهيت.
من الآن فصاعدًا ، عندما لا يتم تحديث قناتك لمدة 15 دقيقة (أو في وقت آخر ، اعتمادًا على ما اخترته) ، ستلتقط React هذا الاستثناء الذي سيؤدي إلى تشغيل ThingHTTP ، والذي بدوره سينشئ بصمت إدخالاً جديدًا في حسابك جدول. سينتقل المشغل والبرنامج النصي في جدول بيانات Google من هناك ، كما هو موضح أعلاه.
موصى به:
تلقي إشعارات البريد الإلكتروني من مشاريع إنترنت الأشياء الخاصة بك: 6 خطوات
تلقي إخطارات عبر البريد الإلكتروني من مشاريع إنترنت الأشياء الخاصة بك: إشعارات البريد الإلكتروني الخاصة بالبرنامج التي تربط مشاريع إنترنت الأشياء الخاصة بك بـ Adafruit IO و IFTTT لقد قمت بنشر بعض مشاريع إنترنت الأشياء. أتمنى أن تكون قد رأيتهم ، إذا لم تكن قد دعوتك إلى ملفي الشخصي والتحقق منها ، فقد أردت تلقي بعض الإشعارات عند متغير
أسهل كاميرا ويب ككاميرا أمنية - كشف الحركة والصور بالبريد الإلكتروني: 4 خطوات
أسهل كاميرا ويب ككاميرا أمان - اكتشاف الحركة والصور التي يتم إرسالها بالبريد الإلكتروني: لم تعد بحاجة إلى تنزيل أو تكوين البرامج للحصول على صور تم اكتشاف الحركة من كاميرا الويب إلى بريدك الإلكتروني - ما عليك سوى استخدام متصفحك. استخدم متصفح Firefox أو Chrome أو Edge أو Opera محدث على Windows أو Mac أو Android لالتقاط الصورة
نظام إشعار الغسيل القائم على إنترنت الأشياء: 18 خطوة
نظام إخطار الغسيل القائم على إنترنت الأشياء: يقدم HiThis إرشادات خطوة بخطوة حول كيفية إنشاء نظام إشعار الغسيل القائم على إنترنت الأشياء. يتم توصيل الجهاز في الأدراج وحقيبة الغسيل. من أجل العرض التوضيحي هنا ، أخذنا درجين وحقيبة غسيل واحدة. يستشعر
مراقبة جالونات خزان زيت التدفئة بالبريد الإلكتروني ، والرسائل النصية القصيرة ، وتنبيه رصاصة الدفع: 9 خطوات (بالصور)
مراقبة جالونات خزان زيت التدفئة بالبريد الإلكتروني والرسائل النصية القصيرة وتنبيه رصاصة الدفع: معلومات السلامة: في حالة رغبة أي شخص في معرفة ما إذا كان إنشاء / تثبيت هذا آمنًا & quot؛ - لقد نقلت هذا إلى شركتين نفط مختلفتين للحصول على تعليقات / اعتبارات تتعلق بالسلامة ، وقد قمت بتشغيل هذا من قبل نائب منع الحرائق في قسم مكافحة الحرائق C
إعلام بالبريد الإلكتروني للكشف عن الحركة لـ DVR أو NVR: 4 خطوات
إخطار البريد الإلكتروني الذي تم اكتشاف الحركة به لـ DVR أو NVR: في هذا التوجيه ، سنعرض لك كيفية إعداد إعلامات البريد الإلكتروني التي تم اكتشافها بالحركة على DVR أو NVR. يعرف أي شخص تقريبًا يقتحم أي مبنى أن الناس قد لجأوا إلى تثبيت أنظمة الدوائر التلفزيونية المغلقة من أجل حماية ممتلكاتهم