Mündəricat:

Günəş enerjisi ilə işləyən ESP32 Hava İstasyonu: 9 addım
Günəş enerjisi ilə işləyən ESP32 Hava İstasyonu: 9 addım

Video: Günəş enerjisi ilə işləyən ESP32 Hava İstasyonu: 9 addım

Video: Günəş enerjisi ilə işləyən ESP32 Hava İstasyonu: 9 addım
Video: Evə günəş paneli quraşdırmaq neçəyə başa gəlir? 2024, Iyun
Anonim
Image
Image
Günəş enerjisi ilə işləyən ESP32 Hava İstasyonu
Günəş enerjisi ilə işləyən ESP32 Hava İstasyonu
Günəş enerjisi ilə işləyən ESP32 Hava İstasyonu
Günəş enerjisi ilə işləyən ESP32 Hava İstasyonu

Bu dərslikdə WiFi ilə işləyən bir hava stansiyası layihəsi quracağıq.

Hədəf, demək olar ki, bütün mümkün xüsusiyyətlərə malik Hava İstasyonu dizayn etməkdir:

  • Mövcud şərtləri, vaxtı, temperaturu, rütubəti, təzyiqi göstərin
  • Növbəti günlər üçün proqnozu göstərin
  • Efirdə yeniləyin
  • Konfiqurasiya və məlumatların nümayişi üçün veb sayt yaradılmışdır
  • Tarix statistikası üçün məlumatları buluda yükləyin
  • Aple Home Kit və ya MQTT ilə birləşdirilmişdir
  • Mümkün doldurulma və ya günəş panelinə qoşulma ilə təchiz edilmiş İndepeded Accu

Başqa nə olmalı və ya ola biləcəyini daha çox və daha çox təsəvvür edə bilmərəm

Addım 1: Lazım olan hissələr

Lazım olan hissələr
Lazım olan hissələr
Lazım olan hissələr
Lazım olan hissələr
Lazım olan hissələr
Lazım olan hissələr
  • ESP32 (dev modulundan istifadə etmişəm)
  • 2,8 "240x320 TFT LCD SPI ILI9341
  • Plastik qutu
  • 3 x 18650 Accu
  • Temperatur, Rütubət və Təzyiqi ölçmək üçün hava sensoru BME280
  • USB lityum şarj cihazı modulu
  • DC-DC addım UP18650
  • batareya tutacağı (3 ədəd)
  • HC-SR505 Hərəkət detektoru
  • 220 Om müqavimət
  • 2x10 kOm rezistorlar
  • TIP120 NPN tranzistoru (Darlington) hər hansı digər uyğun istifadə edilə bilər
  • ButtonWires, keçid, lehim taxtası ….

Addım 2: Kablolama və montaj

Kabel və montaj
Kabel və montaj
Kabel və montaj
Kabel və montaj
Kabel və montaj
Kabel və montaj
Kabel və montaj
Kabel və montaj

İlk addım stansiya güclərinin yığılmasıdır.

Plastik qutunu iki hissəyə bölmüşəm, onlardan biri batareya, açar, USB şarj cihazı və DC-DC çıxışı üçün istifadə olunur. Bu hissəyə batareya tutacağı qoydum və açar və usb şarj cihazı üçün pəncərələr düzəltdim. Usb şarj cihazı modulundan xəbərdar olun, buna görə də alluminium boşqab istifadə etdim və USB şarj cihazını Star 922 yapışqan istifadə edərək üzərinə qoydum.

İkinci addım nəzarətçi hissələrinin yığılmasıdır.

Bağlama sxeminə baxın

Aşağıdakı addımlarla bu məqsədlə Çörək taxtasından istifadə etdim

  • Lehim ESP32 qurğu lövhəsi
  • TFT ekran saxlamaq üçün lehim qalxanı
  • Digər elektron komponentləri lehimləyin: BME280, rezistorlar, düymələr
  • Şemaya görə komponentlər arasında lehim naqilləri

Üçüncü addım, çörək taxtasının plastik qutunun ikinci hissəsinə montajını hazırlamaqdır. 3d printerimdə iki çubuq çap etdim, vintlər ilə bredboarda bağladım və ekran üçün düzbucaqlı kəsim etdim.

Plastik qutunun gövdəsinə plastik çubuqlar yapışdırdım. İndi yapışqan qurudulduqda, çörək taxtasının kabinini vintlər ilə sökün.

Növbəti addım:

  • Güc mənbəyi üçün lehim telləri
  • Batareya gərginliyinin vəziyyəti üçün lehim naqilləri
  • Lehim və montaj hərəkət detektoru

Son addım:

  • çıxış gərginliyini 5v tənzimləyərək DC-DC çeviricisini qurun
  • stansiya nəzarətçisinin iki hissəsini gücə qoşun: elektrik naqilləri və gərginlik oxunuşu

Hərəkət detektoru və düymə üçün üz tərəfində əlavə deşiklər etdim.

Addım 3: Firmware -ni ESP32 -yə yükləyin

Bu layihə üçün özüm tərəfindən hazırlanmış universal proqramdan istifadə etdim

Zəhmət olmasa github səhifəsinə baxın ESPHomeController. Bu, kompilyasiya və qurulmanın tam təlimatını ehtiva edir.

! Kompilyasiya və Arduino ilə tanış deyilsinizsə, hazır bir firmware yükləmək üçün bir addım atın

İlk dəfə firmware yükləyən kimi ESP32 konfiqurasiya rejimində başlayacaq (Giriş nöqtəsi rejimi)

Onları konfiqurasiya etməlisiniz. Bu məqsədlə, mövcud WiFi cihazlarının siyahısını açın. HomeController tapın və ona qoşulun. Əsir portal avtomatik olaraq başlamalıdır. Brauzerinizin url ünvanına daxil deyilsinizsə: 192.168.4.1 və konfiqurasiya ekranını görəcəksiniz

Təlimatları izləyin və WiFi şəbəkə məlumatlarınızı konfiqurasiya edin.

ESP bundan sonra WiFi müştəri olaraq yenidən başlayacaq və WiFi -ə qoşulacaq.

Sson firts bağlantısı baş verdikdə avtomatik olaraq Spiffs fayl sistemini bağlayacaq və veb portal üçün lazım olan faylları yükləyəcək:

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

Yükləmə https://github.com/Yurik72/ESPHomeController/tree/… qovluğundan baş verir

İndi veb brauzer vasitəsilə fayl məzmununu görə bilərsiniz. Bunun üçün indi ESP32 -nin ip ünvanını göstərməlisiniz

Aşağıdakı yollardan biri ilə tapa bilərsiniz:

  • ESP32 qeydlərini görmək üçün serial port monitorundan istifadə
  • Şəbəkə cihazlarınızı taramaq üçün hər hansı bir tcp skanerindən istifadə edin
  • Hava stansiyasındakı bir düyməni basın və sistem məlumatlarını görəcəksiniz

Http://192.168.0. XX/browse göz atın və ESP -in bir fayl siyahısını görəcəksiniz.

(192.168.0. XX - cihazınızın IP ünvanı

Son tənzimləmə üçün konfiqurasiya sənədlərini hazırlamalısınız.

Addım 4: Hazır Firmware yükləyin

Hazır Firmware Yüklənir
Hazır Firmware Yüklənir

Bu bölmə, özünüz tərəfindən proqram təminatı istehsal etməyəcək auditoriya üçün xüsusi olaraq hazırlanmışdır. Yalnız "hazır" firmware yükləməlisiniz

1. Bu səhifədən flash yükləmə vasitələrini yükləyin

2. Əlavə edilmiş faylları (arxivlərdən çıxarış) HomeController.bin və bootloader_qio_80m.bin fayllarını sabit diskinizə yükləyin

3. ESP32 yükləmə alətini işə salın və ekran görüntüsünə uyğun olaraq dəyərləri daxil edin

4. Başlat düyməsini basın

Addım 5: Konfiqurasiya

Konfiqurasiya hazırlamağa başlamazdan əvvəl sizə lazımdır:

  1. Səs ucunda kanalınızı yaradın və kanalınızın açarı olun. 4 sahə hazırlayın və onlara temperatur, rütubət, təzyiq, gərginlik adlandırın
  2. Api açarınızı əldə etmək üçün Weather.com saytında qeydiyyatdan keçin

Verilərinizi yükləmək və meylləri və dəyərləri izləmək üçün Thingspeak lazımdır

Proqnoz məlumatlarını əldə etmək üçün hava lazımdır.

Yaxşı, nəhayət aşağıdakı məzmunlu services.json faylını yaratmalısınız

[{"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 ": doğru, "interval": 900000, "i2caddr": 118, "uselegacy": doğru, "temp_corr":-3.0, "hum_corr": 10.0}, {"xidmət": "WeatherClientController", "ad": "WeatherForecast", "effektiv": doğru, "interval": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & unit = m & language = en -AB & 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", "effektiv": doğru, "interval": 1200000, "dəyər": [1, 1, 1, 1, 0, 0, 0, 0], "apiKey": "şeylər noxud kapi "}, {" effektiv ": doğru," interval ": 1," pin ":" "," xidmət ":" ButtonController "," ad ":" Düymə "," sancaqlar ": [27]}]

Zəhmət olmasa dəyişdirin

  • Thingspeak api açarınızla şeyi danışın
  • hava api açarınızla weatherapi
  • Proqnoz əldə etmək istədiyiniz yer ilə coğrafi kod

İkinci fayl triggers.json hazırlamaqdan daha çox

[{"type": "BMEToWeatherDisplay", "source": "BME", "destination": "WeatherDisplay"}, {"type": "TimeToWeatherDisplay", "source": "Time", "destination": "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", "source": "LDR", "destination": "ThingSpeak", "ch": 4}]

Hər iki fayl da esp kökünə qaldırılmalıdır.

Bunu brauzer vasitəsilə edə bilərsiniz https://192.168.0. XX/browse, burada https://192.168.0. XX cihazınızın IP ünvanıdır

Yüklədikdən sonra ESP yenidən başlamalı və hər şey düzgün aparılmalıdır. Esp, yuxarıdakı foto və videoda olduğu kimi uyğun ekranı göstərəcək

Addım 6: Tunning və enerji istehlakı

Tənbəllik və Güc istehlakı
Tənbəllik və Güc istehlakı

Cihazımı Günəş Paneli bağlantısı ilə istifadə edirəm və "sonsuz" işləyə biləcəyinə əmin olmaq üçün

enerji istehlakı vacibdir və bir neçə təcrübədən sonra iki əsas fənddən istifadə etdim

TFT ekranının bacground LED istehlakını azaldın

Ölçməyə görə 15-20 mA (çox) yeyir, buna görə də Motion detektoru ilə taktika istifadə etdim. Mükəmməl işləyir 8-10 metrə qədər hər hansı bir algılamanı tanıya bilən və siqnal kabelindəki gərginliyi artıra bilən Motion detektorları. Bu, bir tranzistor və arxa Ledin açdığı gücdür. Adətən detektor bu vəziyyəti 10 saniyəyə qədər saxlayır ki, bu da monitoru görmək üçün kifayət qədər çoxdur, lakin hərəkətlərə davam etsəniz, siqnal hələ də yüksəkdir və LED yanır.

Bu cür yanaşma mənə böyük bir iqtisadiyyat qazandırır, əlavə təsirlər olmadan, istədiyim vaxt ekranımı görmək üçün heç bir problemlə qarşılaşmıram

2. ESP32 ilə enerji istehlakını azaldın

ESP WiFi-yə qoşulduqda, daim 7-10 mA yeyir, sabit vaxtdan danışıram, başlanğıc və ilk əlaqə. Həmişə həqiqi tarix və saatı görsəniz, sisteminizə Apple ev dəstindən daxil olsanız, bu məqbul ola bilər

Günəş enerjisi üçün qışda da əlavə enerji mənbələri olmayan işlərə uyğun gəlmək lazım idi.

Buna görə vaxtaşırı olaraq ESP32 -ni yuxu rejiminə qoymağa qərar verdim (yemək 1 mA -dan azdır). Bu mənim üçün yaxşıdır, məsələn ESP 20 dəqiqə yatır, oyanmaqdansa, ekranı yeniləyin (faktiki məlumatlar və proqnoz) məlumatları yenidən danışmağa və yenidən yuxu rejiminə göndərir.

Minuslar bunlardır:

  • Hava ekranı köhnəlmiş vaxt dəyərlərini göstərir
  • Yuxu vaxtı stansiyaya brauzerdən və Apple Home Kit -dən daxil olmaq mümkün deyil

Hansının daha vacib olduğuna qərar vermək sizin ixtiyarınızdadır, bunu yenidən konfiqurasiya edə bilərsiniz.

Zəhmət olmasa services.json faylına və xəttinə baxın

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

"yuxuya getməyi təmin edir": əslində heç bir halda yuxuya imkan verir, əgər yalan qoyulsa və ya paramateri silinsə (yalan defoltdur) ESP heç vaxt yatmaz

"yuxu aralığı": 900000 bu milis və ya 15 dəqiqədir, hər 15 dəqiqədə bir ESP -nin oyanacağı və lazımi heyətlə məşğul olacağı deməkdir.

Beləliklə, indi hər kəs asanlıqla lazım olana görə oynaya bilər

Addım 7: Sensorların Ayarlanması

Daxili istiliyin BME280 temperatur sensoruna təsirini minimuma endirmək üçün

Firts Sensorun və deliklərin ətrafında bir boru etdim. LED normal olaraq söndürüldükdə və ESP yatarkən mənim rejimimdə işləyənlər o qədər də vacib deyil. Digər hallarda, BME280 sensoru daxili istiliyin təsirini istisna etmək üçün bir yerə hərəkət etməlidir. Nə qədər kiçik təsir tapsam da, onu kompensasiya etmək üçün iki parametr var

"hum_corr": 10.0

bu dəyərlər ölçüdən sonra əlavə olunacaq deməkdir

İkincisi, batareya gərginliyinin ölçülməsi, {"effektiv": "doğru", "interval": 600000, "pin": 36, "xidmət": "LDRController", "ad": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," acctype ": 10}, "cvalmin": 0.0

"cvalmax": 7.2

Bu məqsədlər üçün, çünki gərginlik rezistor bölücülərdən sonra ölçülür və 3.3 V ilə müqayisə edildikdə, cvalmax dəyəri ilə oynayaraq multimetr dəyərinizlə dəqiq gərginlik tənzimləməsinə çata bilərsiniz.

Addım 8: Cihazı Apple Home Kit -ə əlavə edin

Cihaz Apple Ev Kitinə əlavə olunur
Cihaz Apple Ev Kitinə əlavə olunur

Nəhayət, cihazınız düzgün işləyərkən onu Apple Home Kit -ə əlavə edə bilərsiniz və görə biləcəksiniz

Apple ana ekranındakı sensorlar dəyərləri.

Əvvəlcə cihazı yenidən başlatmalısınız, çünki cihaz işə düşdükcə yuxuya getməyəcək, 20 dəqiqə kifayətdir

İOS cihazınızda Home Kit tətbiqini açın və yeni Home1 seçin və ya yaradın. Əlavə et (+)

2. Aksesuar əlavə et seçin.

3. Kodum yoxdur və ya tara bilmirəm düyməsini basın (daha sonra tarama əlavə olunacaq)

4. hər şey yolunda gedirsə, yeni esp cihazınızı bir siyahıda görməlisiniz (şəklə baxın)

5. Cihazı seçin və rəsmi təsdiq olmadan əlavə etməyi təsdiq edin

6. 11111111 şifrəsini daxil edin

7. Hamısı! Cihazın uğurla qoşulduğunu görməlisiniz, əks halda cütləşdirmə prosesinə yenidən başlayın.

Bu ayara əsasən Apple -da iki cihazı görəcəksiniz

1. Temp sensoru və Hum sensoru, dərinliyə gedərkən dəyərləri tam ekranda göstərəcək

2. İşıq sensoru:) Əslində Apple yüngül bir mühit göstərə bilir, ancaq gərginlik göstərmir, buna görə də batareya gərginliyi Lüksdə göstərilir

Addım 9: OTA: Havada Yeniləmələr

Hər hansı bir yeniləməyə başlamazdan əvvəl ESP32 -ni yenidən başlatmaq daha yaxşıdır, əvvəl qeyd edildiyi kimi ilk 20 dəqiqə yatmayacaq

Yeniləmək üçün iki variant var

  1. Http: //192.168.0. XX/browse istifadə edərək konfiqurasiya fayl sisteminizə ESP -də daxil ola və konfiqurasiya fayllarını dəyişə bilərsiniz.
  2. Firmware proqramını tamamilə yeniləyə bilərsiniz. Bunun üçün əvvəlcə yenisini yaratmalısınız. Arduino və ya Visual Studio IDE vasitəsilə edilə bilər. Sonra https://192.168.0. XX/update brauzerini daxil edin, proqram təminatınızı seçin və yeniləmə düyməsini basın. Proses başa çatana qədər gözləyin və cavab OK alacaqsınız, əks halda addımı təkrarlayın

Tövsiyə: