جدول المحتويات:
- الخطوة 1: احصل على جميع الأجزاء
- الخطوة 2: ESP32
- الخطوة 3: عرض Nextion
- الخطوة الرابعة: مستشعر BME280
- الخطوة 5: توصيل الأجزاء
- الخطوة السادسة: كود المشروع
- الخطوة 7: الأفكار والتحسينات النهائية
فيديو: محطة الطقس ESP32 WiFi مع مستشعر BME280: 7 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
نرحب بالأصدقاء الأعزاء في برنامج تعليمي آخر! في هذا البرنامج التعليمي ، سنقوم ببناء مشروع محطة طقس ممكّن لـ aWiFi! سنستخدم شريحة ESP32 الجديدة والمثيرة للإعجاب لأول مرة مع شاشة Nextion.
في هذا الفيديو ، سنقوم بعمل هذا. إنه مشروع محطة طقس آخر أعرفه ، لكن هذه المرة نستخدم شريحة ESP32 الجديدة! نستخدم أيضًا مستشعر BME280 الجديد الذي يقيس درجة الحرارة والرطوبة والضغط الجوي. عندما نقوم بتشغيل المشروع ، فإنه يتصل بشبكة WiFi ، وسوف يستعيد توقعات الطقس لموقعي من موقع الويب openweathermap. ثم سيعرض التوقعات على شاشة اللمس Nextion 3.2 بوصة هذه جنبًا إلى جنب مع القراءات من المستشعر! يتم تحديث القراءات كل ثانيتين وتوقعات الطقس كل ساعة! كما ترون ، في هذا المشروع نستخدم أحدث التقنيات المتاحة للصانع اليوم! إذا كنت خبيرًا في الأعمال اليدوية ، فيمكنك بناء هذا المشروع في خمس دقائق.
إذا كنت مبتدئًا ، فيجب عليك مشاهدة مقطعين من مقاطع الفيديو قبل محاولة هذا المشروع. يمكنك العثور على روابط لهذه الفيديوهات في Instructable هذا ، لا تقلق.
لنبدأ!
الخطوة 1: احصل على جميع الأجزاء
من أجل بناء هذا المشروع نحتاج إلى الأجزاء التالية:
- لوحة ESP32 ▶
- مستشعر BME280 I2C ▶
- شاشة Nextion مقاس 3.2 بوصة ▶
- لوحة توصيل صغيرة ▶
- بعض الأسلاك ▶
تكلفة المشروع حوالي 30 دولار.
بدلاً من ESP32 ، يمكننا استخدام شريحة ESP8266 الأرخص ثمناً ، لكنني قررت استخدام ESP32 لاكتساب بعض الخبرة معها ومعرفة ما الذي يعمل وما لا يصلح.
الخطوة 2: ESP32
هذا هو أول مشروع أقوم ببنائه باستخدام شريحة ESP32 الجديدة.
إذا لم تكن معتادًا على ذلك ، فإن شريحة ESP32 هي خليفة شريحة ESP8266 الشهيرة التي استخدمناها عدة مرات في الماضي. ESP32 وحش! يوفر 32 نواة معالجة تعمل بسرعة 160 ميجاهرتز وكمية هائلة من الذاكرة وواي فاي وبلوتوث والعديد من الميزات الأخرى بتكلفة حوالي 7 دولارات! الاشياء المدهشة!
يرجى مشاهدة المراجعة التفصيلية التي أعددتها لهذا المنتدى. لقد أرفقت الفيديو على هذا Instructable. سيساعد ذلك في فهم سبب تغيير هذه الشريحة للطريقة التي نصنع بها الأشياء إلى الأبد!
الخطوة 3: عرض Nextion
أيضًا ، هذا هو أول مشروع أقوم بإنشائه باستخدام شاشة تعمل باللمس من Nextion.
شاشات Nextion هي نوع جديد من شاشات العرض. لديهم معالج ARM الخاص بهم في الخلف وهو المسؤول عن قيادة الشاشة وإنشاء واجهة المستخدم الرسومية. لذلك ، يمكننا استخدامها مع أي متحكم وتحقيق نتائج مذهلة.
لقد أعددت تعليمات مفصلة حول شاشة Nextion هذه والتي تشرح بالتفصيل كيفية عملها وكيفية استخدامها وعيوبها. يمكنك قراءته بالضغط هنا:
الخطوة الرابعة: مستشعر 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: الأفكار والتحسينات النهائية
كما ترى ، يمكن للمصنع المتمرس اليوم إنشاء مشاريع مثيرة في غضون ساعات قليلة باستخدام بضعة أسطر من التعليمات البرمجية وثلاثة أجزاء فقط! مشروع مثل هذا كان من المستحيل القيام به حتى قبل عامين!
بالطبع ، هذه مجرد بداية المشروع. أرغب في إضافة العديد من الميزات إليها ، مثل الرسوم البيانية ووظائف اللمس المفقودة الآن ، ربما شاشة أكبر وبالطبع حاوية مطبوعة ثلاثية الأبعاد جميلة المظهر. سأقوم أيضًا بتصميم واجهة مستخدم رسومية وأيقونات ذات مظهر أفضل. لدي بعض الأفكار الجديدة جدا لتنفيذها!
أود أن أسمع رأيك حول مشروع اليوم. ما نوع الميزات التي تريد مني إضافتها إلى المشروع؟ هل تحب كيف تبدو؟ كيف تريد رؤيتها تتطور؟ يرجى نشر أفكارك في قسم التعليقات أدناه ؛ انا احب قراءة افكارك
الوصيف في مسابقة اللاسلكي
موصى به:
محطة الطقس الشخصية باستخدام Raspberry Pi مع BME280 في Java: 6 خطوات
محطة الطقس الشخصية باستخدام Raspberry Pi مع BME280 في Java: يبدو الطقس السيئ دائمًا أسوأ من خلال النافذة. لقد كنا مهتمين دائمًا بمراقبة الطقس المحلي لدينا وما نراه من النافذة. أردنا أيضًا تحكمًا أفضل في نظام التدفئة والتكييف. إن بناء محطة طقس شخصية هو شيء عظيم
محطة الطقس NaTaLia: محطة أردينو تعمل بالطاقة الشمسية نفذت بالطريقة الصحيحة: 8 خطوات (بالصور)
محطة الطقس NaTaLia: محطة الطقس Arduino التي تعمل بالطاقة الشمسية نفذت بالطريقة الصحيحة: بعد عام واحد من التشغيل الناجح في موقعين مختلفين ، أشارك خطط مشروع محطة الطقس التي تعمل بالطاقة الشمسية وأشرح كيف تطورت إلى نظام يمكنه حقًا البقاء على قيد الحياة لفترة طويلة فترات من الطاقة الشمسية. إذا تابعت
محطة الطقس باستخدام Wemos D1 Mini و BME280 و Sensate: 6 خطوات
محطة الطقس باستخدام Wemos D1 Mini و BME280 و Sensate: في المنشورات السابقة شاركت طرقًا مختلفة لإنشاء محطة طقس. إذا لم تقم بالتحقق من ذلك ، فإليك رابط ، وسأشرح في هذا الدليل كيفية إنشاء محطة طقس بسيطة باستخدام Wemos ومنصة إنترنت الأشياء تسمى Sensate
محطة الطقس مع Arduino و BME280 وعرض لرؤية الاتجاه خلال اليومين الماضيين: 3 خطوات (بالصور)
Weather-station مع Arduino و BME280 & Display لمعرفة الاتجاه خلال اليوم أو اليومين الأخيرين: مرحبًا! هنا تم تقديم محطات الطقس الخاصة بالتعليمات بالفعل. أنها تظهر ضغط الهواء الحالي ودرجة الحرارة والرطوبة. ما ينقصهم حتى الآن هو عرض تقديمي للدورة خلال اليومين أو اليومين الماضيين. هذه العملية سيكون لها
مستشعر درجة الحرارة / محطة الطقس: 9 خطوات (مع صور)
مستشعر درجة الحرارة / محطة الطقس: قم بإنشاء محطة طقس أو مراقب درجة الحرارة باستخدام مستشعر درجة الحرارة الرقمي الرائع DS1820. استخدم هذا الإعداد لمراقبة غرفة الخادم ، وكمحطة طقس ، ويتكون هذا المشروع من: شبكة ناقل دالاس بسلك واحد ، واجهة بين RS- 232 و