فهرست مطالب:

ESP32 ایستگاه هواشناسی خورشیدی دارای انرژی خورشیدی: 9 مرحله
ESP32 ایستگاه هواشناسی خورشیدی دارای انرژی خورشیدی: 9 مرحله

تصویری: ESP32 ایستگاه هواشناسی خورشیدی دارای انرژی خورشیدی: 9 مرحله

تصویری: ESP32 ایستگاه هواشناسی خورشیدی دارای انرژی خورشیدی: 9 مرحله
تصویری: آموزش ساخت ایستگاه آب و هوایی ، گجت هوشمند 🌦/ diy weather station 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 x 18650 Accu
  • سنسور آب و هوا BME280 برای اندازه گیری دما ، رطوبت و فشار
  • ماژول شارژر لیتیوم USB
  • مرحله DC-DC UP18650
  • نگهدارنده باتری (3 عدد)
  • HC-SR505 آشکارساز حرکت
  • مقاومت 220 ام
  • مقاومتهای 2x 10 kOm
  • TIP120 NPN ترانزیستور (دارلینگتون) را می توان از هر سازگار دیگری استفاده کرد
  • ButtonWires ، سوئیچ ، لحیم کاری …

مرحله 2: سیم کشی و مونتاژ

سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ

اولین قدم جمع آوری قدرت ایستگاه است.

من قاب پلاستیکی را بر روی دو پارچه تقسیم کرده ام ، یکی از آنها برای باتری ، سوئیچ ، شارژر USB و DC-DC استفاده می شود. در این قسمت ، نگهدارنده باتری را قرار داده و پنجره هایی برای سوئیچ و شارژر USB می سازم. آگاه باشید که ماژول شارژر USB کاملاً گرم است بنابراین من از صفحه آلومینیوم استفاده کرده و با استفاده از چسب Star 922 شارژر USB را روی آن قرار داده ام.

مرحله دوم مونتاژ قسمت کنترل کننده است.

نحوه اتصال دستگاه را ببینید

من برای مراحل زیر از تخته نان برای این منظور استفاده کرده ام

  • لحیم کاری ESP32 dev board
  • محافظ لحیم کاری برای نگه داشتن صفحه نمایش TFT
  • سایر قطعات الکترونیکی را لحیم کنید: BME280 ، مقاومت ها ، دکمه ها
  • سیم کشی بین قطعات را طبق نمودار لحیم کنید

مرحله سوم آماده سازی نصب تخته نان به قسمت دوم قاب پلاستیکی است. من دو چاپگر را روی چاپگر سه بعدی خود چاپ کرده ام ، آنها را با پیچ روی تخته چوب نصب کرده و برش مستطیلی را برای صفحه نمایش ایجاد کرده ام.

تکیه گاه های پلاستیکی را به بدنه قاب پلاستیکی چسبانده ام. وقتی چسب خشک شد ، کابین تخته نان را با پیچ جدا کنید.

مرحله بعدی این است:

  • سیم کشی لحیم کاری منبع تغذیه
  • سیم کشی لحیم کاری برای وضعیت ولتاژ باتری
  • آشکارساز حرکت لحیم و نصب

مرحله پایانی:

  • راه اندازی مبدل DC-DC با تنظیم ولتاژ خروجی 5 ولت
  • دو قسمت کنترل کننده ایستگاه را به برق وصل کنید: سیم برق و اندازه گیری ولتاژ

برای آشکارساز حرکت و دکمه ، من حفره های اضافی را در طرف صورت انجام داده ام.

مرحله 3: بارگذاری سیستم عامل در ESP32

برای این پروژه من از نرم افزار جهانی استفاده کرده ام که توسط خودم توسعه یافته است

لطفاً به صفحه github ESPHomeController نگاه کنید. این شامل دستورالعمل کاملی برای کامپایل و راه اندازی است.

! اگر با کامپایل و آردوینو آشنا نیستید ، مرحله بارگذاری سیستم عامل آماده را بررسی کنید

به محض بارگذاری اولین سیستم عامل ، ESP32 در حالت پیکربندی شروع می شود (حالت نقطه دسترسی)

شما باید آنها را پیکربندی کنید. برای این منظور ، در هر دستگاهی از وای فای موجود باز کنید. HomeController را پیدا کرده و به آن متصل شوید. پورتال اسیر باید به طور خودکار شروع شود. اگر آدرس url مرورگر خود را وارد نکردید: 192.168.4.1 و صفحه پیکربندی را مشاهده خواهید کرد

دستورالعمل را دنبال کنید و اعتبار WiFi را در شبکه WiFi خود پیکربندی کنید.

ESP پس از آن به عنوان مشتری WiFi راه اندازی مجدد می شود و به Wifi شما متصل می شود.

همانطور که اتصال sson برقرار می شود ، به طور خودکار سیستم فایل 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. کانال خود را در کانال مربوطه و کلید خود ایجاد کنید. 4 فیلد تهیه کنید و آنها را به درستی دما ، رطوبت ، فشار ، ولتاژ نامگذاری کنید
  2. برای به دست آوردن کلید api خود در Weather.com ثبت نام کنید

Thingspeak برای بارگذاری داده های شما و نظارت بر روندها و ارزشها مورد نیاز است

آب و هوا برای دریافت داده های پیش بینی ضروری است.

خوب ، در نهایت شما نیاز به ایجاد فایل services.json با محتوای زیر دارید

[{"service": "TimeController" ، "name": "Time" ، "enabled": true ، "interval": 1000 ، "timeoffs": 7200 ، "dayloffs": 3600 ، "server": "pool.ntp.org "،" enablesleep ": true،" sleeptype ": 1،" sleepinterval ": 900000،" restartinterval ": 18000000}، {" service ":" BME280Controller "،" name ":" BME "،" enabled ": true ، "interval": 900000 ، "i2caddr": 118 ، "uselegacy": true ، "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 = fa -US & apiKey = weatherapi "} ، {" service ":" WeatherDisplayController "،" name ":" WeatherDisplay "،" enabled ": true ،" interval ": 500} ، {" enabled ":" true "،" interval ": 600000 ، "pin": 36 ، "service": "LDRController" ، "name": "LDR" ، "cvalmin": 0.0 ، "cvalmax": 7.2 ، "cfmt": "٪. 2f V" ، "acctype": 10}، {"service": "ThingSpeakController"، "name": "ThingSpeak"، "enabled": true، "interval": 1200000، "value": [1، 1، 1، 1، 0، 0، 0، 0]، "apiKey": "چیزهای دیگر kapi "}، {" enabled ": true،" interval ": 1،" pin ":" "،" service ":" ButtonController "،" name ":" Button "،" pin ": [27]}]

لطفا تعویض کنید

  • thingspeakapi با کلید api گفتگوی شما
  • weatherapi با کلید api آب و هوا
  • ژئوکد با موقعیت مکانی شما که می خواهید پیش بینی آن را دریافت کنید

سپس فایل دوم triggers.json را آماده کنید

[{"type": "BMEToWeatherDisplay" ، "منبع": "BME" ، "مقصد": "WeatherDisplay"} ، {"type": "TimeToWeatherDisplay" ، "منبع": "زمان" ، "مقصد": "WeatherDisplay "}، {" type ":" WeatherForecastToWeatherDisplay "،" source ":" WeatherForecast "،" destination ":" WeatherDisplay "}، {" type ":" BMEToThingSpeak "،" source ":" BME "،" destination ": "ThingSpeak" ، "t_ch": 1 ، "h_ch": 2 ، "p_ch": 3} ، {"type": "ButtonToWeatherDisplay" ، "source": "Button" ، "destination": "WeatherDisplay"} ، { "type": "LDRToThingSpeak" ، "منبع": "LDR" ، "مقصد": "ThingSpeak" ، "ch": 4}]

هر دو فایل باید تا ریشه esp آپلود شوند.

می توانید این کار را از طریق مرورگر https://192.168.0. XX/browse انجام دهید ، جایی که https://192.168.0. XX آدرس IP دستگاه شما است

پس از بارگذاری ESP باید راه اندازی مجدد شود و همه چیز درست انجام شده است. Esp صفحه مناسب را مانند عکس و فیلم بالا نشان می دهد

مرحله 6: تنظیم و مصرف برق

تنظیم و مصرف برق
تنظیم و مصرف برق

من از دستگاهم با اتصال به پنل خورشیدی استفاده می کنم و مطمئن هستم که می تواند "بی نهایت" کار کند

مصرف برق مهم است و پس از چندین آزمایش من از دو ترفند اصلی استفاده کردم

مصرف LED پشت زمینه صفحه TFT را کاهش دهید

با توجه به اندازه گیری ، 15-20 میلی آمپر (مقدار زیادی) می خورد بنابراین من از تاکتیک ها با آشکارساز حرکت استفاده کرده ام. این دستگاه به طور کامل کار می کند آشکارسازهای حرکت قادر به تشخیص هر تشخیص تا 8-10 متر و افزایش ولتاژ بر روی کابل سیگنال است. این یک بازکن یک ترانزیستور است و Led backround قدرت دریافت می کند. معمولاً آشکارساز این حالت را تا 10 ثانیه نگه می دارد که برای دیدن مانیتور بیش از حد کافی است ، اما اگر به حرکت خود ادامه دهید سیگنال هنوز بالا است و LED روشن می شود.

چنین رویکردی به من یک اقتصاد بزرگ می دهد ، بدون تأثیرات اضافی ، من هیچ مشکلی برای دیدن صفحه نمایش خود در مواقع دلخواه ندارم

2. مصرف برق را توسط ESP32 کاهش دهید

هنگامی که ESP به WiFi متصل است ، به طور مداوم بین 7 تا 10 میلی آمپر مصرف می شود ، من در مورد زمان ثابت صحبت می کنم ، نه راه اندازی و اولین اتصال. اگر همیشه تاریخ و زمان واقعی را مشاهده کرده اید ، از کیت خانه اپل به سیستم خود دسترسی داشته باشید ، این امر قابل قبول است

برای نیروی خورشیدی من در زمستان نیز باید با کارهای بدون منبع تغذیه اضافی مطابقت داشت ،

بنابراین تصمیم گرفتم به صورت دوره ای ESP32 را در حالت خواب قرار دهم (غذا خوردن کمتر از 1 میلی آمپر است). این برای من خوب است ، به عنوان مثال ESP 20 دقیقه می خوابد ، از خواب بیدار می شود ، صفحه تازه سازی (داده ها و پیش بینی واقعی) داده ها را به صحبت کرده و دوباره به حالت خواب باز می گرداند.

معایب عبارتند از:

  • صفحه آب و هوا مقادیر زمان منسوخ را نمایش می دهد
  • ایستگاه از طریق مرورگر و Apple Home Kit در زمان خواب قابل دسترسی نیست

این به شما بستگی دارد که تصمیم بگیرید چه چیزی مهمتر است ، می توانید آن را مجدداً پیکربندی کنید.

لطفاً فایل و خط service.json را مشاهده کنید

[{"service": "TimeController" ، "name": "Time" ، "enabled": true ، "interval": 1000 ، "timeoffs": 7200 ، "dayloffs": 3600 ، "server": "pool.ntp.org "،" enablesleep ": true،" sleeptype ": 1،" sleepinterval ": 900000،" restartinterval ": 18000000}

"فعال می کند": true به طور کلی خواب را فعال می کند ، در صورت قرار دادن false یا حذف پارامتر (false به طور پیش فرض است) ESP هرگز نمی خوابد

"sleepinterval": 900000 این میلی ثانیه یا 15 دقیقه است ، به این معنی که هر 15 دقیقه ESP بیدار می شود و کارکنان لازم را انجام می دهد

بنابراین ، اکنون همه می توانند به راحتی بر اساس ضرورت بازی کنند

مرحله 7: تنظیم سنسورها

برای به حداقل رساندن تأثیر گرمایش داخلی به سنسور دما BME280

Firts من برخی از لوله در اطراف سنسور و سوراخ. هنگامی که LED به طور معمول خاموش است و ESP خوابیده است ، در حالت من حرکت کنید. در موارد دیگر ، سنسور BME280 باید به مکانی منتقل شود تا از تأثیر گرمایش داخلی جلوگیری شود. هر چقدر تأثیر کمی پیدا کردم ، بنابراین دو پارامتر برای جبران وجود دارد

temp_corr :-3.0

"hum_corr": 10.0

این بدان معناست که این مقادیر پس از اندازه گیری اضافه می شوند

دوم اندازه گیری ولتاژ باتری است ،

"cvalmin": 0.0

"cvalmax": 7.2

برای این منظور ، زیرا ولتاژ بعد از تقسیم کننده های مقاومت اندازه گیری می شود و در مقایسه با 3.3 ولت ، با بازی با مقدار cvalmax می توانید با مقدار مولتی متر خود به تنظیم دقیق ولتاژ برسید

مرحله 8: افزودن دستگاه به Apple Home Kit

افزودن دستگاه به Apple Home Kit
افزودن دستگاه به Apple Home Kit

سرانجام وقتی دستگاه شما به درستی کار می کند ، می توانید آن را به Apple Home Kit اضافه کنید و بتوانید ببینید

سنسورها در صفحه اصلی اپل

ابتدا شما نیاز به راه اندازی مجدد دستگاه دارید ، به محض این که دستگاه شروع به کار کرد ، 20 دقیقه بیشتر از حد کافی به خواب نمی رود

سپس برنامه Home Kit را در دستگاه iOS خود باز کنید و Home1 جدید را انتخاب یا ایجاد کنید. Add (+) را فشار دهید

2. Add accessory را انتخاب کنید.

3. فشار دهید من کد ندارم یا نمی توان اسکن کرد (اسکن بیشتر اضافه می شود)

4. اگر همه چیز خوب پیش رفت ، باید دستگاه esp جدید خود را در یک لیست مشاهده کنید (تصویر را ببینید)

5. دستگاه را انتخاب کرده و افزودن را بدون تأییدیه رسمی تأیید کنید

6. رمز عبور 11111111 را تایپ کنید

7. این همه! شما باید آن دستگاه را با موفقیت مشاهده کنید ، در غیر این صورت دوباره روند جفت شدن را شروع کنید.

بر اساس این تنظیمات ، دو دستگاه را در Apple مشاهده خواهید کرد

1. سنسور دما و سنسور Hum ، عمیق شدن آن مقادیر را روی تمام صفحه نمایش می دهد

2. سنسور نور:) در واقع اپل می تواند ligth Ambience را نشان دهد ، اما ولتاژ را نشان نمی دهد ، بنابراین ولتاژ باتری در Lux نشان داده می شود

مرحله 9: OTA: به روز رسانی از طریق هوا

قبل از شروع هرگونه به روزرسانی بهتر است ESP32 را مجدداً راه اندازی کنید ، همانطور که قبلاً ذکر شد 20 دقیقه اول به خواب نمی رود

دو امکان برای به روز رسانی وجود دارد

  1. پیکربندی با استفاده از https://192.168.0. XX/browse شما می توانید به سیستم فایل خود در ESP دسترسی داشته باشید و فایلهای پیکربندی را تغییر دهید
  2. می توانید سیستم عامل را به طور کامل به روز کنید. برای این منظور ابتدا باید یک مورد جدید ایجاد کنید. این را می توان از طریق Arduino یا Visual Studio IDE انجام داد. سپس در مرورگر https://192.168.0. XX/update تایپ کنید ، سیستم عامل خود را انتخاب کرده و Update را فشار دهید. منتظر بمانید تا فرآیند به پایان برسد و پاسخ شما خوب است ، در غیر این صورت مرحله را دوباره تکرار کنید

توصیه شده: