جدول المحتويات:

محطة الطقس ESP32 WiFi مع مستشعر BME280: 7 خطوات (بالصور)
محطة الطقس ESP32 WiFi مع مستشعر BME280: 7 خطوات (بالصور)

فيديو: محطة الطقس ESP32 WiFi مع مستشعر BME280: 7 خطوات (بالصور)

فيديو: محطة الطقس ESP32 WiFi مع مستشعر BME280: 7 خطوات (بالصور)
فيديو: ESP8266 Weather Station | NodeMCU Web Server BMP280 temperature webserver Arduino 2024, شهر نوفمبر
Anonim
Image
Image
محطة الطقس ESP32 WiFi مع مستشعر BME280
محطة الطقس ESP32 WiFi مع مستشعر BME280
محطة الطقس ESP32 WiFi مع مستشعر BME280
محطة الطقس ESP32 WiFi مع مستشعر BME280

نرحب بالأصدقاء الأعزاء في برنامج تعليمي آخر! في هذا البرنامج التعليمي ، سنقوم ببناء مشروع محطة طقس ممكّن لـ aWiFi! سنستخدم شريحة ESP32 الجديدة والمثيرة للإعجاب لأول مرة مع شاشة Nextion.

في هذا الفيديو ، سنقوم بعمل هذا. إنه مشروع محطة طقس آخر أعرفه ، لكن هذه المرة نستخدم شريحة ESP32 الجديدة! نستخدم أيضًا مستشعر BME280 الجديد الذي يقيس درجة الحرارة والرطوبة والضغط الجوي. عندما نقوم بتشغيل المشروع ، فإنه يتصل بشبكة WiFi ، وسوف يستعيد توقعات الطقس لموقعي من موقع الويب openweathermap. ثم سيعرض التوقعات على شاشة اللمس Nextion 3.2 بوصة هذه جنبًا إلى جنب مع القراءات من المستشعر! يتم تحديث القراءات كل ثانيتين وتوقعات الطقس كل ساعة! كما ترون ، في هذا المشروع نستخدم أحدث التقنيات المتاحة للصانع اليوم! إذا كنت خبيرًا في الأعمال اليدوية ، فيمكنك بناء هذا المشروع في خمس دقائق.

إذا كنت مبتدئًا ، فيجب عليك مشاهدة مقطعين من مقاطع الفيديو قبل محاولة هذا المشروع. يمكنك العثور على روابط لهذه الفيديوهات في Instructable هذا ، لا تقلق.

لنبدأ!

الخطوة 1: احصل على جميع الأجزاء

احصل على جميع الأجزاء
احصل على جميع الأجزاء

من أجل بناء هذا المشروع نحتاج إلى الأجزاء التالية:

  • لوحة ESP32 ▶
  • مستشعر BME280 I2C ▶
  • شاشة Nextion مقاس 3.2 بوصة ▶
  • لوحة توصيل صغيرة ▶
  • بعض الأسلاك ▶

تكلفة المشروع حوالي 30 دولار.

بدلاً من ESP32 ، يمكننا استخدام شريحة ESP8266 الأرخص ثمناً ، لكنني قررت استخدام ESP32 لاكتساب بعض الخبرة معها ومعرفة ما الذي يعمل وما لا يصلح.

الخطوة 2: ESP32

Image
Image
ESP32
ESP32

هذا هو أول مشروع أقوم ببنائه باستخدام شريحة ESP32 الجديدة.

إذا لم تكن معتادًا على ذلك ، فإن شريحة ESP32 هي خليفة شريحة ESP8266 الشهيرة التي استخدمناها عدة مرات في الماضي. ESP32 وحش! يوفر 32 نواة معالجة تعمل بسرعة 160 ميجاهرتز وكمية هائلة من الذاكرة وواي فاي وبلوتوث والعديد من الميزات الأخرى بتكلفة حوالي 7 دولارات! الاشياء المدهشة!

يرجى مشاهدة المراجعة التفصيلية التي أعددتها لهذا المنتدى. لقد أرفقت الفيديو على هذا Instructable. سيساعد ذلك في فهم سبب تغيير هذه الشريحة للطريقة التي نصنع بها الأشياء إلى الأبد!

الخطوة 3: عرض Nextion

Image
Image
جهاز استشعار BME280
جهاز استشعار BME280

أيضًا ، هذا هو أول مشروع أقوم بإنشائه باستخدام شاشة تعمل باللمس من Nextion.

شاشات Nextion هي نوع جديد من شاشات العرض. لديهم معالج ARM الخاص بهم في الخلف وهو المسؤول عن قيادة الشاشة وإنشاء واجهة المستخدم الرسومية. لذلك ، يمكننا استخدامها مع أي متحكم وتحقيق نتائج مذهلة.

لقد أعددت تعليمات مفصلة حول شاشة Nextion هذه والتي تشرح بالتفصيل كيفية عملها وكيفية استخدامها وعيوبها. يمكنك قراءته بالضغط هنا:

الخطوة الرابعة: مستشعر BME280

جهاز استشعار BME280
جهاز استشعار BME280

BME280 في مستشعر رائع جديد من Bosch.

حتى الآن كنت أستخدم مستشعر BMP180 الذي يمكنه قياس درجة الحرارة والضغط الجوي. يمكن لجهاز الاستشعار BME280 قياس درجة الحرارة والرطوبة والضغط الجوي! كم ذلك رائع! نحتاج فقط إلى مستشعر واحد لبناء محطة أرصاد جوية كاملة!

بالإضافة إلى ذلك ، فإن المستشعر صغير الحجم جدًا وسهل الاستخدام للغاية. تستخدم الوحدة التي سنستخدمها اليوم واجهة I2C لذا فهي تجعل التواصل مع Arduino أمرًا سهلاً للغاية. نحن فقط لتوصيل الطاقة وسلكين آخرين لجعلها تعمل.

يوجد بالفعل العديد من المكتبات التي تم تطويرها لهذا المستشعر حتى نتمكن من استخدامه في مشاريعنا بسهولة بالغة! تكلفة المستشعر حوالي 5 دولارات. يمكنك الحصول عليها هنا ▶

ملاحظة: نحن بحاجة إلى جهاز استشعار BME280. يوجد أيضًا مستشعر BMP280 لا يوفر قياس الرطوبة. كن حذرًا في طلب جهاز الاستشعار الذي تحتاجه.

الخطوة 5: توصيل الأجزاء

ربط الأجزاء
ربط الأجزاء
ربط الأجزاء
ربط الأجزاء
ربط الأجزاء
ربط الأجزاء

اتصال الأجزاء واضح ومباشر كما ترون من الرسم التخطيطي.

نظرًا لأن مستشعر BME280 يستخدم واجهة I2C ، فنحن نحتاج فقط إلى توصيل سلكين للتواصل مع ESP32. لقد قمت بتوصيل المستشعر بالدبابيس 26 و 27. نظريًا ، يمكن استخدام كل دبوس رقمي للوحة ESP32 مع الأجهزة الطرفية I2C. من الناحية العملية ، اكتشفت أن بعض المسامير لا تعمل لأنها مخصصة لاستخدامات أخرى. تعمل الدبابيس 26 و 27 بشكل رائع!

لإرسال البيانات إلى الشاشة ، نحتاج فقط إلى توصيل سلك واحد بطرف TX0 الخاص بـ ESP32. اضطررت إلى ثني الدبوس مثل هذا لتوصيل السلك الأنثوي للشاشة نظرًا لأن لوحة ESP32 كبيرة جدًا بالنسبة إلى هذا اللوح.

بعد توصيل الأجزاء ، يتعين علينا تحميل الكود إلى ESP32 ، وعلينا تحميل واجهة المستخدم الرسومية على شاشة Nextion. إذا كنت تواجه مشكلة في تحميل البرنامج على لوحة ESP32 ، فاضغط مع الاستمرار على زر BOOT بعد الضغط على زر التحميل في Arduino IDE.

لتحميل واجهة المستخدم الرسومية إلى شاشة Nextion ، انسخ ملف WeatherStation.tft الذي سأشاركه معك على بطاقة SD فارغة. ضع بطاقة SD في فتحة بطاقة SD في الجزء الخلفي من الشاشة. ثم قم بتشغيل الشاشة ، وسيتم تحميل واجهة المستخدم الرسومية. ثم قم بإزالة بطاقة SD وتوصيل الطاقة مرة أخرى.

بعد تحميل الكود بنجاح ، سيتصل المشروع بشبكة WiFi ، وسيحصل على توقعات الطقس من موقع الويب openweathermap.org ، وسيعرض القراءات من المستشعر. دعنا الآن نرى جانب البرنامج من المشروع.

الخطوة السادسة: كود المشروع

كود المشروع
كود المشروع
كود المشروع
كود المشروع
كود المشروع
كود المشروع

لتحليل بيانات الطقس ، نحتاج إلى مكتبة Arduino JSON الممتازة. نحتاج أيضًا إلى مكتبة لجهاز الاستشعار.

؟ ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32؟ Arduino JSON:

دعونا نرى الرمز الآن.

في البداية ، يتعين علينا تعيين SSID وكلمة المرور لشبكة WiFi الخاصة بنا. بعد ذلك ، يتعين علينا الدخول إلى APIKEY المجاني من موقع الويب operweathermap.org. لإنشاء مفتاح API الخاص بك ، يجب عليك التسجيل على موقع الويب. الحصول على بيانات الطقس الحالية والتنبؤ به مجاني ، لكن الموقع يوفر المزيد من الخيارات إذا كنت على استعداد لدفع بعض المال. بعد ذلك ، علينا أن نجد معرف موقعنا. ابحث عن موقعك وانسخ المعرف الذي يمكن العثور عليه في عنوان URL الخاص بموقعك.

ثم أدخل معرف مدينتك في متغير CityID. أدخل أيضًا ارتفاع بلدتك في هذا المتغير. هذه القيمة مطلوبة للحصول على قراءات دقيقة للضغط الجوي من المستشعر.

const char * ssid = "yourSSID" ؛ const char * password = "yourPassword" ؛ String CityID = "253394" ؛ // Sparta، Greece String APIKEY = "yourAPIkey" ؛ #define ALTITUDE 216.0 // ارتفاع في سبارتا ، اليونان

الآن نحن على استعداد للمضي قدمًا.

في البداية ، نقوم بتهيئة المستشعر ، ونتصل بشبكة WiFi. ثم نطلب بيانات الطقس من الخادم.

نحصل على رد ببيانات الطقس بتنسيق JSON. قبل إرسال البيانات إلى مكتبة JSON ، أحذف يدويًا بعض الأحرف التي كانت تسبب لي مشكلات. ثم تتولى مكتبة JSON المسؤولية ، ويمكننا بسهولة حفظ البيانات التي نحتاجها في المتغيرات. بعد أن نحتفظ بالبيانات في المتغيرات ، كل ما علينا فعله هو عرضها على الشاشة والانتظار لمدة ساعة قبل طلب بيانات جديدة من الخادم. المعلومات الوحيدة التي أقدمها هي توقعات الطقس ، ولكن يمكنك عرض المزيد من المعلومات إذا كنت ترغب في ذلك. كل ذلك محفوظ هنا في المتغيرات. ثم نقرأ درجة الحرارة والرطوبة والضغط الجوي من المستشعر ونرسل البيانات إلى شاشة Nextion.

لتحديث العرض ، نرسل ببساطة بعض الأوامر إلى المنفذ التسلسلي مثل هذا:

void showConnectingIcon () {Serial.println () ، أمر السلسلة = "weatherIcon.pic = 3" ؛ Serial.print (أمر) ؛ endNextionCommand () ، }

تتكون واجهة المستخدم الرسومية Nextion من خلفية وبعض مربعات النص وصورة تتغير وفقًا لتوقعات الطقس. يرجى مشاهدة البرنامج التعليمي لعرض Nextion لمزيد من المعلومات. يمكنك تصميم واجهة المستخدم الرسومية الخاصة بك بسرعة إذا كنت ترغب في ذلك وعرض المزيد من الأشياء عليها.

كما هو الحال دائمًا ، يمكنك العثور على رمز المشروع المرفق بهذا Instructable

الخطوة 7: الأفكار والتحسينات النهائية

الأفكار والتحسينات النهائية
الأفكار والتحسينات النهائية

كما ترى ، يمكن للمصنع المتمرس اليوم إنشاء مشاريع مثيرة في غضون ساعات قليلة باستخدام بضعة أسطر من التعليمات البرمجية وثلاثة أجزاء فقط! مشروع مثل هذا كان من المستحيل القيام به حتى قبل عامين!

بالطبع ، هذه مجرد بداية المشروع. أرغب في إضافة العديد من الميزات إليها ، مثل الرسوم البيانية ووظائف اللمس المفقودة الآن ، ربما شاشة أكبر وبالطبع حاوية مطبوعة ثلاثية الأبعاد جميلة المظهر. سأقوم أيضًا بتصميم واجهة مستخدم رسومية وأيقونات ذات مظهر أفضل. لدي بعض الأفكار الجديدة جدا لتنفيذها!

أود أن أسمع رأيك حول مشروع اليوم. ما نوع الميزات التي تريد مني إضافتها إلى المشروع؟ هل تحب كيف تبدو؟ كيف تريد رؤيتها تتطور؟ يرجى نشر أفكارك في قسم التعليقات أدناه ؛ انا احب قراءة افكارك

مسابقة لاسلكية
مسابقة لاسلكية
مسابقة لاسلكية
مسابقة لاسلكية

الوصيف في مسابقة اللاسلكي

موصى به: