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

محطة أرصاد جوية ESP32 تعمل بالطاقة الشمسية: 9 خطوات
محطة أرصاد جوية ESP32 تعمل بالطاقة الشمسية: 9 خطوات

فيديو: محطة أرصاد جوية ESP32 تعمل بالطاقة الشمسية: 9 خطوات

فيديو: محطة أرصاد جوية ESP32 تعمل بالطاقة الشمسية: 9 خطوات
فيديو: I designed a PCB for Solar Energy Harvesting | assembly & tests 2024, يونيو
Anonim
Image
Image
محطة أرصاد جوية ESP32 تعمل بالطاقة الشمسية
محطة أرصاد جوية ESP32 تعمل بالطاقة الشمسية
محطة أرصاد جوية ESP32 تعمل بالطاقة الشمسية
محطة أرصاد جوية ESP32 تعمل بالطاقة الشمسية

في هذا البرنامج التعليمي ، سنقوم ببناء مشروع محطة طقس تدعم WiFi.

الهدف هو تصميم محطة الطقس مع جميع أنواع الريش الممكنة تقريبًا:

  • عرض الظروف الحالية والوقت ودرجة الحرارة والرطوبة والضغط
  • عرض التوقعات للأيام القادمة
  • تحديث على الهواء
  • المدمج في موقع على شبكة الإنترنت لإعادة التكوين والبيانات
  • تحميل البيانات إلى السحابة لإحصاءات التاريخ
  • متكامل مع Aple Home Kit أو MQTT
  • Accu المستقل يعمل بالطاقة مع إمكانية إعادة الشحن أو الاتصال بلوحة شمسية

لا يمكنني إضافة المزيد وليس المزيد من الخيال ما يجب أو يمكن أن يكون

الخطوة 1: الأجزاء المطلوبة

الأجزاء المطلوبة
الأجزاء المطلوبة
الأجزاء المطلوبة
الأجزاء المطلوبة
الأجزاء المطلوبة
الأجزاء المطلوبة
  • ESP32 (لقد استخدمت وحدة dev)
  • 2.8 "240x320 TFT LCD SPI ILI9341
  • حافظة بلاستيكية
  • 3 × 18650 أكيو
  • جهاز استشعار الطقس BME280 لقياس درجة الحرارة والرطوبة والضغط
  • وحدة شاحن الليثيوم USB
  • DC-DC خطوة UP18650
  • حامل البطارية (3 قطعة)
  • كاشف الحركة HC-SR505
  • 220 أوم المقاوم
  • مقاومات 2x 10 kOm
  • يمكن استخدام ترانزستور TIP120 NPN (دارلينجتون) أي متوافق آخر
  • ButtonWires ، التبديل ، لوحة اللحام….

الخطوة 2: الأسلاك والتجميع

الأسلاك والتجميع
الأسلاك والتجميع
الأسلاك والتجميع
الأسلاك والتجميع
الأسلاك والتجميع
الأسلاك والتجميع
الأسلاك والتجميع
الأسلاك والتجميع

الخطوة الأولى هي تجميع قوى المحطة.

لقد قسمت حافظة بلاستيكية على بارسين ، أحدهما يستخدم للبطارية ، والتبديل ، وشاحن USB ، و DC-DC يخرج إلى هذا الجزء ، وأضع حامل البطارية وأنشئ نوافذ للمفتاح وشاحن USB. كن على دراية بوحدة شاحن USB ، لذا فقد استخدمت لوحة الألومنيوم ووضعت شاحن USB على هذا باستخدام غراء Star 922.

الخطوة الثانية هي تجميع جزء وحدات التحكم.

انظر مخطط الأسلاك كيف يجب أن يتم توصيله

لقد استخدمت Bread board لهذا الغرض من خلال الخطوات التالية

  • لوحة ديف ESP32 اللحيم
  • درع اللحام للحفاظ على شاشة TFT
  • جندى مكونات إلكترونية أخرى: BME280 ، مقاومات ، أزرار
  • أسلاك اللحام بين المكونات حسب الرسم التخطيطي

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

لقد قمت بلصق قضبان بلاستيكية تدعم جسم العلبة البلاستيكية. الآن عندما يجف الغراء ، يتم فك كابينة لوح الخبز بواسطة البراغي.

الخطوة التالية هي:

  • أسلاك اللحام لمصدر الطاقة
  • أسلاك اللحام لحالة جهد البطارية
  • لحام وكاشف الحركة

الخطوة النهائية:

  • إعداد محول DC-DC عن طريق ضبط جهد الخرج 5 فولت
  • قم بتوصيل جزأين من وحدة تحكم المحطة بالطاقة: أسلاك الطاقة وقراءة الجهد

بالنسبة إلى كاشف الحركة والزر ، قمت بعمل فتحات إضافية على جانب الوجه.

الخطوة 3: تحميل البرامج الثابتة على ESP32

بالنسبة لهذا المشروع ، استخدمت برنامجًا عالميًا ، طورته بنفسي

يرجى إلقاء نظرة على صفحة جيثب ESPHomeController. يحتوي هذا على تعليمات كاملة حول كيفية الترجمة والإعداد.

! إذا لم تكن على دراية بالتجميع وكان Arduino ، فقم بإلقاء نظرة على خطوة تحميل البرامج الثابتة الجاهزة

بمجرد تحميل البرنامج الثابت لأول مرة ، سيبدأ ESP32 في وضع التكوين (وضع نقطة الوصول)

يجب عليك تكوينها. لهذا الغرض ، افتح أي قائمة أجهزة WiFi متاحة. ابحث عن HomeController واتصل به. يجب أن تبدأ البوابة المقيدة تلقائيًا. إذا لم تقم بإدخال عنوان url الخاص بالمتصفح: 192.168.4.1 وسترى شاشة التكوين

اتبع التعليمات وقم بتكوين بيانات اعتماد WiFi لشبكة WiFi الخاصة بك.

سيتم إعادة تشغيل ESP بعد ذلك كعميل WiFi وسوف يتصل بشبكة Wifi الخاصة بك.

عندما يحدث اتصال sson firts ، سيقوم تلقائيًا بتثبيت نظام ملفات Spiffs وتنزيل الملفات المطلوبة لبوابة الويب:

  • index.html
  • filebrowse.html
  • js / bundle.min.js.gz

يحدث التنزيل من المجلد https://github.com/Yurik72/ESPHomeController/tree/ …

يمكنك الآن مشاهدة محتوى الملف عبر متصفح الويب. لهذا يجب عليك الآن عنوان IP الخاص بـ ESP32

يمكنك العثور عليه بإحدى الطرق التالية:

  • استخدام شاشة المنفذ التسلسلي لمشاهدة سجلات ESP32
  • استخدام أي ماسح ضوئي tcp لفحص أجهزة الشبكة الخاصة بك
  • اضغط على زر في محطة الطقس وسترى معلومات النظام

قم بتصفح https://192.168.0. XX/browse وسترى قائمة ملفات ESP الخاصة بك

(192.168.0. XX هو عنوان IP لجهازك

للضبط النهائي ، تحتاج إلى إعداد ملفات التكوين.

الخطوة 4: تحميل البرامج الثابتة الجاهزة

تحميل البرامج الثابتة الجاهزة
تحميل البرامج الثابتة الجاهزة

هذا القسم مخصص للأجهزة السمعية التي لن تقوم بإنتاج البرامج الثابتة بنفسك. تحتاج فقط إلى تحميل البرامج الثابتة "الجاهزة"

1. قم بتحميل أدوات تحميل الفلاش من هذه الصفحة

2. قم بتنزيل الملفات المرفقة (المستخرج من الأرشيف) HomeController.bin و bootloader_qio_80m.bin على محرك الأقراص الثابتة لديك

3. ابدأ أداة تنزيل ESP32 وأدخل القيم وفقًا للشاشة

4. اضغط على ابدأ

الخطوة 5: التكوين

قبل البدء في إعداد التكوين ، تحتاج إلى:

  1. قم بإنشاء قناتك على قناة Thingspeak والمفتاح لقناتك. قم بإعداد 4 حقول وقم بتسميتها بشكل صحيح درجة الحرارة والرطوبة والضغط والجهد
  2. قم بالتسجيل على موقع Weather.com للحصول على مفتاح API الخاص بك

هناك حاجة إلى برنامج Thingspeak لتحميل البيانات الخاصة بك ومراقبة الاتجاهات والقيم

الطقس ضروري للحصول على بيانات التنبؤ.

حسنًا ، أخيرًا تحتاج إلى إنشاء ملف services.json بالمحتوى التالي

[{"service": "TimeController"، "name": "Time"، "enabled": true، "الفاصل الزمني": 1000، "timeoffs": 7200، "dayloffs": 3600، "server": "pool.ntp.org "،" enableleep ": true،" sleeptype ": 1،" sleepinterval ": 900000،" reninterval ": 18000000}، {" service ":" BME280Controller "،" name ":" BME "،" enabled ": صحيح ، "الفاصل الزمني": 900000 ، "i2caddr": 118 ، "uselegacy": صحيح ، "temp_corr": - 3.0 ، "hum_corr": 10.0} ، {"service": "WeatherClientController" ، "name": "WeatherForecast" ، "ممكّن": صحيح ، "الفاصل الزمني": 500000 ، "uri": "https://api.weather.com/v3/wx/forecast/daily/5day؟geocode=50.30، 30.70 & format = json & Units = m & language = ar -US & apiKey = weatherapi "}، {" service ":" WeatherDisplayController "،" name ":" WeatherDisplay "،" enabled ": true،" الفاصل الزمني ": 500}، {" enabled ":" true "،" الفاصل الزمني ": 600000، "pin": 36، "service": "LDRController"، "name": "LDR"، "cvalmin": 0.0، "cvalmax": 7.2، "cfmt": "٪. 2f V"، "acctype": 10}، {"service": "ThingSpeakController"، "name": "ThingSpeak"، "enabled": true، "الفاصل الزمني": 1200000، "value": [1، 1، 1، 1، 0، 0، 0، 0]، "apiKey": "thingspea kapi "}، {" enabled ": true،" الفاصل الزمني ": 1،" pin ":" "،" service ":" ButtonController "،" name ":" Button "،" pin ": [27]}]

!يرجى استبدال

  • Thingspeakapi مع مفتاح واجهة برمجة التطبيقات الخاص بك
  • Weatherapi مع مفتاح واجهة الطقس الخاص بك
  • تكويد جغرافيًا مع موقعك الذي تريد الحصول على توقعات بشأنه

من تحضير الملف الثاني triggers.json

[{"type": "BMEToWeatherDisplay"، "source": "BME"، "destination": "WeatherDisplay"}، {"type": "TimeToWeatherDisplay"، "source": "Time"، "destination": "WeatherDisplay "}، {" type ":" WeatherForecastToWeatherDisplay "،" source ":" WeatherForecast "،" destination ":" WeatherDisplay "}، {" type ":" BMEToThingSpeak "،" source ":" BME "،" وجهة ": "ThingSpeak"، "t_ch": 1، "h_ch": 2، "p_ch": 3}، {"type": "ButtonToWeatherDisplay"، "source": "Button"، "destination": "WeatherDisplay"}، { "النوع": "LDRToThingSpeak" ، "المصدر": "LDR" ، "الوجهة": "ThingSpeak" ، "ch": 4}]

يجب رفع كلا الملفين إلى جذر esp.

يمكنك القيام بذلك عبر المتصفح https://192.168.0. XX/browse ، حيث https://192.168.0. XX هو عنوان IP لجهازك

بعد تحميل ESP يجب إعادة تشغيله وتم كل شيء بشكل صحيح. سيعرض Esp الشاشة المناسبة كما في الصورة والفيديو أعلاه

الخطوة 6: التوليف واستهلاك الطاقة

التوليف واستهلاك الطاقة
التوليف واستهلاك الطاقة

أنا أستخدم جهازي مع الاتصال بلوحة الطاقة الشمسية وللتأكد من قدرتها على العمل "بلا حدود"

استهلاك الطاقة مهم وبعد عدة تجارب استخدمت حيلتين رئيسيتين

تقليل استهلاك bacground LED لشاشة TFT

وفقًا للقياس ، فإنه يأكل 15-20 مللي أمبير (كثيرًا) لذلك استخدمت تكتيكات مع كاشف الحركة. يعمل بشكل مثالي كاشفات الحركة القادرة على التعرف على أي كشف يصل إلى 8-10 أمتار ورفع الجهد على كابل الإشارة. هذا هو الترانزستور و backround الصمام فتحات تلقي الطاقة. عادةً ما يحتفظ الكاشف بهذه الحالة حتى 10 ثوانٍ وهو أكثر من كافٍ لرؤية الشاشة ، ولكن إذا واصلت الحركات ، فإن الإشارة لا تزال مرتفعة و LED يضيء.

يمنحني هذا النهج اقتصادًا كبيرًا ، دون تأثيرات إضافية ، ولا أواجه أي مشكلة في رؤية شاشتي عندما أريد

2. تقليل استهلاك الطاقة عن طريق ESP32

عندما يكون ESP متصلاً بشبكة WiFi ، فإنه يأكل باستمرار 7-10 مللي أمبير ، وأنا أتحدث عن الوقت الثابت ، وليس بدء التشغيل والاتصال الأول. يمكن أن يكون هذا مقبولًا إذا كنت ترى دائمًا التاريخ والوقت الفعليين ، قم بالوصول إلى النظام الخاص بك من Apple home kit

بالنسبة إلى قوتي الشمسية في فصل الشتاء أيضًا ، كان من المفترض أن تتطابق مع الأعمال بدون مصادر طاقة إضافية ،

لذلك قررت وضع ESP32 بشكل دوري في وضع السكون (الأكل أقل من 1 مللي أمبير). هذا جيد بالنسبة لي ، على سبيل المثال ، ESP ينام لمدة 20 دقيقة ، من الاستيقاظ ، وتحديث الشاشة (البيانات الفعلية والتوقعات) يرسل البيانات إلى الأشياء وتعود إلى وضع السكون مرة أخرى

السلبيات هي:

  • تعرض شاشة الطقس قيم الوقت القديمة
  • لا يمكن الوصول إلى Station من المتصفح و Apple Home Kit أثناء وقت النوم

الأمر متروك لك لتقرر ما هو أكثر أهمية ، يمكنك ببساطة إعادة تكوين ذلك.

يرجى إلقاء نظرة على ملف وخط services.json

[{"service": "TimeController"، "name": "Time"، "enabled": true، "الفاصل الزمني": 1000، "timeoffs": 7200، "dayloffs": 3600، "server": "pool.ntp.org "،" enableleep ": true،" sleeptype ": 1،" sleepinterval ": 900000،" reninterval ": 18000000}

"تمكين النوم": صواب يتيح النوم على الإطلاق ، إذا تم وضعه هناك خطأ أو أزل بارامتر (خطأ هو الافتراضي) لن ينام ESP أبدًا

"فترة النوم": 900000 ميلي ، أو 15 دقيقة ، يعني كل 15 دقيقة ESP سيستيقظ ويقوم بفريق عمل ضروري

لذلك ، يمكن للجميع الآن اللعب بسهولة حسب الضرورة

الخطوة 7: ضبط أجهزة الاستشعار

لتقليل تأثير التدفئة الداخلية على جهاز استشعار درجة الحرارة BME280

قمت بعمل بعض الأنبوب حول المستشعر والثقوب. Hovewer في وضعي عندما يتم إيقاف تشغيل LED عادةً ويكون ESP في وضع السكون ليس مهمًا جدًا. في حالات أخرى ، يجب أن يتحرك مستشعر BME280 في مكان ما لاستبعاد تأثير التدفئة الداخلية. أي مدى صغر التأثير الذي وجدته ، فهناك معلمتان للتعويض

temp_corr : - 3.0

"hum_corr": 10.0

وهي تعني أنه سيتم إضافة هذه القيم بعد القياس

الثاني هو معايرة قياس جهد البطارية ،

"cvalmin": 0.0

"cvalmax": 7.2

لهذه الأغراض ، نظرًا لأن الجهد يقاس بعد فواصل المقاومات ومقارنته بـ 3.3 فولت ، عند اللعب بقيمة cvalmax ، يمكنك الوصول إلى ضبط الجهد الدقيق باستخدام قيمة multimetr الخاصة بك

الخطوة 8: إضافة جهاز إلى Apple Home Kit

إضافة جهاز إلى Apple Home Kit
إضافة جهاز إلى Apple Home Kit

أخيرًا عندما يعمل جهازك بشكل صحيح ، يمكن إضافته إلى Apple Home Kit وستتمكن من رؤيته

قيم أجهزة الاستشعار على شاشة Apple الرئيسية.

تحتاج أولاً إلى إعادة تشغيل الجهاز ، حيث أنه بمجرد بدء تشغيل الجهاز ، فلن ينام 20 دقيقة وهو أكثر من كافٍ

قم بفتح تطبيق Home Kit على جهاز iOS الخاص بك ، واختر أو أنشئ Home1 جديدًا. اضغط على إضافة (+)

2. حدد إضافة ملحق.

3. اضغط على ليس لدي رمز أو لا يمكنني المسح (ستتم إضافة المزيد عند المسح)

4. إذا كان كل شيء يسير على ما يرام ، يجب أن ترى جهاز esp الجديد في قائمة (انظر الصورة)

5. حدد الجهاز وقم بتأكيد الإضافة بدون شهادة رسمية

6. اكتب كلمة المرور 11111111

7. هذا كل شيء! يجب أن ترى هذا الجهاز مقترنًا بنجاح ، وإلا ابدأ عملية الاقتران مرة أخرى..

بناءً على هذا الإعداد ، سترى جهازين على Apple

1. مستشعر درجة الحرارة ومستشعر همهمة ، عند التعمق فيه سيعرض القيم على الشاشة الكاملة

2. مستشعر الضوء:) في الواقع ، Apple قادرة على إظهار Ligth Ambience ، ولكن ليس الجهد ، لذلك يظهر جهد البطارية في Lux

الخطوة 9: عبر الهواء: التحديثات عبر الهواء

قبل البدء في أي تحديث ، من الأفضل إعادة تشغيل ESP32 ، كما ذكرنا من قبل لن ينام أول 20 دقيقة

هناك احتمالان للتحديث

  1. التكوين باستخدام https://192.168.0. XX/browse يمكنك الوصول إلى نظام الملفات الخاص بك على ESP وتغيير ملفات التهيئة
  2. يمكنك استكمال تحديث البرامج الثابتة. لهذه الأغراض تحتاج أولاً إلى إنشاء واحدة جديدة. يمكن القيام بذلك عبر Arduino أو Visual Studio IDE. ثم اكتب المتصفح https://192.168.0. XX/update ، وحدد البرنامج الثابت واضغط على تحديث. انتظر حتى تنتهي العملية وستحصل على استجابة جيدة ، وإلا كرر الخطوة مرة أخرى

موصى به: