- المكونات مطلوبة
- مخطط الرسم البياني
- إعداد Thinger.io لمسجل درجة الحرارة ESP8266
- إعداد IFTTT لـ NodeMCU Data Logger
- برمجة NodeMCU لتسجيل البيانات
- تسجيل البيانات على Thinger.io من NodeMCU
- إنشاء نقطة نهاية في Thinger.io لإرسال تنبيه عبر البريد الإلكتروني
استخدمنا سابقًا NodeMCU لتسجيل بيانات درجة الحرارة في ورقة Google. الآن سنقوم بإرسال البيانات إلى Thinger.io IoT cloud وعرضها بتنسيق رسومي جذاب. يتم توصيل مستشعر BMP180 مع NodeMCU ESP8266 لجمع بيانات درجة الحرارة والرطوبة والارتفاع ، والتي سيتم إرسالها إلى منصة Thinger.io. في هذا البرنامج التعليمي ، سنتعلم كيفية إدارة الميزات المختلفة لمنصة thinger.io ، مثل الأجهزة أو نقاط النهاية أو مجموعات البيانات أو رموز الوصول.
المكونات مطلوبة
- NodeMCU ESP8266
- مستشعر الضغط BMP180
- أسلاك توصيل
- اللوح
مخطط الرسم البياني
مخطط الدائرة لمسجل البيانات ESP8266 واضح جدًا ، هنا فقط مستشعر BMP180 متصل بـ NodeMCU.
يستخدم مستشعر BMP180 بروتوكول الاتصال I2C. لذلك تحتاج إلى توصيل دبابيس SCL و SDA من BMP180 بدبابيس SCL و SDA (D1 و D2) من NodeMCU. أيضًا ، قم بتوصيل دبوس V IN و GND الخاص بـ BMP180 إلى 3.3V و GND لـ NodeMCU. لا تقم بتوصيل المستشعر مباشرة بجهد 5 فولت لأنه يمكن أن يتلف المستشعر بشكل دائم.
لمعرفة المزيد حول NodeMCU ، تحقق من العديد من مشاريع إنترنت الأشياء القائمة على NodeMCU ESP8266.
إعداد Thinger.io لمسجل درجة الحرارة ESP8266
Thinger.io هو عبارة عن منصة مفتوحة المصدر لإنترنت الأشياء. يوفر كل أداة مطلوبة لنمذجة المنتجات المتصلة وقياسها وإدارتها بطريقة بسيطة للغاية. يوفر Thinger.io ثلاث أدوات أساسية مثل Data Bucks و Dashboard و Endpoint للعمل مع بيانات الأجهزة ؛ يمكن استخدام هذه الأدوات لتصور بيانات الجهاز وتوسيع إمكانية التشغيل البيني للأجهزة.
دولارات البيانات: يمكن استخدام أداة Data Bucks لتخزين بيانات الجهاز بطريقة قابلة للتطوير ، أو برمجة فترات أخذ عينات مختلفة أو تسجيل الأحداث التي تثيرها الأجهزة.
Dashboard: تحتوي أداة Dashboard على بعض اللوحات ذات عناصر واجهة مستخدم قابلة للتخصيص يمكن إنشاؤها في غضون دقائق باستخدام تقنية السحب والإفلات لتصور البيانات المخزنة في الوقت الفعلي.
نقاط النهاية: يمكن استخدام نقاط النهاية لدمج النظام الأساسي مع خدمات أخرى مثل IFTTT أو خدمات الويب المخصصة أو رسائل البريد الإلكتروني أو الاتصال بأجهزة أخرى.
في هذا التسجيل ESP8266 ، سنستكشف هذه الأدوات.
لإرسال البيانات إلى Thinger.io ، تحتاج إلى إنشاء حساب مجاني على منصة Thinger.io واتباع الخطوات التالية لتوصيل جهازك.
الخطوة 1: الخطوة الأولى هي إنشاء جهاز جديد. لإنشاء جهاز جديد ، انقر فوق " الأجهزة" في علامة تبويب القائمة ثم انقر فوق الزر " إضافة جهاز".
ثم املأ النموذج بمعرف الجهاز والوصف وبيانات الاعتماد أو قم بإنشاء بيانات اعتماد عشوائية لجهازك وانقر فوق " إضافة جهاز ".
هذا كل شئ؛ جهازك جاهز للاتصال. في الخطوة التالية ، سنبرمج NodeMCU لإرسال البيانات إلى منصة Thinger.io.
إعداد IFTTT لـ NodeMCU Data Logger
نحن هنا نستخدم IFTTT لإرسال تحذيرات عبر البريد الإلكتروني عندما تتجاوز درجة الحرارة الحد الأقصى. IFTTT (If This Then That) هي خدمة تستند إلى الويب يمكننا من خلالها إنشاء سلاسل من العبارات الشرطية ، تسمى التطبيقات الصغيرة. باستخدام هذه التطبيقات الصغيرة ، يمكننا إرسال إشعارات البريد الإلكتروني وتويتر والفيسبوك.
لاستخدام IFTTT ، قم بتسجيل الدخول إلى حساب IFTTT إذا كان لديك حساب بالفعل أو قم بإنشاء حساب.
ابحث الآن عن Webhooks وانقر على Webhooks في قسم الخدمات.
بعد ذلك ، في نافذة Webhooks ، انقر فوق "الوثائق" في الزاوية اليمنى العليا للحصول على المفتاح الخاص. انسخ هذا المفتاح ، سيتم استخدام هذا المفتاح أثناء إنشاء نقطة نهاية في Thinger.io.
بعد ذلك ، قم بإنشاء تطبيق صغير باستخدام Webhooks وخدمات البريد الإلكتروني . لإنشاء تطبيق صغير ، انقر فوق ملف التعريف الخاص بك ، ثم انقر فوق " إنشاء " . "
الآن في النافذة التالية ، انقر فوق رمز " هذا ". ابحث الآن عن Webhooks في قسم البحث وانقر على " Webhooks ".
اختر الآن المشغل " تلقي طلب ويب" وأدخل اسم الحدث كمؤقت ثم انقر فوق إنشاء مشغل.
بعد ذلك ، انقر فوق " ثم هذا" ثم انقر فوق البريد الإلكتروني.
الآن في البريد الإلكتروني ، انقر فوق "أرسل لي بريدًا إلكترونيًا" وأدخل موضوع البريد الإلكتروني ونصه ، ثم انقر فوق إنشاء إجراء. في الخطوة الأخيرة ، انقر فوق " إنهاء " لإكمال إعداد التطبيق الصغير.
برمجة NodeMCU لتسجيل البيانات
الكود الكامل لإرسال البيانات إلى Thinger.io موجود في نهاية الصفحة. هنا ، نشرح بعض الأجزاء المهمة.
ابدأ الكود بتضمين جميع المكتبات المطلوبة. و ThingerESP8266.h يستخدم لتأسيس اتصال بين منصة تقنيات عمليات وNodeMCU في حين يتم استخدام Adafruit_BMP085.h لقراءة البيانات BMP الاستشعار. يمكنك تثبيت مكتبة ThingerESP8266.h من مدير مكتبة Arduino IDEs.
#تضمن
بعد ذلك ، أدخل بيانات الاعتماد في الرمز ، حتى يمكن التعرف على الجهاز وربطه بحسابك.
#define USERNAME "اسم مستخدم حسابك" #define DEVICE_ID "NodeMCU" // Your Device Name #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
ثم أدخل اسم نقطة النهاية الخاصة بك. تُستخدم نقطة النهاية لدمج النظام الأساسي مع الخدمات الخارجية مثل IFTTT وطلب HTTTP وما إلى ذلك.
#define EMAIL_ENDPOINT "IFTTT"
حدد المتغيرات لتخزين بيانات الضغط ودرجة الحرارة والارتفاع.
الضغط الداخلي ودرجة الحرارة والارتفاع ؛
داخل الحلقة الفارغة () ، اقرأ بيانات المستشعر. يمكن أن يحتوي نوع البيانات pson على أنواع بيانات مختلفة. لذلك يتم استخدام نوع بيانات Pson لتلقي قيم متعددة في نفس الوقت.
الشيء >> (pson & out) {out = bmp.readPressure () / 100 ؛ out = bmp.readAltitude () ، out = bmp.readTemperature () ، } ؛
استخدم شرط if لاستدعاء نقطة النهاية إذا تجاوزت قيمة درجة الحرارة 15 درجة. هنا البيانات هي اسم نقطة النهاية.
إذا كانت (درجة الحرارة> 15) {thing.call_endpoint (EMAIL_ENDPOINT، "data")؛} Serial.print ("إرسال البيانات") ؛
تسجيل البيانات على Thinger.io من NodeMCU
الآن قم بتوصيل مستشعر BMP بـ NodeMCU وقم بتحميل الكود. ستستخدم NodeMCU بيانات اعتماد حسابك للاتصال بالجهاز الذي قمت بإنشائه مسبقًا. إذا تم الاتصال بنجاح ، فستظهر متصلة ، كما هو موضح في الصورة أدناه:
يمكنك التحقق من إحصائيات جهازك مثل البيانات المرسلة ، والبيانات المستلمة ، وعنوان IP ، والوقت المتصل ، وما إلى ذلك بمجرد النقر على اسم الجهاز من قائمة الأجهزة.
نظرًا لأننا نتلقى البيانات الآن ، سننشئ لوحة معلومات لتصور البيانات باستخدام الأدوات.
لإنشاء لوحة تحكم ، انقر فوق "لوحات المعلومات" من علامة تبويب القائمة ثم انقر فوق " إضافة لوحة التحكم ".
الآن في النافذة التالية ، أدخل تفاصيل لوحة القيادة مثل اسم لوحة القيادة والمعرف والوصف ثم انقر فوق لوحة القيادة.
بعد ذلك ، قم بالوصول إلى لوحة القيادة الجديدة بالنقر فوق اسم لوحة التحكم. بشكل افتراضي ، ستظهر لوحة القيادة فارغة. لإضافة الأدوات ، تحتاج أولاً إلى تمكين وضع التحرير من خلال النقر على المفتاح الأيمن العلوي من لوحة القيادة. ثم انقر فوق الزر " إضافة عنصر واجهة مستخدم" .
عند النقر فوق الزر " إضافة عنصر واجهة مستخدم " ، سيظهر نافذة منبثقة حيث يمكنك تحديد نوع الأداة ولون الخلفية وما إلى ذلك. في حالتي ، قمت بتحديد أداة القياس.
عند النقر فوق حفظ ، سينقلك إلى الشاشة التالية حيث تحتاج إلى تحديد وضع القيمة المصدر والجهاز والمورد والقيمة والتحديث. حدد جميع القيم ثم انقر فوق الزر حفظ.
كرر الآن نفس الإجراء لبقية المتغيرات. بدت لوحة أجهزة القياس الخاصة بي كما يلي:
إنشاء نقطة نهاية في Thinger.io لإرسال تنبيه عبر البريد الإلكتروني
سننشئ الآن نقطة نهاية لدمج Thinger.io مع IFTTT. يمكن للجهاز استدعاء نقطة النهاية لتنفيذ أي إجراء ، مثل إرسال بريد إلكتروني أو إرسال رسالة نصية قصيرة أو الاتصال بواجهة برمجة تطبيقات REST أو التفاعل مع IFTTT أو الاتصال بجهاز من حساب مختلف أو الاتصال بأي نقطة نهاية HTTP أخرى.
لإنشاء نقطة نهاية ، انقر فوق خيار "نقطة نهاية" من علامات تبويب القائمة ، ثم انقر فوق "إضافة نقطة نهاية".
الآن في النافذة التالية ، أدخل التفاصيل المطلوبة. التفاصيل هي:
معرف نقطة النهاية: معرّف فريد لنقطة النهاية الخاصة بك.
وصف نقطة النهاية: اكتب وصفًا أو معلومات مفصلة حول نقطة النهاية الخاصة بك.
نوع نقطة النهاية: حدد نوع نقطة النهاية من الخيارات المحددة.
اسم حدث Maker: أدخل اسم التطبيق الصغير IFTTT الخاص بك.
مفتاح قناة Maker: مفتاح سر Webhooks الخاص بك.
بعد ذلك ، انقر فوق Test Endpoint للتحقق مما إذا كان كل شيء يعمل. يجب أن يرسل لك بريدًا إلكترونيًا يحتوي على تحذير بشأن بيانات درجة الحرارة.
بدلاً من استخدام IFTTT Webhook Trigger ، يمكنك إرسال بريد إلكتروني أو رسالة Telegram ، أو يمكنك إرسال طلب HTTP باستخدام ميزات نقطة النهاية.
هذه هي الطريقة التي يمكن بها استخدام NodeMCU ESP8266 لتسجيل بيانات درجة الحرارة والضغط والارتفاع من مستشعر BMP180 إلى الإنترنت.
يتم تقديم فيديو عملي وكود كامل في نهاية الصفحة.