جدول المحتويات:
فيديو: ThingSpeak و IFTTT ومستشعر درجة الحرارة والرطوبة وورقة Google: 8 خطوات
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
في هذا المشروع ، سنقيس درجة الحرارة والرطوبة باستخدام مستشعر درجة الحرارة والرطوبة غير المعدية ، ESP32 ، و ThingSpeak. سنرسل أيضًا قراءات مختلفة لدرجة الحرارة والرطوبة إلى Google Sheet باستخدام ThingSpeak و IFTTT لتحليل بيانات المستشعر
الخطوة 1: الأجهزة والبرامج المطلوبة
المعدات:
- ESP-32: يجعل ESP32 من السهل استخدام Arduino IDE ولغة Arduino Wire لتطبيقات إنترنت الأشياء. تجمع وحدة ESp32 IoT هذه بين Wi-Fi و Bluetooth و Bluetooth BLE لمجموعة متنوعة من التطبيقات المتنوعة. تأتي هذه الوحدة مجهزة تجهيزًا كاملاً مع نواتين لوحدة المعالجة المركزية يمكن التحكم فيها وتشغيلها بشكل فردي ، مع تردد ساعة قابل للتعديل من 80 ميجاهرتز إلى 240 ميجاهرتز. تم تصميم وحدة ESP32 IoT WiFi BLE مع USB مدمج لتناسب جميع منتجات ncd.io IoT. راقب المستشعرات ومرحلات التحكم و FETs ووحدات التحكم PWM والملفات اللولبية والصمامات والمحركات وغير ذلك الكثير من أي مكان في العالم باستخدام صفحة ويب أو خادم مخصص. قمنا بتصنيع نسختنا الخاصة من ESP32 لتلائم أجهزة NCD IoT ، مما يوفر خيارات توسع أكثر من أي جهاز آخر في العالم! يسمح منفذ USB المدمج ببرمجة سهلة لـ ESP32. تعد وحدة ESP32 IoT WiFi BLE Module منصة رائعة لتطوير تطبيقات إنترنت الأشياء. يمكن برمجة وحدة ESP32 IoT WiFi BLE هذه باستخدام Arduino IDE.
- مستشعر درجة الحرارة والرطوبة اللاسلكي طويل المدى لـ IoT: مستشعر درجة الحرارة اللاسلكي طويل المدى الصناعي. درجة بدقة مستشعر تبلغ ± 1.7٪ رطوبة نسبية ± 0.5 درجة مئوية. ما يصل إلى 500000 ناقل حركة من بطاريتين AA. تبلغ القياسات من -40 درجة مئوية إلى 125 درجة مئوية باستخدام البطاريات التي تنجو من هذه التقييمات ، ونطاق LOS الفائق لمسافة 2 ميل و 28 ميلًا مع هوائيات عالية الكسب ، وواجهة لـ Raspberry Pi و Microsoft Azure و Arduino والمزيد.
- مودم شبكي لاسلكي طويل المدى مع واجهة USB
البرمجيات المستخدمة
- اردوينو IDE
- الكلام
- IFTTT
المكتبة المستخدمة
- مكتبة PubSubClient
- سلك
عميل Arduino لـ MQTT
توفر هذه المكتبة عميلاً للقيام بمراسلات نشر / اشتراك بسيطة مع خادم يدعم MQTT لمزيد من المعلومات حول MQTT ، قم بزيارة mqtt.org.
تحميل
يمكن تنزيل أحدث إصدار من المكتبة من GitHub
توثيق
تأتي المكتبة مع عدد من الأمثلة على الرسومات التخطيطية. انظر ملف> أمثلة> PubSubClient داخل تطبيق Arduino. وثائق API الكاملة
الأجهزة المتوافقة
تستخدم المكتبة واجهة Arduino Ethernet Client API للتفاعل مع أجهزة الشبكة الأساسية. هذا يعني أنه يعمل فقط مع عدد متزايد من اللوحات والدروع ، بما في ذلك:
- اردوينو إيثرنت
- اردوينو إيثرنت شيلد
- Arduino YUN - استخدم YunClient المضمّن بدلاً من EthernetClient ، وتأكد من عمل Bridge.begin () أول Arduino WiFi Shield - إذا كنت تريد إرسال حزم أكبر من 90 بايت باستخدام هذا الدرع ، فقم بتمكين خيار MQTT_MAX_TRANSFER_SIZE في PubSubClient.h.
- SparkFun WiFly Shield - عند استخدامه مع هذه المكتبة
- إنتل جاليليو / إديسون
- ESP8266
- لا يمكن استخدام المكتبة حاليًا مع الأجهزة القائمة على شريحة ENC28J60 - مثل Nanode أو Nuelectronics Ethernet Shield. لهؤلاء ، هناك مكتبة بديلة متاحة.
مكتبة الأسلاك
تسمح لك مكتبة Wire بالاتصال بأجهزة I2C ، والتي غالبًا ما تسمى أيضًا "2 wire" أو "TWI" (Two Wire Interface) ، ويمكن تنزيلها من Wire.h
الاستخدام الأساسي
- Wire.begin () ابدأ باستخدام Wire في الوضع الرئيسي ، حيث ستبدأ عمليات نقل البيانات وتتحكم فيها. هذا هو الاستخدام الأكثر شيوعًا عند التفاعل مع معظم شرائح I2C الطرفية.
- Wire.begin (العنوان) ابدأ باستخدام Wire في الوضع التابع ، حيث سترد على "العنوان" عندما تبدأ شرائح I2C الرئيسية الأخرى الاتصال. إرسال Wire.beginTransmission (العنوان) بدء إرسال جديد إلى جهاز على "العنوان". تم استخدام الوضع الرئيسي.
- Wire.write (البيانات) إرسال البيانات. في الوضع الرئيسي ، يجب استدعاء startTransmission أولاً.
- Wire.endTransmission () في الوضع الرئيسي ، ينهي هذا الإرسال ويؤدي إلى إرسال جميع البيانات المخزنة مؤقتًا.
يستلم
- Wire.requestFrom (العنوان ، العدد) اقرأ "عد" البايت من جهاز في "العنوان". تم استخدام الوضع الرئيسي.
- Wire.available () إرجاع عدد البايتات المتاحة من خلال الاتصال بالاستلام.
- Wire.read () تلقي 1 بايت.
الخطوة 2: تحميل الكود إلى ESP32 باستخدام Arduino IDE
- قبل تحميل الكود ، يمكنك عرض عمل هذا المستشعر على رابط معين.
- قم بتنزيل وتضمين مكتبة PubSubClient ومكتبة Wire.h.
- يجب عليك تعيين مفتاح API و SSID (اسم WiFi) وكلمة المرور للشبكة المتاحة.
- قم بتجميع وتحميل كود Temp-ThinSpeak.ino.
- للتحقق من اتصال الجهاز والبيانات المرسلة ، افتح الشاشة التسلسلية. إذا لم تظهر أي استجابة ، فحاول فصل ESP32 ثم توصيله مرة أخرى. تأكد من ضبط معدل البث بالباود الخاص بجهاز العرض التسلسلي على نفس المعدل المحدد في الكود الخاص بك 115200.
الخطوة 3: إخراج جهاز العرض التسلسلي
الخطوة 4: الإخراج
الخطوة 5: أنشئ تطبيق IFTTT الصغير
- لإرسال البيانات إلى ThingSpeak ، يمكنك عرضها على هذا الرابط.
- IFTTT هي خدمة ويب تتيح لك إنشاء تطبيقات صغيرة تعمل استجابةً لإجراء آخر. يمكنك استخدام خدمة IFTTT Webhooks لإنشاء طلبات ويب لتشغيل إجراء. الإجراء الوارد هو طلب HTTP إلى خادم الويب ، والإجراء الصادر هو رسالة بريد إلكتروني.
- أولاً ، قم بإنشاء حساب IFTTT.
- إنشاء تطبيق صغير. حدد تطبيقاتي الصغيرة.
- انقر فوق الزر "تطبيق صغير جديد".
- حدد إجراء الإدخال. انقر فوق كلمة هذا.
- انقر على خدمة Webhooks. أدخل Webhooks في حقل البحث. حدد Webhooks.
- اختر محفزًا.
- أكمل حقول الزناد. بعد تحديد Webhooks كمشغل ، انقر فوق مربع تلقي طلب ويب للمتابعة. أدخل اسم الحدث.
- خلق الزناد.
- الآن تم إنشاء المشغل ، للإجراء الناتج انقر فوق ذلك.
- أدخل "جداول بيانات Google" في شريط البحث ، وحدد مربع "جداول بيانات Google".
- إذا لم تكن متصلاً بـ Google Sheet ، فقم بتوصيله أولاً. اختر الآن العمل. حدد إضافة صف إلى جدول البيانات.
- ثم أكمل حقول العمل.
- يجب إنشاء التطبيق الصغير الخاص بك بعد الضغط على "إنهاء".
- استرجع معلومات تشغيل Webhooks. حدد التطبيقات الصغيرة والخدمات الخاصة بي وابحث عن Webhooks. انقر فوق الزر Webhooks and Documentation. ترى مفتاحك وشكل إرسال الطلب. أدخل اسم الحدث. اسم الحدث لهذا المثال هو VibrationAndTempData. يمكنك اختبار الخدمة باستخدام زر الاختبار أو عن طريق لصق عنوان URL في متصفحك.
الخطوة السادسة: إنشاء تحليل MATLAB
يمكنك استخدام نتيجة تحليلك لتشغيل طلبات الويب ، مثل كتابة محفز إلى IFTTT.
- انقر فوق التطبيقات ، تحليل MATLAB وحدد جديد.
- حدد Trigger Email من IFTTT في قسم الأمثلة. تمت تعبئة الكود أدناه مسبقًا في نافذة تحليل MATLAB الخاصة بك.
- قم بتسمية تحليلك وقم بتعديل الكود.
- احفظ تحليل MATLAB الخاص بك.
الخطوة 7: إنشاء عنصر تحكم الوقت لتشغيل التحليل الخاص بك
قم بتقييم بيانات قناة ThingSpeak الخاصة بك وقم بتشغيل أحداث أخرى.
- انقر فوق Apps و TimeControl ثم انقر فوق New TimeControl.
- احفظ TimeControl الخاص بك.