Sadržaj:
- Korak 1: Dijelovi koji su potrebni
- Korak 2: Ožičenje i sastavljanje
- Korak 3: Otpremanje firmvera na ESP32
- Korak 4: Otpremanje spremnog firmvera
- Korak 5: Konfiguracija
- Korak 6: Podešavanje i potrošnja energije
- Korak 7: Podešavanje senzora
- Korak 8: Dodavanje uređaja u Apple Home Kit
- Korak 9: OTA: Ažuriranja putem bežične mreže
Video: ESP32 Solarna meteorološka stanica: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
U ovom ćemo vodiču izgraditi projekt meteorološke stanice s omogućenim WiFi -jem.
Cilj je dizajnirati meteorološku stanicu sa gotovo svim mogućim podvizima:
- Prikažite trenutne uslove, vrijeme, temperaturu, vlažnost, pritisak
- Prikaži prognozu za naredne dane
- Ažuriranje uživo
- Ugrađena web stranica za konfiguraciju i predstavljanje podataka
- Otpremite podatke u oblak radi statistike historije
- Integrirano sa Aple Home Kit ili MQTT
- Neopterećeni Accu sa mogućnošću punjenja ili povezivanjem na solarnu ploču
Ne mogu dodati više ni mašte šta drugo mora ili može biti
Korak 1: 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 pritiska
- USB litijumski 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
Prvi korak je okupljanje stanica.
Podijelio sam plastično kućište na dva dijela, od kojih se jedan koristi za bateriju, prekidač, USB punjač i DC-DC iskorak. U ovaj dio stavljam držač baterije i izrađujem prozore za prekidač i USB punjač. Imajte na umu 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 čuvanje TFT ekrana
- Lemite ostale elektronske komponente: BME280, otpornike, dugmad
- Lemljenje ožičenja između komponenti prema dijagramu
Treći korak je priprema montaže ploče za kruh na drugi dio plastičnog kućišta. Odštampao sam na svom 3D štampaču dvije šipke, pričvrstite ih na ploču pomoću vijaka i napravite pravokutno rezanje za ekran.
Zalijepio sam nosače od plastičnih šipki na tijelo od plastičnog kućišta. Sada, kada 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 status napona baterije
- Lemiti i montirati detektor pokreta
Završni korak:
- postavite DC-DC pretvarač podešavanjem izlaznog napona 5v
- spojite dva dijela kontrolera stanice na napajanje: žice za napajanje i očitanje napona
Za detektor pokreta i dugme napravio sam dodatne rupe na prednjoj strani.
Korak 3: Otpremanje firmvera na ESP32
Za ovaj projekt sam koristio univerzalni softver koji sam sam razvio
Molimo pogledajte github stranicu ESPHomeController. Ovo sadrži potpune upute za kompajliranje 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 tač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 automatski pokrenuti. Ako ne unesete URL vašeg preglednika: 192.168.4.1 i vidjet ćete ekran 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 sistem 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 ovo sada trebate 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 dnevnika
- Korištenje bilo kojeg tcp skenera za skeniranje vaših mrežnih uređaja
- Pritisnite dugme na meteorološkoj stanici i vidjet ćete informacije o sistemu
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: Otpremanje spremnog firmvera
Ovaj odjeljak je posebno za slušne osobe koje neće samostalno proizvoditi firmver. Potrebno je samo učitati "spreman" firmver
1. Preuzmite alate za otpremanje sa ove stranice
2. Preuzmite priložene (ekstrakt iz arhive) datoteke HomeController.bin i bootloader_qio_80m.bin na svoj tvrdi disk
3. Pokrenite ESP32 alatku za preuzimanje i unesite vrijednosti prema snimci zaslona
4. Pritisnite start
Korak 5: Konfiguracija
Prije početka pripreme konfiguracije potrebno vam je:
- Kreirajte svoj kanal na bazi stvari i ključa za svoj kanal. Pripremite 4 polja i pravilno ih imenujte Temperatura, Vlažnost, Pritisak, Napon
- Registrirajte se na Weather.com kako biste dobili svoj api ključ
Thingspeak je potreban za učitavanje vaših podataka i praćenje trendova i vrijednosti
Vrijeme je potrebno za dobijanje podataka o prognozi.
U redu, konačno trebate 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 zamenite
- thingspeakapi sa vašim api ključem thingspeak
- weatherapi s vašim api ključem za vremensku prognozu
- geokod sa vašom 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 biti nadograđene do korijena 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 ponovo pokrenuti i sve je učinjeno kako treba. Esp će prikazati odgovarajući ekran kao na gornjoj fotografiji i video zapisu
Korak 6: Podešavanje 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 ekrana
Prema mjerenju, on jede 15-20 mA (puno) pa sam koristio taktiku s detektorom pokreta. Savršeno radi Detektori pokreta koji mogu prepoznati svaku detekciju do 8-10 metara i podići 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, ne nailazim na problem da vidim svoj ekran kad poželim
2. Smanjite potrošnju energije pomoću ESP32
Kad je ESP spojen na WiFi, on stalno jede 7-10 mA, govorim o konstantnom vremenu, a ne pokretanju i prvom povezivanju. To može biti prihvatljivo ako ste uvijek vidjeli stvarni datum i vrijeme, pristupite svom sistemu iz Apple 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:
- Ekran s vremenom prikazuje zastarjele vrijednosti vremena
- Stanica nije dostupna iz preglednika i Apple Home Kit -a za vrijeme spavanja
Na vama je da odlučite šta je važnije, to možete jednostavno ponovo konfigurirati.
Molimo 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 tu postavite 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
Kako bi se smanjio utjecaj unutarnjeg grijanja na temperaturni senzor BME280
Firts Napravio sam cijev oko senzora i rupa. Hovewer u mom načinu rada kada je LED normalno isključen i ESP spava nije toliko važan. U drugim slučajevima BME280 senzor bi se trebao pomaknuti nekamo kako bi se isključio utjecaj unutarnjeg grijanja. Koliko god mali uticaj pronašao, stoga 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 sa 3,3 V, igrajući se sa cvalmax vrijednošću možete postići precizno podešavanje napona sa vašom vrijednošću multimetra
Korak 8: 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 ekranu.
Prvo morate ponovo pokrenuti uređaj jer č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 stvorite 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 listi (pogledajte sliku)
5. Odaberite uređaj i potvrdite dodavanje bez službenog certifikata
6. Upišite lozinku 11111111
7. To je sve! Trebali biste vidjeti da je uređaj uspješno uparen, u protivnom ponovo pokrenite postupak uparivanja.
Na temelju ovih postavki vidjet ćete dva uređaja na Appleu
1. Senzor temp. I Hum senzor, pri dubljem prikazu vrijednosti prikazat će se na cijelom ekranu
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 bežične mreže
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
- Konfiguracija pomoću https://192.168.0. XX/browse možete pristupiti sistemu datoteka na ESP -u i promijeniti datoteke konfiguracije
- Možete potpuno ažurirati firmver. u tu svrhu prvo morate stvoriti novu. To se može učiniti putem Arduina ili Visual Studio IDE -a. Zatim unesite preglednik https://192.168.0. XX/update, odaberite svoj firmver i pritisnite update. Sačekajte dok se proces ne završi i dobićete odgovor OK, u suprotnom ponovite korak ponovo
Preporučuje se:
Modularna solarna meteorološka stanica: 5 koraka (sa slikama)
Modularna solarna meteorološka stanica: Jedan od projekata koje sam želio izgraditi neko vrijeme je bila modularna meteorološka stanica. Modularni u smislu da možemo dodati senzore koje želimo samo promjenom softvera. Modularna meteorološka stanica podijeljena je na tri dijela. Glavna ploča ima W
NaTaLia meteorološka stanica: Arduino solarna meteorološka stanica učinila pravi način: 8 koraka (sa slikama)
NaTaLia meteorološka stanica: Arduino solarna meteorološka stanica učinila je pravi put: Nakon godinu dana uspješnog rada na 2 različite lokacije, dijelim svoje planove projekta meteoroloških stanica na solarni pogon i objašnjavam kako je evoluirala u sistem koji zaista može opstati dugo vremena perioda iz solarne energije. Ako pratite
"Uradi sam" meteorološka stanica i WiFi senzorska stanica: 7 koraka (sa slikama)
DIY meteorološka stanica i WiFi senzorska stanica: U ovom projektu ću vam pokazati kako stvoriti meteorološku stanicu zajedno sa WiFi senzorskom stanicom. Senzorska stanica mjeri lokalne podatke o temperaturi i vlažnosti i šalje ih putem WiFi -a meteorološkoj stanici. Meteorološka stanica tada prikazuje t
Solarna meteorološka stanica: 5 koraka
Solarna meteorološka stanica: Jeste li ikada željeli vremenske informacije u stvarnom vremenu iz svog dvorišta? Sada možete kupiti meteorološku stanicu u trgovini, ali one obično zahtijevaju baterije ili ih je potrebno priključiti na utičnicu. Ova meteorološka stanica ne mora biti povezana sa
Solarna meteorološka stanica ESP32: 4 koraka (sa slikama)
ESP32 Solar Weather Station: Za svoj prvi IoT projekt želio sam izgraditi meteorološku stanicu i poslati podatke na data.sparkfun.com. Mala ispravka, kada sam odlučila otvoriti svoj račun u Sparkfun -u, nisu prihvaćali više veza, pa sam odaberite drugi sakupljač podataka IoT koji