İçindekiler:
- Adım 1: Gerekli Parçalar
- Adım 2: Kablolama ve Montaj
- Adım 3: Firmware'i ESP32'ye Yükleme
- 4. Adım: Hazır Ürün Yazılımını Yükleme
- Adım 5: Yapılandırma
- Adım 6: Ayarlama ve Güç Tüketimi
- Adım 7: Sensörlerin Ayarlanması
- 8. Adım: Apple Home Kit'e Aygıt Ekleme
- 9. Adım: OTA: Kablosuz Güncellemeler
Video: ESP32 Hava İstasyonu Güneş Enerjili: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
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
- 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
İ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
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:
- 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
- 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
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
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
- 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.
- 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:
Modüler Güneş Hava İstasyonu: 5 Adım (Resimlerle)
Modüler Güneş Hava İstasyonu: Bir süredir inşa etmek istediğim projelerden biri Modüler Hava İstasyonu idi. Modüler anlamda sadece yazılımı değiştirerek istediğimiz sensörleri ekleyebiliriz. Modüler Hava İstasyonu üç bölüme ayrılmıştır. Ana kartta W
NaTaLia Hava İstasyonu: Arduino Güneş Enerjili Hava İstasyonu Doğru Şekilde Yapıldı: 8 Adım (Resimlerle)
NaTaLia Hava İstasyonu: Arduino Güneş Enerjili Hava İstasyonu Doğru Şekilde Yapıldı: 2 farklı lokasyonda 1 yıllık başarılı operasyonun ardından, güneş enerjili meteoroloji istasyonu proje planlarımı paylaşıyor ve gerçekten uzun süre hayatta kalabilen bir sisteme nasıl evrildiğini açıklıyorum. güneş enerjisinden dönemler. Takip ederseniz
Güneş Enerjili Telefon Şarj İstasyonu: 4 Adım
Güneş Enerjili Telefon Şarj İstasyonu: Boşalmış bir telefon, yaygın bir birinci dünya sorunudur. Neyse ki, bu devre ile telefonunuza güç sağlamak için güneşin gücünü kullanabilirsiniz. Bu eğitim SADECE devre tarafı içindir. Sistemin herhangi bir fiili kapsamı başka bir yerde edinilmelidir
ESP32 Güneş Hava İstasyonu: 4 Adım (Resimlerle)
ESP32 Solar Weather Station: İlk IoT projem için bir Weather Station inşa etmek ve verileri data.sparkfun.com'a göndermek istedim. Küçük bir düzeltme, Sparkfun'da hesabımı açmaya karar verdiğimde daha fazla bağlantı kabul etmiyorlardı, bu yüzden ben de başka bir IoT veri toplayıcı seçin
Güneş Enerjili WiFi Hava İstasyonu V1.0: 19 Adım (Resimlerle)
Güneş Enerjili WiFi Hava İstasyonu V1.0: Bu Eğitilebilir Kitapta, size bir Wemos panosu ile Güneş enerjisiyle çalışan bir WiFi Hava İstasyonunun nasıl kurulacağını göstereceğim. Wemos D1 Mini Pro, küçük bir form faktörüne sahiptir ve çok çeşitli tak ve çalıştır kalkanları, onu hızlı bir şekilde almak için ideal bir çözüm haline getirir