Innholdsfortegnelse:
- Trinn 1: Deler som kreves
- Trinn 2: Kabling og montering
- Trinn 3: Last opp fastvare til ESP32
- Trinn 4: Last opp klar fastvare
- Trinn 5: Konfigurasjon
- Trinn 6: Tunning og strømforbruk
- Trinn 7: Sensorer Tuning
- Trinn 8: Legge til enhet i Apple Home Kit
- Trinn 9: OTA: Over the Air -oppdateringer
Video: ESP32 Værstasjon Solcelledrevet: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
I denne opplæringen skal vi bygge et WiFi -aktivert værstasjonsprosjekt.
Målet er å designe værstasjon med nesten alle mulige fjærer:
- Vis nåværende forhold, tid, temperatur, fuktighet, trykk
- Vis værmelding for de neste dagene
- Oppdatering på lufta
- Innebygd nettsted for konfigurasjon og datarepresentasjon
- Last opp data til skyen for historikkstatistikk
- Integrert med Aple Home Kit eller MQTT
- Indepeded Accu drevet med mulig lading eller koble til solcellepanel
Jeg kan ikke legge til mer og ikke mer fantasi hva annet må eller kan være
Trinn 1: Deler som kreves
- ESP32 (jeg har brukt dev -modul)
- 2,8 "240x320 TFT LCD SPI ILI9341
- Plastikk eske
- 3 x 18650 Accu
- Værsensor BME280 for å måle temperatur, fuktighet og trykk
- USB litium ladermodul
- DC-DC trinn UP18650
- batteriholder (3 stk)
- HC-SR505 Bevegelsesdetektor
- 220 Om motstand
- 2x 10 kOm motstander
- TIP120 NPN transistor (Darlington) kan brukes hvilken som helst annen kompatibel
- ButtonWires, switch, loddetavle….
Trinn 2: Kabling og montering
Første trinn er å sette sammen stasjonsmakter.
Jeg har delt plastkasse på to pars, en av dem som brukes til batteri, bryter, USB-lader og DC-DC går ut I denne delen setter jeg batteriholder og lager vinduer til bryteren og USB-laderen. Vær oppmerksom på usb -ladermodulen ganske heting derfor har jeg brukt alluminiumplate og satt USB -lader på denne ved hjelp av Star 922 lim.
Det andre trinnet er å sette sammen kontrollerne.
Se koblingsskjema for hvordan den skal kobles til
Jeg har brukt brødbrett til dette formålet med følgende trinn
- Lodde ESP32 dev board
- Loddeskjerm for å beholde TFT -skjermen
- Lodding andre elektroniske komponenter: BME280, motstander, knapper
- Loddeledninger mellom komponenter i henhold til diagram
Tredje trinn er å forberede montering av brødbrett til den andre delen av plasthuset. Jeg har skrevet ut to barer på min 3d -skriver, montert dem på bredboard med skruer og laget rektangulær skjæring for skjermen.
Jeg limte plaststenger på kroppen av plastkassen. Når limet er tørt, kan brettbrettshytten demonteres med skruer.
Neste trinn er:
- Loddetråd for strømkilde
- Loddetråd for batterispenningsstatus
- Bevegelsesdetektor for lodding og montering
Siste trinn:
- konfigurer DC-DC-omformer ved å tune utgangsspenningen 5v
- koble to deler av stasjonskontrolleren til strømmen: strømledninger og spenningsmåling
For bevegelsesdetektoren og knappen har jeg gjort ytterligere hull på forsiden.
Trinn 3: Last opp fastvare til ESP32
Til dette prosjektet har jeg brukt universell programvare, utviklet av meg selv
Ta en titt på github -siden ESPHomeController. Denne inneholder full instruksjon om hvordan du kompilerer og konfigurerer.
! Hvis du ikke er kjent med kompilering og Arduino, kan du se på trinnet Last opp klar fastvare
Så snart du laster opp fastvare første gang starter ESP32 i konfigurasjonsmodus (tilgangspunktmodus)
Du bør konfigurere dem. For dette formålet, åpne i en hvilken som helst enhetsliste over tilgjengelig WiFi. Finn HomeController og koble til den. Captive portal skal starte automatisk. Hvis ikke, skriv inn nettleserens url: 192.168.4.1, og du vil se konfigurasjonsskjermen
Følg instruksjonene og konfigurer WiFi -legitimasjon til ditt WiFi -nettverk.
ESP starter på nytt etter det som WiFi -klient og kobles til Wifi.
Når sson firts -tilkoblingen skjer, vil den automatisk montere Spiffs -filsystemet og laste ned nødvendige filer for webportalen:
- index.html
- filebrowse.html
- js/bundle.min.js.gz
Nedlastingen skjer fra mappen
Nå kan du se filinnhold via nettleser. for dette bør du nå ip -adressen til ESP32
Du kan finne den på en av følgende måter:
- Bruke seriell portmonitor for å se en ESP32 -logger
- Bruk en hvilken som helst tcp -skanner for å skanne nettverksenhetene dine
- Trykk på en knapp på værstasjonen, og du vil se systeminformasjon
Sett inn bla gjennom https://192.168.0. XX/browse, og du vil se en filliste over din ESP
(192.168.0. XX er IP -adressen til enheten din
For den siste tuningen må du forberede konfigurasjonsfiler.
Trinn 4: Last opp klar fastvare
Denne delen er spesielt for hørselshemmede som ikke kommer til å produsere fastvare selv. Du trenger bare å laste opp "klar" fastvare
1. Last ned verktøy for opplasting av flash fra denne siden
2. Last ned vedlagte (utdrag fra arkiver) filer HomeController.bin og bootloader_qio_80m.bin til harddisken
3. Start nedlastingsverktøyet for ESP32 og skriv inn verdier i henhold til skjermbilde
4. Trykk på start
Trinn 5: Konfigurasjon
Før du starter forberedelsen av konfigurasjonen trenger du:
- Lag kanalen din på Thingspeak og nøkkelen for kanalen din. Forbered 4 felt og gi dem riktig navn Temperatur, fuktighet, trykk, spenning
- Registrer deg på Weather.com for å få api -nøkkelen din
Thingspeak er nødvendig for å laste opp dataene dine og overvåke trender og verdier
Været er nødvendig for å få prognosedata.
Ok, endelig må du lage services.json -fil med følgende innhold
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enable sleep ": true," sleeptype ": 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 = no -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]}]
! Vennligst bytt ut
- thingspeakapi med din thingspeak api -nøkkel
- weatherapi med din vær -api -nøkkel
- geokode med posisjonen du vil ha prognose for
Enn forberede den andre filen 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}]
Begge filene må opplastes til roten til esp.
Du kan gjøre dette via nettleseren https://192.168.0. XX/browse, hvor https://192.168.0. XX er IP -adressen til enheten din
Etter opplasting må ESP startes på nytt og alt ble gjort riktig. Esp vil vise den riktige skjermen som på bildet og videoen ovenfor
Trinn 6: Tunning og strømforbruk
Jeg bruker enheten min med tilkoblingen til solcellepanel og for å være sikker på at den kan fungere "uendelig"
strømforbruk er viktig, og etter flere eksperimenter har jeg brukt to store triks
Reduser forbruket av bakgrunns -LED -en på TFT -skjermen
Ifølge måling spiser den 15-20 mA (mye), derfor har jeg brukt taktikk med bevegelsesdetektor. Den fungerer perfekt Bevegelsesdetektorer som er i stand til å gjenkjenne enhver deteksjon opp til 8-10 meter og øke spenningen på signalkabelen. Dette er åpninger en transistor og bakgrunns LED mottar en strøm. Vanligvis holder detektoren denne tilstanden i opptil 10 sekunder, noe som er mer enn nok til å se skjermen, men hvis du fortsetter bevegelsene er signalet fortsatt høyt og LED lyser.
En slik tilnærming gir meg en stor økonomi, uten ekstra effekter. Jeg møter ikke noe problem med å se skjermen min når jeg vil
2. Reduser strømforbruket med ESP32
Når ESP er koblet til WiFi, spiser det konstant 7-10 mA, jeg snakker om konstant tid, ikke oppstart og første tilkobling. Dette kan være akseptabelt hvis du alltid har sett faktisk dato og klokkeslett, få tilgang til systemet ditt fra Apple Home Kit
For min solenergi også om vinteren var det å matche til verk uten ekstra strømkilder, Derfor bestemte jeg meg for å sette ESP32 med jevne mellomrom i hvilemodus (spise er mindre enn 1 mA). Dette er ok for meg, for eksempel sover ESP 20 minutter, enn å våkne, oppdateringsskjermbildet (faktiske data og prognoser) sender data til tinghøyden og tilbake til hvilemodus igjen
Minuser er:
- Værskjermbildet viser utdaterte tidsverdier
- Stasjonen er ikke tilgjengelig fra nettleseren og Apple Home Kit under søvntiden
Det er opp til deg å bestemme hva som er viktigere, du kan enkelt konfigurere det på nytt.
Ta en titt på services.json -filen og -linjen
[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enable sleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}
"enableleep": true muliggjør søvn i det hele tatt, hvis det er lagt feil eller fjerner paramater (falsk er standard) vil ESP aldri sove
"søvnintervall": 900000 dette er millis, eller 15 minutter, betyr at hvert 15. minutt vil ESP våkne og gjøre nødvendig personale
Så nå kan alle enkelt spille etter behov
Trinn 7: Sensorer Tuning
For å minimere påvirkningen av intern oppvarming til BME280 temperatursensor
Firts Jeg gjorde litt rør rundt sensor og hull. Hovewer i min modus når LED normalt er slått av og ESP sover er ikke så viktig. I andre tilfeller bør BME280 -sensoren bevege seg et sted for å utelukke påvirkning av intern oppvarming. Hvor liten innflytelse jeg fant derfor er det to parametere å kompensere
"hum_corr": 10.0
som betyr at disse verdiene vil bli lagt til etter måling
For det andre er kalibrering av batterispenningsmåling, {"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
er for dette formålet, fordi spenning måles etter motstandsdelere og sammenlignes med 3,3 V, ved å spille med cvalmax -verdi kan du nå nøyaktig spenningsjustering med multimetr -verdien
Trinn 8: Legge til enhet i Apple Home Kit
Til slutt, når enheten din fungerer som den skal, kan den legges til Apple Home Kit og du kan se
sensorverdier på Apple -startskjermen.
Først må du starte enheten på nytt, så snart enheten startet, vil den ikke gå i dvale. 20 minutter er mer enn nok
Åpne Home Kit -appen på iOS -enheten din, og velg eller opprett nytt Home1. Trykk på Legg til (+)
2. Velg Legg til tilbehør.
3. Trykk på Jeg har ikke en kode eller kan ikke skanne (videre skanning legges til)
4. hvis alt går bra, bør du se den nye esp -enheten i en liste (se bilde)
5. Velg enhet og bekreft å legge til uten offisiell sertifisering
6. Skriv inn passord 11111111
7. Det hele! Du bør se at enheten ble paret vellykket, ellers kan du starte paringen på nytt.
Basert på innstillingen vil du se to enheter på Apple
1. Temp sensor & Hum sensor, går dypt vil det vise verdier på fullskjerm
2. Lyssensor:) Faktisk er Apple i stand til å vise lys Ambience, men ikke spenning, derfor vises batterispenning i Lux
Trinn 9: OTA: Over the Air -oppdateringer
Før du starter en oppdatering er det bedre å starte ESP32 på nytt, som nevnt før vil den ikke gå i dvale de første 20 minuttene
Det er to muligheter for oppdatering
- Konfigurasjon ved hjelp av https://192.168.0. XX/browse du kan få tilgang til filsystemet ditt på ESP og endre konfigurasjonsfiler
- Du kan fullstendig oppdatere fastvaren. For dette formål må du først lage en ny. Det kan gjøres via Arduino eller Visual Studio IDE. Skriv deretter inn nettleseren https://192.168.0. XX/update, velg fastvaren og trykk oppdater. Vent til prosessen er ferdig, og du får svar OK, ellers gjentar du trinnet igjen
Anbefalt:
Solcelledrevet robot: 17 trinn (med bilder)
Solcelledrevet robot: For en stund tilbake laget jeg dusinvis av roboter som i stor grad var inspirert av BEAM Robotics. For de ukjente er BEAM i utgangspunktet en spesiell metode for robotbygging med vekt på biologi, elektronikk, estetikk og mekanikk (derav akroniet
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort den riktige måten: 8 trinn (med bilder)
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort på riktig måte: Etter 1 års vellykket drift på 2 forskjellige steder deler jeg mine solcelledrevne værstasjonsprosjektplaner og forklarer hvordan det utviklet seg til et system som virkelig kan overleve over lang tid perioder fra solenergi. Hvis du følger
Solcelledrevet sikkerhetssensor: 4 trinn
Solcelledrevet sikkerhetssensor: Denne enkle og rimelige sikkerhetssensoren har noen få bemerkelsesverdige funksjoner som kan være interessante for hobbyfolk: Solcelledrevne med en liten solcelle oppladbar litiumbatteriladningskrets kan drives av USB -kabel for startlading eller batteri
Arduino solcelledrevet temperatur- og fuktighetssensor som 433mhz Oregon -sensor: 6 trinn
Arduino Solar Powered Temperature and Humidity Sensor As 433mhz Oregon Sensor: Dette er bygget av en solcelledrevet temperatur- og fuktighetssensor. Sensor emulerer en 433mhz Oregon-sensor, og er synlig i Telldus Net gateway. Hva du trenger: 1x " 10-LED Solar Power Motion Sensor " fra Ebay. Sørg for at det står 3,7v batter
Solcelledrevet lader for 18650 litiumionceller: 4 trinn
Solcelledrevet lader for 18650 litiumionceller: Lading av litiumionbatterier er en vanskelig affære og også med solenergi fordi litiumionbatterier er farlige og krever kontrollerte lademiljøer. Ellers kan det også føre til eksplosjon. Her skal jeg bygge en 18650 litium