Innholdsfortegnelse:

ESP32 Weathercloud værstasjon: 16 trinn (med bilder)
ESP32 Weathercloud værstasjon: 16 trinn (med bilder)

Video: ESP32 Weathercloud værstasjon: 16 trinn (med bilder)

Video: ESP32 Weathercloud værstasjon: 16 trinn (med bilder)
Video: ESP32 IoT Weather Station 2024, Juli
Anonim
ESP32 Weathercloud værstasjon
ESP32 Weathercloud værstasjon

I fjor publiserte jeg min største Instructable til dags dato kalt Arduino Weathercloud Weather Station. Det var veldig populært vil jeg si. Den ble omtalt på Instructables hjemmeside, Arduino -bloggen, Wiznet museum, Instructables Instagram, Arduino Instagram og også på Weathercloud Twitter. Det var til og med en av de 100 beste instruktørene i 2018! Og det var en veldig stor avtale for en liten produsent som meg. Jeg var glad for å se så mange positive reaksjoner, og jeg leste nøye gjennom hver eneste kommentar og tips. I omtrent 8 måneder har jeg jobbet med denne nye, raffinerte stasjonen. Jeg fikset og forbedret forskjellige ting. Jeg prøvde å gjøre det mindre, enklere, smartere, kjøligere og la den akseptable kostnaden være 150 € (165 $). Stasjonen er montert på en robotgård nær Senec, Slovakia. Her er gjeldende data.

Jeg vil prøve å forklare hele tankeprosessen min her, så hvis du bare vil komme deg rett i bygget, hopper du rett til trinn 3.

Funksjoner:

  • måling av 12 meteorologiske verdier
  • bruk av 8 forskjellige sensorer
  • IoT - data er offentlige på skyen
  • 5V 500mA drift
  • kommunikasjon via Wi-Fi
  • helt værbestandig
  • ser kult ut
  • det er DIY

Tusen takk til Lab Cafe makerspace for å gi plass og støtte mens du bygde denne stasjonen. Gå og sjekk dem!

Fotokreditt: ME (selvfølgelig) + Viktor Demčák

OPPDATERING 18.7.2020: Hei alle sammen! Det er lenge siden. Mange av dere skrev til meg om flere problemer med maskinvare og programvare. Den nye maskinvaren vil være klar om bare et par uker, men til da slipper jeg ny fastvare. Denne programvaren vil bidra til å eliminere noen av problemene. Gå til trinn 12 for å lære mer. Og viktigst av alt, nyt!

Trinn 1: Design

Design
Design

Å designe en værstasjon er en lang og gjennomtenkt prosess. Du har så mange alternativer å velge mellom. Dette er de viktigste tingene du bør tenke på når du designer en værstasjon (eller i det minste jeg gjorde det):

1) BUDSJETT. Dette er ganske selvforklarende.

2) STED. Dette er veldig viktig siden det påvirker installasjonen så vel som kommunikasjonsteknologien og den nødvendige strømkilden. Eksterne værstasjoner trenger sendere med lang rekkevidde og en selvbærende strømkilde, for eksempel et solcellepanel.

3) MÅLE VARIABLER. Vil du bare måle temperatur eller fuktighet? Deretter kan du sette sonden nesten hvor som helst. Men hvis du vil måle nedbør, vind, solstråling, UV -indeks eller andre ting relatert til sol eller nedbør, kan sensorene ikke være i en skygge og kan ikke blokkeres verken fra oppside eller fra sidene.

4) NØYAKTIGHET. Vil du at målingene dine skal være nøyaktig kalibrert og sammenlignbare med det nasjonale værinstituttet, eller er rettere amatørverdier nok for deg?

Så nå bør du ha et ganske godt bilde av hva du vil. Så la oss komme til tegnebrettet! Her er noen grunnleggende regler jeg tenkte på:

1) BESKYTT TEMPERATURSENSOREN. Du må absolutt gjøre dette. Varme kan bevege seg på så mange måter at den kan utstråle og lede gjennom strukturen til selve stasjonen. Så prøv å belegge alle metalldelene, og legg temperatursensoren i et strålingsskjerm. Jeg vet, strålestasjonen min er ikke perfekt, men det hjelper.

2) SETT VINDESENSOREN HØYT. Vindsensorer skal være plassert 10 meter høye etter internasjonale standarder. Jeg har ikke engang penger til å kjøpe en 10 m stolpe, så et rør på 2 meter over taket er nok for meg.

3) KLAR OMRÅDE OG OVER STASJONEN. Hvis du vil måle sollys, kan du ikke ha sensoren i en skygge. Hvis du vil måle nedbør, kan du ikke ha noe som blokkerer dråpene. Så sørg for at området rundt og over stasjonen er ryddet.

La oss fortsette. Så for stasjonen min bestemte jeg meg for at jeg vil måle disse variablene: Lufttemperatur, bakketemperatur, relativ fuktighet, atmosfæretrykk, varmeindeks, duggpunkt, vindkjøling, nedbør, solstråling, UV -indeks, vindhastighet og vindretning. Dette er totalt 8 sensorer som det er 3 små, PCB-monterbare moduler og 5 eksterne sonder. Jeg trenger to separate mikrokontrollere, en for håndtering av bare nedbørsmålinger og den andre for alt annet.

Jeg bestemte meg for å sette alt jeg kan på en enkelt PCB. Jeg legger kretskortet inne i en IP65 -boks med gjennomsiktig deksel, slik at sollys kan passere gjennom solstråling og UV -indekssensorer. Alle de andre sensorene blir koblet til hovedkontrollboksen med en kabel. Så det er det for mitt design.

Trinn 2: Weathercloud

Weathercloud
Weathercloud

"ESP32 Weathercloud Weather Station" Hva er Weatherclud? Weathercloud er et stort nettverk av værstasjoner som rapporterer data i sanntid fra hele verden. Det er gratis, og det er mer enn 10 000 værstasjoner koblet til det. For det første hadde jeg mitt eget HTML -nettsted der alle dataene ble sendt, men det er vanskelig å lage ditt eget nettsted og grafikk, og det er mye lettere å bare sende alle dataene til en stor skyplattform som har fin grafikk og stabile servere. Jeg søkte etter hvordan jeg sendte data til weathercloud, og jeg fant ut at du enkelt kan oppnå det ved å enkelt ringe. Det eneste problemet med Weathercloud er at det med en gratis konto lar deg sende data bare hvert tiende minutt, men det burde ikke være et problem for de fleste bruksområdene. Du må opprette en Weathercloud -konto for å få det til å fungere. Deretter må du opprette en stasjonsprofil på nettstedet deres. Når du oppretter din værstasjonsprofil på Weathercloud, får du en Weathercloud -ID og en Weathercloud -nøkkel. Behold disse fordi Arduino trenger dem for å vite hvor de skal sende data.

Trinn 3: Deleliste

Deleliste
Deleliste

OK, så for dette prosjektet trenger du alt det som er pent oppført i min Google Docs BOM her.

ANSLÅTT PROJEKTKOSTNAD: 150 €/165 $

Trinn 4: Verktøy

Verktøy
Verktøy

Disse verktøyene kan komme godt med (selv om de fleste av dem er absolutt nødvendige):

Laserskjærer

Sveiser

Stålsag

Wire stripper

Bormaskin

Batteri drill

Loddejern

Tang

Skrutrekkere

Limpistol

Multimeter

Trebor

Trinn 5: Kontrollkortdesign

Kontrollpanel Design
Kontrollpanel Design
Kontrollpanel Design
Kontrollpanel Design
Kontrollpanel Design
Kontrollpanel Design

Jeg gikk med en veldig sentralisert arkitektur. Dette betyr at alt som kan være, ikke bare er i en boks, men på ett kretskort. Jeg har nylig lært hvordan man designer PCB, noe som er en veldig verdifull og nyttig ferdighet. Alle prosjektene er mye penere og mer presise og til og med elegante på en måte. Det er også veldig praktisk: du sender bare filene dine til Kina, og de gjør alt ledningsarbeid og sender hele kortet til deg. Deretter lodder du bare komponentene på plass, og du er ferdig.

PCB har begge mikrokontrollerne i denne stasjonen: ESP32 (hovedkontrollenheten) og Arduino NANO (nedbørsprosessoren). Den har også noen av sensorene som inkluderer: BME280, BHT1750 og ML8511. Så er det DS3231 RTC -modulen. Sist men ikke minst er det noen motstander og skruekontakter.

Jeg designet mitt brett i Autodesk Eagle. Bare last ned den medfølgende Gerber -filen kalt "ESP32 weather station.zip" og last den opp til JLC PCB. Eller hvis du vil redigere den, kan du laste ned "ESP32 værstasjon schematic.sch" og "ESP32 værstasjon board.brd" -filene og redigere dem i Eagle. Jeg anbefaler på det sterkeste å registrere Circuit Board Design Class fra Instructables først.

Trinn 6: Lodding

Lodding
Lodding
Lodding
Lodding
Lodding
Lodding
Lodding
Lodding

Ok alle sammen, dere har sikkert gjort dette før. Dette vakre brettet som jeg designet har fine fotavtrykk på silketrykk på det. Når du har det, bør lodding være et stykke kake fordi du ser nøyaktig hvor det går. Det er bare THT -komponenter med standard 0,1 avstand. Så bare fortsett og lodde brettet fordi du er flink og du kan gjøre det selv! Det bør ikke ta deg mer enn en halv time.

OPPDATERING 18.7.2020: RTC -modulen kreves ikke lenger. Det er ikke nødvendig å montere den på brettet. Du kan lære mer i trinn 12.

Trinn 7: Lag strålingsskjoldet

Gjør strålingsskjoldet
Gjør strålingsskjoldet

Da jeg bygde dette, sa jeg til meg selv "Ok, du har allerede gjort dette to ganger, det er ikke en sjanse for at du vil rote det nå." Og det gjorde jeg ikke.

Et solstrålingsskjerm er en veldig vanlig ting som brukes på værstasjoner for å blokkere direkte solstråling og derfor redusere feil i målt temperatur. Den fungerer også som en holder for temperatursensoren. Strålingsskjold er veldig nyttig, men er vanligvis laget av stål og de er dyre, så jeg bestemte meg for å bygge et eget skjold. Jeg lagde en Instructable som viser hvordan man lager et stråleskjold som dette.

Trinn 8: Kontrollboks

Kontroll boks
Kontroll boks
Kontroll boks
Kontroll boks
Kontroll boks
Kontroll boks

Hoveddelen av denne stasjonen er åpenbart kontrollboksen. Den inneholder de primære og sekundære mikrokontrollerne, noen av sensorene, RTC og noen passive komponenter. Alt dette i en praktisk IP65 -pakke. Boksen har et gjennomsiktig deksel slik at sollys kan passere gjennom UV- og solstrålingssensorene.

Før vi kan montere kretskortet, må vi klargjøre esken for kablene. Det er fem strøm- og datakabler som går inn i esken. For å opprettholde de vanntette egenskapene til stasjonen, trenger vi vanntette kabelgjennomføringer. Nærmere bestemt en PG7 for strømkabelen, den andre PG7 for vind- og regnsensorene og den tredje PG11 for begge temperatursensorene. Jeg satte den større (PG11) kjertelen i midten av den ene veggen i esken og de to mindre (PG7) kjertlene i den motsatte veggen. Så prosessen med å endre boksen er som følger:

1) Merk senteret for hvert hull med en markør.

2) Bor et lite hull med et tynt bor.

3) Øk størrelsen på hullet sakte med en trebor.

4) Fjern hullene.

5) Sett inn og fest en kabelgjennomføring i hvert av hullene.

Trinn 9: PCB -montering

PCB -feste
PCB -feste
PCB -feste
PCB -feste
PCB -feste
PCB -feste
PCB -feste
PCB -feste

Siden jeg bare har prøveversjonen av Autodesk Eagle, kan jeg ikke designe PCB -er som er større enn 8 cm. Alt passer til dette brettet, så det er greit. Det eneste problemet er med kontrollboksen. Brettmonteringshullene i esken er 14 cm fra hverandre. Dette betyr at vi kommer til å trenge en holder til kretskortet. Dette kan være et brett (tre/plast/metall) som vi skal montere kretskortet på. Deretter fester vi holderkortet til kontrollboksen. På denne måten blir kretskortet festet til kontrollboksen.

Du kan lage holderen uansett hvor du vil. Du kan lage den manuelt fra en plate av tre eller stål, du kan laserskjære den (som meg) eller du kan til og med 3D -skrive den ut. Jeg inkluderer dimensjonene på brettet, så valget er ditt. Hvis du har tilgang til en laserskjærer, er laserskjæring det enkleste alternativet. Du finner laserskjæringsfilene her både i.pdf- og.svg -format.

Som du kan se gikk jeg gjennom flere varianter av holderen. Til slutt gikk jeg med akryl, fordi den ikke påvirkes av fuktighet (som tre) og den tiltrekker seg ikke varme (som stål).

Trinn 10: Montering + ledninger

Montering + ledninger
Montering + ledninger
Montering + ledninger
Montering + ledninger
Montering + ledninger
Montering + ledninger
Montering + ledninger
Montering + ledninger

Dette kommer til å bli ganske enkelt å gjøre, men ganske vanskelig å forklare fordi det er mange små trinn. La oss komme rett på det da:

1) Sett alle kablene i det angitte hullet. Ikke fest kabelgjennomføringene ennå.

2) Koble alle ledningene fra vindsensorene, regnsensoren og fra strømkabelen i henhold til det medfølgende koblingsskjemaet. Ikke koble kabler fra temperatursensorene ennå.

3) Hvis det er montert, fjerner du kretskortfeste. Vri deretter kretskortet slik at kablene går langs undersiden. Fest kretskortfeste slik at kablene er festet i en sandwich mellom kretskortet og festet.

4) Sett inn og skru inn kretskortfeste med kretskortet.

5) Fest de to mindre (PG7) kabelgjennomføringene. Ikke sikre den større ennå.

6) Sett inn og koble kablene fra temperatursensorene i henhold til det medfølgende koblingsskjemaet.

7) Sett på toppdekselet og skru det på plass.

Trinn 11: Vær lykkelig

Vær glad
Vær glad

Dette trinnet er et slags sjekkpunkt. På dette tidspunktet burde du ha laget deg noe som ligner det du ser på bildet. Hvis det er riktig, vær glad. Fortsett, få deg en matbit og hvile fordi dette ikke bare er et lite skritt for en mann, men et stort sprang for menneskeheten. Hvis ikke, se gjennom de foregående trinnene og finn problemet. Hvis det ikke hjelper, kommenter eller send meg en melding.

Så når du er frisk og i form igjen, kan du gå videre til kodings- og feilsøkingsdelen.

Trinn 12: Koding og feilsøking

Koding og feilsøking
Koding og feilsøking

Yaaaaay, alle elsker koding! Og selv om du ikke gjør det, spiller det ingen rolle fordi du bare kan laste ned og bruke koden min.

For det første må du legge til ESP32 dev -modulen til styringslederen din. For å gjøre dette må du laste ned en JSON -pakke og installere den gjennom styringslederen. Se denne opplæringen av Random Nerd Tutorials.

Nå må du laste ned alle de viktige bibliotekene. Jeg opprettet ZIP -arkivet "Libraries.zip" for at du skal gjøre det enklere. Ikke importer arkivet til Arduino IDE som et klassisk bibliotek. I stedet trekker du ut arkivet og flytter alle filene til Dokumenter/Arduino/biblioteker. Nå kan du laste ned alle fire programmene mine: "Wi-Fi_Weathercloud_API_test.ino", "System_test.ino", "ESP32_Weathercloud_Weather_Station.ino".

Åpne "Wi-Fi_Weathercloud_API_test.ino". Du må endre et par ting. For det første må du erstatte "SSID" og "KEY" med Wi-Fi-nettverkets SSID (navn) og passord. For det andre må du erstatte "WID" og "KEY" med Weathercloud ID og KEY du burde ha fra trinn 2. Du må også gjøre det samme med "ESP32_Weathercloud_Weather_Station.ino". Fortsett og last opp koden til ESP32. Du bør se de forhåndsdefinerte dataene som kommer opp på Weathercloud -nettstedet. Hvis det er riktig, fortsett.

Last opp "System_test.ino" til ESP32 og "I2C_rainfall_sender" til Arduino NANO. Åpne seriekonsollen til ESP32 på 115200 baud. Du bør nå se sensordata som kommer hvert 15. sekund på skjermen. Lek med sensorene. Lys et lys i solstrålingssensoren, blåse inn i vindhastighetssensoren, varme temperatursonden … På denne måten kan du teste om alt fungerer. Hvis du konkluderer med at alt er som det skal være, fortsett.

Last opp "ESP32_Weathercloud_Weather_Station.ino" til ESP32. Hvis du har gjort alt riktig, bør du se de virkelige dataene fra stasjonen som kommer inn på Weathercloud -siden hvert 10. minutt. Hvis dette fungerer betyr det at stasjonen din nå er fullt operativ og det eneste du trenger å gjøre er å installere den et fint sted.

OPPDATERING 18.7.2020: Alle sekundær-/testprogrammene er de samme. Men hovedprogrammet til værstasjonen ble oppgradert. Kodens struktur er mye tydeligere enn før. Du kan angi alle nødvendige parametere i begynnelsen av koden. ESP32 får nå tid fra en NTP -server, så RTC -modulen er ikke nødvendig lenger. Sist, men ikke minst, kjører ESP32 nå en dyp søvnprosedyre når den ikke måler og sender data. Dette vil redusere strømforbruket, og det vil også bidra til å forlenge levetiden til værstasjonen. For å bruke den nye koden, bare last ned den oppgraderte "ESP32_Weathercloud_Weather_Station.ino" -koden og den oppdaterte ZIP -filen med biblioteker (Instructables godtar den ikke, så her er en Google Disk -lenke). Nyt!

Trinn 13: Stasjonsmontering

Stasjonsmontering
Stasjonsmontering
Stasjonsmontering
Stasjonsmontering
Stasjonsmontering
Stasjonsmontering

Så etter at du har bekreftet at stasjonen din fungerer, må du designe og lage et feste for den. Den må være sterk, holdbar, kompakt og sist men ikke minst må den være fin. Ta dette trinnet mer av en anbefaling eller inspirasjon enn presise instruksjoner. Jeg vet ikke hvordan det ser ut der du skal montere det. Du må bli litt mer kreativ. Men hvis du har et flatt tak med et metallrør på 5 cm i diameter som stikker ut, fortsett og gjør som jeg gjorde. Denne stasjonen har to bokser. Så jeg bestemte meg for å sette dem begge ved siden av hverandre på et metallpanel. Den må monteres på et metallrør med en diameter på 5 cm. Så jeg la et rør med 5 cm indre diameter på bunnen av panelet. Begge vindsensorene må være langt fra hverandre fra resten av stasjonen. Så legg to 40 cm lange rør på hver side av stasjonen og to 10 cm lange rør på enden av hver. Strålingsskjoldet bør monteres under panelet for å gi ekstra skygge. For dette satte jeg en 7 x 15 cm L brakett på det tykke metallrøret.

Her er alle de nødvendige metalldelene en etter en [dimensjoner i mm]:

1x rør, indre diameter 50, lengde 300

1x panel, 250 x 300, tykkelse 3

1x L -brakett, 75 og 150 armer

2x rør, ytre diameter 12, lengde 400

2x rør, indre diameter 17, lengde 100

Når du har alle disse metalldelene, kan du sveise dem på plass i henhold til 3D -modellen jeg ga. Deretter må du bore alle hullene for boksene og for strålingsskjoldet. Deretter er det bare å male det med maling for metall. Jeg anbefaler å gå med hvitt, fordi det absorberer minst varme fra alle fargene. Det er det du har fått et stasjonsfeste som du kan montere stasjonen på!

Trinn 14: Installasjon

Installasjon
Installasjon
Installasjon
Installasjon
Installasjon
Installasjon

Ta tak i værstasjonen, braketten og alle verktøyene dine fordi du trenger dem alle. Sett deg inn i en bil (eller en buss jeg ikke bryr meg om) og kom til den fremtidige plasseringen av stasjonen din. Til slutt kan du montere stasjonen.

Å få værstasjonen til å fungere på verkstedet ditt er en ting, men å få den til å fungere under tøffe forhold i virkeligheten er en annen. Installasjonsprosedyren avhenger veldig av bygningen du monterer stasjonen din på. Men hvis du har holderen fra forrige trinn og kraftig drill, burde det være greit. Du trenger bare å stikke det tykke røret fra festet på det litt tynnere røret på taket. Deretter er det bare å bore gjennom begge rørene og sikre dem med en lang skrue. Monter alle esker og sensorer. Det er det. Stasjonen din er nå installert.

Vi gjorde dette på en regnværsdag. Det var veldig vanskelig, men vi hadde ingen andre alternativer på grunn av konkurransens frist.

Trinn 15: Strøm, Uplink -oppsett og feilsøking

Strøm, Uplink -oppsett og feilsøking
Strøm, Uplink -oppsett og feilsøking
Strøm, Uplink -oppsett og feilsøking
Strøm, Uplink -oppsett og feilsøking
Strøm, Uplink -oppsett og feilsøking
Strøm, Uplink -oppsett og feilsøking
Strøm, Uplink -oppsett og feilsøking
Strøm, Uplink -oppsett og feilsøking

Stasjonen din er fysisk installert, men den er ikke online ennå. La oss gjøre det nå. Du må drive stasjonen på en eller annen måte. Du må være litt kreativ her. Du kan sette en adapter inne i huset og trekke en kabel gjennom vinduet. Du kan begrave kabelen under jorden. Du kan drive den via et solcellepanel. Det eneste som betyr noe er at det er 5V 500mA på pinnene på strømkabelen som kommer fra kontrollboksen. Husk at alt må være værbestandig! Når du har stasjonen din slått på, kan du gå videre til oppsett og feilsøking av oppkoblingen.

Uplink Setup får i utgangspunktet ESP32 til å koble til Wi-Fi-nettverket. Hvis det er hjemme hos deg, burde det være greit. Hvis det er i en garasje eller lenger fra hverandre, kan det hende du trenger en Wi-Fi-forlenger eller til og med et tilpasset Wi-Fi-nettverk. Deretter følger feilsøkingsfasen. Du kan bare laste opp den endelige koden og håpe på det beste, men jeg anbefaler virkelig å teste hver av sensorene en etter en for å være sikker på at alt fungerer som det skal. I utgangspunktet det samme som i trinn 12. Hvis alt fungerer som det skal, kan du trykke på UPLOAD -knappen og koble fra USB -kabelen og lukke kontrollboksen.

Trinn 16: Live Happily Ever After

Leve lykkelig i alle sine dager
Leve lykkelig i alle sine dager

Jepp, dette var sååå siste øyeblikk gutta. Jeg la merke til Sensors -konkurransen bare 10 dager før den tok slutt. Samme kveld måtte jeg ringe 10 telefoner for å ordne alt som kreves for å fullføre stasjonen. Den var ikke ferdig enda. Dagen vi skulle installere stasjonen kom en gigantisk storm som forstyrret planene våre. Jeg trengte å fullføre all teksten før stasjonen var ferdig. Stasjonen ble endelig installert akkurat i dag, samme dag som jeg publiserte denne Instructable.

Det er sikkert mange ting som kunne vært gjort bedre her, men det er mange nyttige ting du kan lære her og bruke dem når du bygger din egen stasjon. Hvis du gjorde alle trinnene riktig, har du nå en fullt operativ ESP32 skyværstasjon. Og det er noe! Alt hardt arbeid betalte seg (jeg håper det gjorde det). Du kan se dataene fra stasjonen min her. Hvis du har noen spørsmål eller forslag, vil jeg gjerne høre dem i kommentarfeltet nedenfor.

Ja, og hvis du likte dette prosjektet, ville jeg sette stor pris på om du stemte på meg i Sensors -konkurransen. Tusen takk og kos deg !!!

Sensorkonkurranse
Sensorkonkurranse
Sensorkonkurranse
Sensorkonkurranse

Førstepremie i sensorkonkurransen

Anbefalt: