Sadržaj:

ESP32 meteorološka stanica Solarno napajanje: 9 koraka
ESP32 meteorološka stanica Solarno napajanje: 9 koraka

Video: ESP32 meteorološka stanica Solarno napajanje: 9 koraka

Video: ESP32 meteorološka stanica Solarno napajanje: 9 koraka
Video: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Studeni
Anonim
Image
Image
ESP32 meteorološka stanica na solarni pogon
ESP32 meteorološka stanica na solarni pogon
ESP32 meteorološka stanica na solarni pogon
ESP32 meteorološka stanica na solarni pogon

U ovom ćemo vodiču izgraditi projekt meteorološke postaje s omogućenim WiFi -jem.

Cilj je dizajnirati meteorološku stanicu sa gotovo svim mogućim podvizima:

  • Prikažite trenutne uvjete, vrijeme, temperaturu, vlažnost, tlak
  • Pokaži prognozu za sljedeće dane
  • Ažuriranje u eteru
  • Ugrađena web stranica za konfiguraciju i predstavljanje podataka
  • Prenesite podatke u oblak radi statistike povijesti
  • Integrirano s Aple Home Kit ili MQTT
  • Nezaštićeni Accu s mogućnošću punjenja ili povezivanjem na solarnu ploču

Ne mogu dodati više niti više mašte što još mora ili može biti

Korak 1: Dijelovi koji su potrebni

Dijelovi koji su potrebni
Dijelovi koji su potrebni
Dijelovi koji su potrebni
Dijelovi koji su potrebni
Dijelovi koji su potrebni
Dijelovi koji su potrebni
  • ESP32 (koristio sam dev modul)
  • 2.8 "240x320 TFT LCD SPI ILI9341
  • Plastično kućište
  • 3 x 18650 Accu
  • Vremenski senzor BME280 za mjerenje temperature, vlažnosti i tlaka
  • USB litijski modul za punjenje
  • DC-DC korak UP18650
  • držač baterije (3 kom)
  • HC-SR505 Detektor pokreta
  • 220 Om otpornik
  • 2x 10 kOm otpornika
  • TIP120 NPN tranzistor (Darlington) može se koristiti bilo koji drugi kompatibilan
  • ButtonWires, prekidač, ploča za lemljenje….

Korak 2: Ožičenje i sastavljanje

Ožičenje i sastavljanje
Ožičenje i sastavljanje
Ožičenje i sastavljanje
Ožičenje i sastavljanje
Ožičenje i sastavljanje
Ožičenje i sastavljanje
Ožičenje i sastavljanje
Ožičenje i sastavljanje

Prvi korak je okupljanje stanica.

Plastično kućište podijelio sam na dva dijela, od kojih se jedan koristi za bateriju, prekidač, USB punjač i iskorak DC-DC. U ovaj dio stavljam držač baterije i izrađujem prozore za prekidač i USB punjač. Budite svjesni da usb modul punjača prilično zagrijava pa sam upotrijebio aluminijsku ploču i na njega stavio USB punjač pomoću ljepila Star 922.

Drugi korak je sastavljanje dijela kontrolera.

Pogledajte dijagram ožičenja kako treba biti spojen

U tu sam svrhu upotrijebio ploču za kruh sa sljedećim koracima

  • Lemljena ploča za razvoj ESP32
  • Lemljeni štit za zadržavanje TFT zaslona
  • Lemite ostale elektroničke komponente: BME280, otpornike, gumbe
  • Lemljenje ožičenja između komponenti prema dijagramu

Treći korak je pripremiti montažu ploče za kruh na drugi dio plastičnog kućišta. Ispisao sam na svom 3D pisaču dvije šipke, pričvrstite ih vijcima na ploču i napravite pravokutno rezanje za zaslon.

Zalijepila sam nosače od plastičnih šipki na tijelo od plastičnog kućišta. Kad se ljepilo osuši, kabinu ploče za kruh odvojite vijcima.

Sljedeći korak je:

  • Lemljenje ožičenja za izvor napajanja
  • Lemljenje ožičenja za stanje napona baterije
  • Detektor pokreta za lemljenje i montiranje

Posljednji korak:

  • postavljanje DC-DC pretvarača podešavanjem izlaznog napona 5v
  • spojite dva dijela kontrolera stanice na napajanje: žice za napajanje i očitanje napona

Za detektor pokreta i gumb napravio sam dodatne rupe na prednjoj strani.

Korak 3: Prijenos firmvera na ESP32

Za ovaj projekt koristio sam univerzalni softver koji sam sam razvio

Molimo pogledajte github stranicu ESPHomeController. Ovo sadrži potpune upute za sastavljanje i postavljanje.

! Ako niste upoznati s kompilacijom i Arduinom, pogledajte korak Učitavanje spremnog firmvera

Čim prvi put učitate firmver, ESP32 će se pokrenuti u načinu konfiguracije (način pristupne točke)

Trebali biste ih konfigurirati. U tu svrhu otvorite na bilo kojem popisu uređaja dostupan WiFi. Pronađite HomeController i povežite se s njim. Zarobljeni portal trebao bi se pokrenuti automatski. Ako ne unesete u svoj preglednik url: 192.168.4.1 i vidjet ćete zaslon za konfiguraciju

Slijedite upute i konfigurirajte WiFi vjerodajnice za svoju WiFi mrežu.

ESP će se nakon toga ponovno pokrenuti kao WiFi klijent i spojit će se na vaš Wifi.

Kako se sson firts povezivanje dogodi, automatski će montirati Spiffs datotečni sustav i preuzeti potrebne datoteke za web portal:

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

Preuzimanje se događa iz mape

Sad možete vidjeti sadržaj datoteke putem web preglednika. za to biste sada trebali ip adresu vašeg ESP32

Možete ga pronaći na jedan od sljedećih načina:

  • Korištenje monitora serijskog porta za pregled ESP32 zapisnika
  • Korištenje bilo kojeg tcp skenera za skeniranje vaših mrežnih uređaja
  • Pritisnite gumb na vremenskoj postaji i vidjet ćete informacije o sustavu

Stavite na pregledavanje https://192.168.0. XX/browse i vidjet ćete popis datoteka vašeg ESP -a

(192.168.0. XX je IP adresa vašeg uređaja

Za konačno podešavanje morate pripremiti konfiguracijske datoteke.

Korak 4: Prijenos spremnog firmvera

Prijenos spremnog firmvera
Prijenos spremnog firmvera

Ovaj odjeljak je posebno za slušne osobe koje neće samostalno proizvoditi firmver. Vi samo trebate učitati "spreman" firmware

1. Preuzmite alate za prijenos flash datoteka s ove stranice

2. Preuzmite priložene datoteke (ekstrakt iz arhive) datoteke HomeController.bin i bootloader_qio_80m.bin na svoj tvrdi disk

3. Pokrenite alat za preuzimanje ESP32 i unesite vrijednosti prema snimci zaslona

4. Pritisnite start

Korak 5: Konfiguracija

Prije početka pripreme konfiguracije potrebno vam je:

  1. Napravite svoj kanal na temelju stvari i ključa za vaš kanal. Pripremite 4 polja i pravilno ih imenujte Temperatura, Vlažnost, Tlak, Napon
  2. Registrirajte se na Weather.com kako biste dobili svoj api ključ

Stvari su potrebne za prijenos vaših podataka i praćenje trendova i vrijednosti

Vrijeme je potrebno za dobivanje podataka o prognozi.

U redu, konačno morate stvoriti datoteku services.json sa sljedećim sadržajem

[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp".org "," enableleep ": true," Sleptype ": 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", "enabled": true, "interval": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & units = m & language = hr -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": "thingspea kapi "}, {" enabled ": true," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pins ": [27]}]

! Molimo zamijenite

  • thingspeakapi s vašim api ključem thingspeak
  • weatherapi s vašim api ključem za vremensku prognozu
  • geokod sa svojom lokacijom za koju želite dobiti prognozu

Zatim pripremite drugu datoteku triggers.json

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

Obje datoteke moraju se nadograditi u korijen esp -a.

To možete učiniti putem preglednika https://192.168.0. XX/browse, gdje je https://192.168.0. XX IP adresa vašeg uređaja

Nakon učitavanja ESP se mora ponovno pokrenuti i sve je učinjeno kako treba. Esp će prikazati odgovarajući zaslon kao na gornjoj fotografiji i videozapisu

Korak 6: Ugađanje i potrošnja energije

Ugađanje i potrošnja energije
Ugađanje i potrošnja energije

Koristim svoj uređaj s vezom na solarnu ploču i da bih bio siguran da može raditi "beskonačno"

potrošnja energije je važna i nakon nekoliko eksperimenata upotrijebio sam dva velika trika

Smanjite potrošnju pozadinske LED diode TFT zaslona

Prema mjerenju, on jede 15-20 mA (puno) pa sam koristio taktiku s detektorom pokreta. Savršeno radi. Detektori pokreta mogu prepoznati svaku detekciju do 8-10 metara i povisiti napon na signalnom kabelu. Ovo su otvori tranzistora i pozadinski LED diode primaju snagu. Obično detektor zadržava ovo stanje do 10 sekundi što je više nego dovoljno za pregled monitora, ali ako nastavite kretanje signal je i dalje visok i LED svijetli.

Takav pristup mi daje veliku ekonomičnost, bez dodatnih efekata, nemam problema s gledanjem ekrana kad želim

2. Smanjite potrošnju energije pomoću ESP32

Kad je ESP spojen na WiFi, stalno jede 7-10 mA, govorim o konstantnom vremenu, a ne pokretanju i prvoj vezi. To može biti prihvatljivo ako ste uvijek vidjeli stvarni datum i vrijeme, pristupite svom sustavu iz Appleovog kućnog kompleta

I za moju solarnu energiju u zimskom periodu trebalo je odgovarati radovima bez dodatnih izvora energije, Stoga sam odlučio povremeno staviti ESP32 u stanje mirovanja (prehrana je manja od 1 mA). Meni je to u redu, na primjer ESP spava 20 minuta, zatim se probudim, zaslon za osvježavanje (stvarni podaci i prognoza) šalje podatke na govor i nazad u način mirovanja

Minusi su:

  • Zaslon s vremenom prikazuje zastarjele vrijednosti vremena
  • Stanica nije dostupna iz preglednika i Apple Home Kit -a tijekom vremena spavanja

Na vama je da odlučite što je važnije, to možete jednostavno ponovno konfigurirati.

Pogledajte datoteku services.json i liniju

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

"enableleep": true uopće omogućuje spavanje, ako stavite false ili uklonite paramater (false je zadano) ESP nikada neće zaspati

"interval spavanja": 900000 ovo je milis ili 15 min, znači svakih 15 min ESP će se probuditi i raditi potrebno osoblje

Dakle, sada svi mogu lako igrati prema potrebi

Korak 7: Podešavanje senzora

Za smanjenje utjecaja unutarnjeg grijanja na temperaturni osjetnik BME280

Firts sam napravio neke cijevi oko senzora i rupe. Hovewer u mom načinu rada kada je LED normalno isključen i ESP spava nije toliko važan. U drugim slučajevima senzor BME280 trebao bi se pomaknuti nekamo kako bi se isključio utjecaj unutarnjeg grijanja. Koliko god mali utjecaj našao, postoje dva parametra za kompenzaciju

"hum_corr": 10.0

što znači da će se te vrijednosti dodati nakon mjerenja

Drugo je kalibriranje mjerenja napona baterije, {"enabled": "true", "interval": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," acctype ": 10}, "cvalmin": 0,0

"cvalmax": 7.2

su u tu svrhu, jer se napon mjeri nakon razdjelnika otpornika i uspoređuje s 3,3 V, igrajući se s cvalmax vrijednošću možete postići točno podešavanje napona sa svojom vrijednošću multimetra

Korak 8: Dodavanje uređaja u Apple Home Kit

Dodavanje uređaja u Apple Home Kit
Dodavanje uređaja u Apple Home Kit

Konačno, kada vaš uređaj ispravno radi, možete ga dodati u Apple Home Kit i moći ćete vidjeti

vrijednosti senzora na Appleovom početnom zaslonu.

Prvo morate ponovno pokrenuti uređaj, čim se uređaj pokrene, neće zaspati 20 minuta je više nego dovoljno

Zatim otvorite aplikaciju Home Kit na svom iOS uređaju i odaberite ili izradite novi Home1. Pritisnite Dodaj (+)

2. Odaberite Dodaj dodatak.

3. Pritisnite Nemam kôd ili Ne mogu skenirati (dodat će se skeniranje)

4. ako sve ide u redu, trebali biste vidjeti svoj novi esp uređaj na popisu (vidi sliku)

5. Odaberite uređaj i potvrdite dodavanje bez službenog certifikata

6. Upišite lozinku 11111111

7. To Sve! Trebali biste vidjeti da je uređaj uspješno uparen, u protivnom ponovno pokrenite postupak uparivanja.

Na temelju ovih postavki vidjet ćete dva uređaja na Appleu

1. Senzor temp. I Hum senzor, koji ide duboko, prikazat će vrijednosti na cijelom zaslonu

2. Senzor svjetla:) Apple zapravo može prikazati svjetlosni ambijent, ali ne i napon, stoga se napon baterije prikazuje u luksima

Korak 9: OTA: Ažuriranja putem zraka

Prije početka bilo kakvog ažuriranja bolje je ponovno pokrenuti ESP32, kao što je već spomenuto, neće zaspati prvih 20 minuta

Postoje dvije mogućnosti ažuriranja

  1. Konfiguracija pomoću https://192.168.0. XX/browse možete pristupiti datotečnom sustavu na ESP -u i promijeniti konfiguracijske datoteke
  2. Možete potpuno ažurirati firmver. u tu svrhu najprije morate stvoriti novu. To se može učiniti putem Arduina ili Visual Studio IDE -a. Zatim upišite u preglednik https://192.168.0. XX/update, odaberite svoj firmver i pritisnite update. Pričekajte dok se proces ne završi i dobit ćete odgovor OK, u suprotnom ponovite korak ponovo

Preporučeni: