İçindekiler:

ESP32 Hava İstasyonu Güneş Enerjili: 9 Adım
ESP32 Hava İstasyonu Güneş Enerjili: 9 Adım

Video: ESP32 Hava İstasyonu Güneş Enerjili: 9 Adım

Video: ESP32 Hava İstasyonu Güneş Enerjili: 9 Adım
Video: Ay’a Çıkan İlk İnsanın Yıllardır Sakladığı Sır Ortaya Çıktı! 2024, Haziran
Anonim
Image
Image
ESP32 Hava İstasyonu Güneş Enerjili
ESP32 Hava İstasyonu Güneş Enerjili
ESP32 Hava İstasyonu Güneş Enerjili
ESP32 Hava İstasyonu Güneş Enerjili

Bu eğitimde, WiFi özellikli bir meteoroloji istasyonu projesi oluşturacağız.

Hedef, neredeyse tüm olası özelliklere sahip Hava İstasyonu tasarlamaktır:

  • Mevcut koşulları, zamanı, sıcaklığı, nemi, basıncı göster
  • Önümüzdeki günler için tahmini göster
  • yayında güncelleme
  • Yapılandırma ve veri gösterimi için yerleşik web sitesi
  • Geçmiş istatistikleri için verileri buluta yükleyin
  • Aple Home Kit veya MQTT ile entegre
  • Olası şarj veya güneş paneline bağlanma ile çalışan bağımsız Accu

Daha fazlasını ekleyemem ve daha fazla hayal gücü değil, başka ne olması gerektiği veya olabileceği

Adım 1: Gerekli Parçalar

Gerekli Parçalar
Gerekli Parçalar
Gerekli Parçalar
Gerekli Parçalar
Gerekli Parçalar
Gerekli Parçalar
  • ESP32 (dev modülünü kullandım)
  • 2.8" 240x320 TFT LCD SPI ILI9341
  • Plastik kasa
  • 3 x 18650 Akülü
  • Sıcaklık, Nem ve Basıncı ölçmek için hava durumu sensörü BME280
  • USB lityum şarj modülü
  • DC-DC adım UP18650
  • pil tutucu (3 adet)
  • HC-SR505 Hareket dedektörü
  • 220 Om direnç
  • 2x 10 kOm dirençler
  • TIP120 NPN transistör (Darlington) herhangi bir uyumlu kullanılabilir
  • ButtonWires, anahtar, lehim tahtası….

Adım 2: Kablolama ve Montaj

Kablolama ve Montaj
Kablolama ve Montaj
Kablolama ve Montaj
Kablolama ve Montaj
Kablolama ve Montaj
Kablolama ve Montaj
Kablolama ve Montaj
Kablolama ve Montaj

İlk adım, istasyon güçlerinin birleştirilmesidir.

Plastik kasayı iki parçaya böldüm, bunlardan biri pil, switch, USB şarj cihazı ve DC-DC çıkışı için kullanılıyor. USB şarj modülünün oldukça ısındığını unutmayın, bu nedenle alüminyum plaka kullandım ve Star 922 yapıştırıcı kullanarak bunun üzerine USB şarj cihazı koydum.

İkinci adım, kontrolör parçasının montajıdır.

Nasıl bağlanması gerektiğini kablo şemasına bakın

Bu amaçla aşağıdaki adımlarla Bread board kullandım

  • Lehim ESP32 geliştirme kartı
  • TFT ekranı tutmak için lehim kalkanı
  • Diğer elektronik bileşenleri lehimleyin: BME280, dirençler, düğmeler
  • Şemaya göre bileşenler arasında lehim kablolaması

Üçüncü adım, plastik kasanın ikinci kısmına breadboard'un montajının hazırlanmasıdır. 3d yazıcımda iki çubuk yazdırdım, bunları vidalarla tahtaya monte ettim ve ekran için dikdörtgen kesim yaptım.

Plastik kasanın gövdesine plastik çubuk destekleri yapıştırdım. Şimdi tutkal kuruduğunda, ekmek tahtası kabini vidalarla sökülebilir.

Sonraki adım:

  • Güç kaynağı için lehim kabloları
  • Akü voltajı durumu için lehim kabloları
  • Lehim ve montaj hareket dedektörü

Son adım:

  • 5v çıkış voltajını ayarlayarak DC-DC dönüştürücüyü ayarlayın
  • istasyon denetleyicisinin iki parçasını güce bağlayın: güç kabloları ve voltaj okuması

Hareket dedektörü ve buton için ön tarafta ek delikler açtım.

Adım 3: Firmware'i ESP32'ye Yükleme

Bu proje için kendim geliştirdiğim evrensel bir yazılım kullandım.

Lütfen ESPHomeController github sayfasına bir göz atın. Bu, derleme ve kurulumla ilgili tüm talimatları içerir.

! Derlemeye aşina değilseniz ve Arduino'ya bir göz atın.

Ürün yazılımını ilk kez yüklediğiniz anda, ESP32 yapılandırma modunda (Erişim Noktası modu) başlayacaktır.

Bunları yapılandırmanız gerekir. Bu amaçla, mevcut WiFi'nin herhangi bir cihaz listesinde açın. HomeController'ı bulun ve ona bağlanın. Esir portalı otomatik olarak başlamalıdır. Tarayıcınızın url'sini girmezseniz: 192.168.4.1 ve yapılandırma ekranını göreceksiniz

Talimatları izleyin ve WiFi kimlik bilgilerini WiFi ağınıza yapılandırın.

ESP bundan sonra WiFi istemcisi olarak yeniden başlayacak ve Wifi'nize bağlanacaktır.

Sson bağlantı gerçekleştiğinde, Spiffs dosya sistemini otomatik olarak bağlar ve web portalı için gerekli dosyaları indirir:

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

İndirme, https://github.com/Yurik72/ESPHomeController/tree/… klasöründen gerçekleşir.

Artık dosya içeriğini web tarayıcısı üzerinden görebilirsiniz. bunun için şimdi ESP32'nizin ip adresini almalısınız.

Aşağıdaki yollardan biriyle bulabilirsiniz:

  • ESP32 günlüklerini görmek için seri bağlantı noktası izleyicisini kullanma
  • Ağ cihazlarınızı taramak için herhangi bir tcp tarayıcı kullanma
  • Hava durumu istasyonunda bir düğmeye basın ve sistem bilgilerini göreceksiniz

Http://192.168.0. XX/browse'a göz atın ve ESP'nizin bir dosya listesini göreceksiniz.

(192.168.0. XX, cihazınızın IP adresidir

Son ayar için yapılandırma dosyalarını hazırlamanız gerekir.

4. Adım: Hazır Ürün Yazılımını Yükleme

Hazır Ürün Yazılımını Yükleme
Hazır Ürün Yazılımını Yükleme

Bu bölüm, özellikle kendi başına ürün yazılımı üretmeyecek olan işitsel kişiler içindir. Sadece "hazır" ürün yazılımı yüklemeniz gerekiyor

1. Bu sayfadan flash yükleme araçlarını indirin

2. Ekli (arşivlerden alıntı) dosyaları HomeController.bin ve bootloader_qio_80m.bin'i sabit sürücünüze indirin

3. ESP32 indirme aracını başlatın ve ekran görüntüsüne göre değerleri girin

4. Başlat'a basın

Adım 5: Yapılandırma

Konfigürasyonu hazırlamaya başlamadan önce şunlara ihtiyacınız vardır:

  1. Kanalınızı, kanalınız için şey ve anahtar üzerinde oluşturun. 4 alan hazırlayın ve bunları Sıcaklık, Nem, Basınç, Gerilim olarak doğru bir şekilde adlandırın
  2. API anahtarınızı almak için Weather.com'a kaydolun

Verilerinizi yüklemek ve eğilimleri ve değerleri izlemek için Thingspeak gereklidir

Hava tahmini verilerini almak için gereklidir.

Tamam, sonunda aşağıdaki içeriğe sahip services.json dosyası oluşturmanız gerekiyor

[{"service":"TimeController", "name":"Time", "etkin":true, "interval":1000, "timeoffs":7200, "dayoffs":3600, "server":"pool.ntp.org", "enablesleep":true, "sleeptype":1, "sleepinterval":900000, "restartinterval":18000000}, {"service":"BME280Controller", "name":"BME", "etkin": true, "interval":900000, "i2caddr":118, "uselegacy":true, "temp_corr":-3.0, "hum_corr":10.0}, {"service":"WeatherClientController", "name":"WeatherForecast", "etkin":true, "aralık":500000, "uri":"https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70&format=json&units=m&language=en -US&apiKey=weatherapi"}, {"service":"WeatherDisplayController", "name":"WeatherDisplay", "etkin":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", "etkin":true, "interval":1200000, "value":[1, 1, 1, 1, 0, 0, 0, 0], "apiKey":"thingspea kapi"}, {"enabled":true, "interval":1, "pin":"", "service":"ButtonController", "name":"Button", "pins":[27]}]

!Lütfen değiştirin

  • Thingsspeak api anahtarınız ilethingspeakapi
  • hava durumu API anahtarınızla birlikte weatherapi
  • tahminini almak istediğiniz konumunuzla birlikte coğrafi kod

Daha sonra ikinci dosya triggers.json'u hazırlayın

[{"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}]

Her iki dosya da esp'nin köküne yüklenmelidir.

Bunu https://192.168.0. XX/browse tarayıcısı üzerinden yapabilirsiniz, burada https://192.168.0. XX cihazınızın IP adresidir.

Yüklemeden sonra ESP yeniden başlatılmalı ve her şey doğru şekilde yapılmıştır. Esp, yukarıdaki fotoğraf ve videodaki gibi uygun ekranı gösterecektir.

Adım 6: Ayarlama ve Güç Tüketimi

Ayarlama ve Güç Tüketimi
Ayarlama ve Güç Tüketimi

Cihazımı Solar Panel bağlantısı ile kullanıyorum ve "sonsuz" çalışabileceğinden emin olmak için

güç tüketimi önemlidir ve birkaç deneyden sonra iki büyük numara kullandım

TFT ekranın arka plan LED'inin tüketimini azaltın

Ölçüme göre 15-20 mA (çok) yiyor, bu yüzden Hareket dedektörü ile taktik kullandım. Mükemmel çalışır Hareket dedektörleri 8-10 metreye kadar her türlü algılamayı algılar ve sinyal kablosunda voltaj yükseltir. Bu, bir transistör açar ve arkadaki Led bir güç alır. Genellikle dedektör bu durumu 10 saniyeye kadar tutar, bu da monitörü görmek için fazlasıyla yeterlidir, ancak hareketlere devam ederseniz sinyal hala yüksek ve LED yanıyor.

Böyle bir yaklaşım bana büyük bir ekonomi sağlıyor, ek etkiler olmadan, istediğim zaman ekranımı görmek için herhangi bir sorunla karşılaşmıyorum.

2. ESP32 ile güç tüketimini azaltın

ESP WiFi'ye bağlandığında sürekli 7-10 mA yiyor, başlatma ve ilk bağlantıdan değil sürekli zamandan bahsediyorum. Her zaman gerçek tarih ve saati görüyorsanız bu kabul edilebilir, sisteminize Apple ev kitinden erişin

Kış aylarında da güneş enerjim için ek güç kaynakları olmadan çalışacak, Bu nedenle periyodik olarak ESP32'yi uyku moduna almaya karar verdim (yemek yeme 1 mA'dan az). Bu benim için sorun değil, örneğin ESP 20 dakika uyuyor, uyandıktan sonra ekranı yenile (gerçek veriler ve tahmin) veriyi şey konuşmasına gönderiyor ve tekrar uyku moduna geri dönüyor

eksileri:

  • Hava durumu ekranı güncel olmayan zaman değerlerini gösteriyor
  • Uyku süresi boyunca istasyona tarayıcıdan ve Apple Home Kit'ten erişilemez

Neyin daha önemli olduğuna karar vermek size kalmış, bunu basitçe yeniden yapılandırabilirsiniz.

Lütfen services.json dosyasına ve satırına bir göz atın

[{"service":"TimeController", "name":"Time", "etkin":true, "interval":1000, "timeoffs":7200, "dayoffs":3600, "server":"pool.ntp.org", "uykuyu etkinleştir":true, "uyku türü":1, "uyku aralığı":900000, "yeniden başlatma aralığı":18000000}

"enablesleep":true, eğer oraya false koyarsanız veya parametreyi kaldırırsanız (false varsayılandır) uykuyu tamamen etkinleştirir ESP asla uyumaz

"uyku aralığı":900000 bu milis veya 15 dakikadır, her 15 dakikada bir ESP'nin uyanacağı ve gerekli personeli yapacağı anlamına gelir

Artık herkes ihtiyaca göre kolayca oynayabilir

Adım 7: Sensörlerin Ayarlanması

Dahili ısıtmanın BME280 sıcaklık sensörüne etkisini en aza indirmek için

Önce sensör ve deliklerin etrafına biraz tüp yaptım. Ancak benim modumda LED normalde kapalıyken ve ESP uyurken o kadar önemli değil. Diğer durumlarda BME280 sensörü, dahili ısıtmanın etkisini dışlamak için bir yere hareket etmelidir. Ne kadar küçük bir etki buldum, bu nedenle telafi etmek için iki parametre var

"hum_corr":10.0

bu, bu değerlerin ölçümden sonra ekleneceği anlamına gelir

İkincisi, akü voltajı ölçümünü kalibre etmektir, {"etkin":"true", "aralık":600000, "pin":36, "service":"LDRController", "name":"LDR", "cvalmin":0.0, "cvalmax":7.2, " cfmt":"%.2f V", "acctype":10}, "cvalmin":0.0

"cvalmax":7.2

bu amaç içindir çünkü rezistör bölücülerden sonra voltaj ölçülür ve 3,3 V ile karşılaştırılır, cvalmax değeri ile oynayarak multimetre değeriniz ile tam voltaj ayarına ulaşabilirsiniz.

8. Adım: Apple Home Kit'e Aygıt Ekleme

Apple Home Kit'e Cihaz Ekleme
Apple Home Kit'e Cihaz Ekleme

Sonunda cihazınız düzgün çalıştığında Apple Home Kit'e eklenebilir ve görebileceksiniz.

Apple ana ekranında sensör değerleri.

Öncelikle cihazı yeniden başlatmanız gerekiyor, cihaz başlar başlamaz uykuya geçmeyecek 20 dakika fazlasıyla yeterli

Daha sonra iOS cihazınızda Home Kit Uygulamasını açın ve yeni Home1'i seçin veya oluşturun. Ekle (+) tuşuna basın

2. Aksesuar ekle'yi seçin.

3. Kodum yok veya Taramam'a basın (tarama ile ilgili daha fazla bilgi eklenecektir)

4. Her şey yolunda gidiyorsa, yeni esp cihazınızı bir listede görmelisiniz (resme bakın)

5. Cihazı seçin ve resmi sertifika olmadan eklemeyi onaylayın

6. Şifre 11111111 yazın

7. Hepsi bu! Cihazın başarılı bir şekilde eşleştirildiğini görmelisiniz, aksi takdirde eşleştirme işlemine tekrar başlayın..

Bu ayara bağlı olarak Apple'da iki cihaz göreceksiniz.

1. Sıcaklık sensörü ve Hum sensörü, derinlere inerek değerleri tam ekranda görüntüler

2. Işık sensörü:) Aslında Apple ışık Ambiyansı gösterebilir, ancak Voltajı gösteremez, bu nedenle pil voltajı Lux'ta gösterilir

9. Adım: OTA: Kablosuz Güncellemeler

Herhangi bir güncellemeye başlamadan önce ESP32'yi yeniden başlatmak daha iyidir, daha önce de belirtildiği gibi ilk 20 dakika uykuya geçmeyecektir.

Güncellemek için iki olasılık var

  1. Http://192.168.0. XX/browse kullanarak yapılandırma, ESP'deki dosya sisteminize erişebilir ve yapılandırma dosyalarını değiştirebilirsiniz.
  2. Firmware'i tamamen güncelleyebilirsiniz. bu amaçla önce yeni bir tane oluşturmanız gerekir. Arduino veya Visual Studio IDE ile yapılabilir. Ardından tarayıcıya https://192.168.0. XX/update yazın, ürün yazılımınızı seçin ve güncellemeye basın. İşlem bitene kadar bekleyin ve yanıt alırsınız, aksi takdirde adımı tekrarlayın

Önerilen: