Indholdsfortegnelse:

ESP32 Weathercloud Weather Station: 16 trin (med billeder)
ESP32 Weathercloud Weather Station: 16 trin (med billeder)

Video: ESP32 Weathercloud Weather Station: 16 trin (med billeder)

Video: ESP32 Weathercloud Weather Station: 16 trin (med billeder)
Video: DIY 3D Printed IoT Weather Station Using an ESP32 2024, Juli
Anonim
ESP32 Weathercloud Weather Station
ESP32 Weathercloud Weather Station

Sidste år udgav jeg min største Instructable til dato kaldet Arduino Weathercloud Weather Station. Det var meget populært vil jeg sige. Det blev vist på Instructables hjemmeside, Arduino blog, Wiznet museum, Instructables Instagram, Arduino Instagram og også på Weathercloud Twitter. Det var endda en af de 100 bedste instruktører i 2018! Og det var en meget stor ting for en lille maker som mig. Jeg var glad for at se så mange positive reaktioner, og jeg læste omhyggeligt hver eneste kommentar og tip. I cirka 8 måneder har jeg arbejdet på denne nye, raffinerede station. Jeg fikset og forbedret forskellige ting. Jeg forsøgte at gøre det mindre, enklere, smartere, køligere og lade den acceptable pris stå på 150 € (165 $). Stationen er monteret på en robotgård nær Senec, Slovakiet. Her er de aktuelle data.

Jeg vil forsøge at forklare hele min tankeproces her, så hvis du bare vil have det rigtigt på bygningen, skal du bare springe direkte til trin 3.

Funktioner:

  • måling af 12 meteorologiske værdier
  • brug af 8 forskellige sensorer
  • IoT - data er offentlige på skyen
  • 5V 500mA drift
  • kommunikation via Wi-Fi
  • helt vejrbestandig
  • ser cool ud
  • det er DIY

Mange tak til Lab Cafe makerspace for at give plads og support, mens du byggede denne station. Gå og tjek dem!

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

OPDATERING 18-7-2020: Hej alle sammen! Det er længe siden. Mange af jer skrev til mig om flere problemer med hardware og software. Den nye hardware vil være klar om et par uger, men indtil da frigiver jeg ny firmware. Denne software hjælper med at fjerne nogle af problemerne. Gå til trin 12 for at lære mere. Og vigtigst af alt, nyd det!

Trin 1: Design

Design
Design

At designe en vejrstation er en lang og tankevækkende proces. Du har så mange muligheder at vælge imellem. Dette er de vigtigste ting, du skal tænke på, når du designer en vejrstation (eller i det mindste gjorde jeg det):

1) BUDGET. Dette er temmelig selvforklarende.

2) BELIGGENHED. Dette er meget vigtigt, da det påvirker installationen såvel som kommunikationsteknologien og den nødvendige strømkilde. Fjernvejrstationer har brug for sendere med lang rækkevidde og en selvbærende strømkilde som f.eks. Et solpanel.

3) MÅLE VARIABLER. Vil du bare måle temperatur eller fugtighed? Så kan du sætte sonden næsten hvor som helst. Men hvis du vil måle nedbør, vind, solstråling, UV -indeks eller andre ting, der er relateret til sol eller nedbør, kan sensorerne ikke være i en skygge og kan hverken blokeres fra opad eller fra siderne.

4) NØJAGTIGHED. Vil du have, at dine målinger skal være præcist kalibreret og sammenlignelige med det nationale vejrinstitut, eller er rettere amatørværdier nok til dig?

Så nu skulle du have et ret godt billede af, hvad du vil. Så lad os komme til tegnebrættet! Her er nogle grundlæggende regler, jeg tænkte på:

1) BESKYT TEMPERATURSENSOREN. Du er absolut nødt til at gøre dette. Varme kan rejse på så mange måder, at den kan udstråle og lede gennem selve stationens struktur. Så prøv at belægge alle metaldele, og læg temperatursensoren i et strålingsskærm. Jeg ved, min strålingsstation er ikke perfekt, men det hjælper.

2) Sæt vindsensoren i højden. Vindsensorer formodes at være placeret 10m høje efter internationale standarder. Jeg har ikke engang penge til at købe en 10 m søjle, så et 2 m rør over et tag er nok for mig.

3) KLAR OMRÅDE OG OVER STATIONEN. Hvis du vil måle sollys, kan du ikke have sensoren i en skygge. Hvis du vil måle nedbør, kan du ikke have noget, der blokerer dråberne. Så sørg for, at området omkring og over stationen er ryddet.

Lad os fortsætte. Så for min station besluttede jeg mig for at måle disse variabler: Lufttemperatur, jordtemperatur, relativ luftfugtighed, atmosfærisk tryk, varmeindeks, dugpunkt, vindkøling, nedbør, solstråling, UV -indeks, vindhastighed og vindretning. Dette er i alt 8 sensorer, hvorfra der er 3 små, PCB-monterbare moduler og 5 eksterne prober. Jeg skal bruge 2 separate mikrokontrollere, en til håndtering af bare nedbørsmålinger og den anden til alt andet.

Jeg besluttede at lægge alt, hvad jeg kan, på et enkelt printkort. Jeg lagde printkortet inde i en IP65 -boks med gennemsigtigt dæksel, så sollys kan passere igennem til solstråling og UV -indekssensorer. Alle de andre sensorer forbindes til hovedkontrolboksen med et kabel. Så det er det for mit design.

Trin 2: Weathercloud

Weathercloud
Weathercloud

"ESP32 Weathercloud Weather Station" Hvad er Weatherclud? Weathercloud er et stort netværk af vejrstationer, der rapporterer data i realtid fra hele verden. Det er gratis, og der er mere end 10 000 vejrstationer forbundet til det. For det første havde jeg mit eget HTML -websted, hvor alle data blev sendt, men det er svært at lave dit eget websted og grafik, og det er meget lettere at bare sende alle data til en stor skyplatform, der har flot grafik og stabile servere. Jeg søgte, hvordan jeg sendte data til weathercloud, og jeg fandt ud af, at du nemt kan opnå det ved et simpelt GET -opkald. Det eneste problem med Weathercloud er, at det med en gratis konto kun lader dig sende data hvert tiende minut, men det burde ikke være et problem for de fleste anvendelser. Du skal oprette en Weathercloud -konto for at få det til at fungere. Derefter skal du oprette en stationsprofil på deres websted. Når du opretter din vejrstationsprofil på Weathercloud, får du et Weathercloud -id og en Weathercloud -nøgle. Behold disse, fordi Arduino skal bruge dem til at vide, hvor de skal sende data.

Trin 3: Deleliste

Liste over dele
Liste over dele

OK, så til dette projekt skal du bruge alle de ting, der er pænt anført i min Google Docs BOM lige her.

ANSLAGET PROJEKTOMKOSTNING: 150 €/165 $

Trin 4: Værktøjer

Værktøjer
Værktøjer

Disse værktøjer kan være nyttige (selvom de fleste af dem er absolut nødvendige):

Laserskærer

Svejser

Stålsav

Wire stripper

El -boremaskine

Batteri boremaskine

Loddekolbe

Tang

Skruetrækkere

Limpistol

Multimeter

Træbor

Trin 5: Kontrolkortdesign

Kontrolpanel Design
Kontrolpanel Design
Kontrolpanel Design
Kontrolpanel Design
Kontrolpanel Design
Kontrolpanel Design

Jeg gik med en meget centraliseret arkitektur. Det betyder, at alt, hvad der kan være, ikke kun er i en kasse, men på et printkort. Jeg har for nylig lært at designe printkort, hvilket er en meget værdifuld og nyttig færdighed. Alle projekterne er meget pænere og mere præcise og endda elegante på en måde. Det er også meget praktisk: du sender bare dine filer til Kina, og de udfører alt ledningsarbejde og sender det komplette bord til dig. Så lodder du bare komponenterne på plads, og du er færdig.

PCB'et rummer begge mikrokontroller i denne station: ESP32 (hovedkontrolenheden) og Arduino NANO (nedbørsprocessoren). Det rummer også nogle af sensorerne, der inkluderer: BME280, BHT1750 og ML8511. Så er der DS3231 RTC -modulet. Sidst men ikke mindst er der nogle modstande og skrueforbindelser.

Jeg har designet mit bord i Autodesk Eagle. Download bare den medfølgende Gerber -fil kaldet "ESP32 weather station.zip" og upload den til JLC PCB. Eller hvis du vil redigere det, kan du downloade filerne "ESP32 weather station schematic.sch" og "ESP32 weather station board.brd" og redigere dem i Eagle. Jeg anbefaler kraftigt at tilmelde Circuit Board Design Class fra Instructables først.

Trin 6: Lodning

Lodning
Lodning
Lodning
Lodning
Lodning
Lodning
Lodning
Lodning

Okay alle sammen, I har sikkert alle gjort dette før. Dette smukke bord, som jeg har designet, har flotte silketrykfodspor trykt på det. Når du har det, skal lodning være et stykke kage, fordi du ser præcis, hvor det går. Der er kun THT -komponenter med standard 0,1 afstand. Så bare fortsæt og lod loddet, fordi du er klog, og du kan gøre det selv! Det bør ikke tage dig mere end en halv time.

OPDATERING 18-7-2020: RTC -modulet er ikke længere påkrævet. Det er ikke nødvendigt at montere det på tavlen. Du kan lære mere i trin 12.

Trin 7: Fremstilling af strålingsskjoldet

Fremstilling af strålingsskjoldet
Fremstilling af strålingsskjoldet

Da jeg byggede dette, sagde jeg til mig selv "Okay, du har allerede gjort dette to gange, der er ikke en chance for, at du ødelægger det nu." Og det gjorde jeg ikke.

Et solstrålingsskjold er en meget almindelig ting, der bruges i vejrstationer til at blokere direkte solstråling og derfor reducere fejl i den målte temperatur. Det fungerer også som holder til temperatursensoren. Strålingsskærme er meget nyttige, men er normalt lavet af stål, og de er dyre, så jeg besluttede at bygge et eget skjold. Jeg lavede en instruerbar, der viser, hvordan man laver et strålingsskjold som dette.

Trin 8: Kontrolboks

Kontrol boks
Kontrol boks
Kontrol boks
Kontrol boks
Kontrol boks
Kontrol boks

Hoveddelen af denne station er naturligvis kontrolboksen. Den rummer de primære og sekundære mikrokontrollere, nogle af sensorerne, RTC og nogle passive komponenter. Alt dette i en praktisk IP65 -pakke. Boksen har et gennemsigtigt dæksel, så sollys kan passere igennem til UV- og solstrålingssensorer.

Inden vi kan montere printkortet, skal vi forberede kassen til kablerne. Der er fem strøm- og datakabler, der går ind i boksen. For at opretholde stationens vandtætte egenskaber har vi brug for vandtætte kabelforskruninger. Nærmere bestemt en PG7 til strømkablet, anden PG7 til vind- og regnsensorer og den tredje PG11 til begge temperatursensorer. Jeg satte den større (PG11) kirtel i midten af den ene væg i kassen og de to mindre (PG7) kirtler i den modsatte væg. Så boksændringsprocessen er som følger:

1) Marker midten for hvert hul med en markør.

2) Bor et lille hul med et tyndt bor.

3) Øg langsomt hullets størrelse med et træbor.

4) Fjern hullerne.

5) Isæt og fastgør en kabelforskruning i hvert af hullerne.

Trin 9: PCB -montering

PCB -holder
PCB -holder
PCB -holder
PCB -holder
PCB -holder
PCB -holder
PCB -holder
PCB -holder

Da jeg kun har prøveversionen af Autodesk Eagle, kan jeg ikke designe printkort, der er større end 8 cm. Alt passer til dette bord, så det er fint. Det eneste problem er med kontrolboksen. Brættets monteringshuller, der følger med i kassen, er 14 cm fra hinanden. Det betyder, at vi får brug for en holder til printkortet. Dette kan være et bræt (træ/plast/metal), som vi vil montere printet på. Derefter fastgør vi holderkortet til kontrolboksen. På denne måde fastgøres printkortet til kontrolboksen.

Du kan lave holderen, som du vil. Du kan lave det manuelt fra en plade af træ eller stål, du kan laserskære det (som mig) eller du kan endda 3D -udskrive det. Jeg inkluderer tavlens dimensioner, så valget er dit. Hvis du har adgang til en laserskærer, er laserskæring den enkleste mulighed. Du kan finde laserskærerfilerne her både i.pdf- og.svg -format.

Som du kan se gennemgik jeg flere variationer af holderen. Til sidst gik jeg med den akryl, fordi den ikke påvirkes af fugt (som træ), og den tiltrækker ikke varme (som stål).

Trin 10: Montering + ledninger

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

Dette bliver en temmelig let opgave, men en ret svær at forklare, fordi der er mange små trin. Lad os så lige komme i gang med det:

1) Sæt alle kablerne i deres udpegede hul. Fastgør ikke kabelforskruninger endnu.

2) Tilslut alle ledninger fra vindsensorerne, regnsensoren og fra strømkablet i henhold til det medfølgende ledningsdiagram. Tilslut ikke kabler fra temperatursensorerne endnu.

3) Hvis det er monteret, skal du fjerne PCB -holderen. Vend derefter printet, så kablerne går langs undersiden. Fastgør printkortmonteringen, så kablerne er fastgjort i en sandwich mellem printkortet og holderen.

4) Indsæt og skru i PCB -holderen med printkortet.

5) Fastgør de to mindre (PG7) kabelforskruninger. Sikr ikke den større endnu.

6) Indsæt og tilslut kablerne fra temperatursensorerne i henhold til det medfølgende ledningsdiagram.

7) Sæt topdækslet på, og skru det på plads.

Trin 11: Vær glad

Vær glad
Vær glad

Dette trin er en slags kontrolpunkt. På dette tidspunkt skulle du have gjort dig selv til noget, der ligner det, du ser på billedet. Hvis det er korrekt, vær glad. Fortsæt, få dig en snack og hvile, fordi dette ikke kun er et lille skridt for en mand, men et kæmpe spring for menneskeheden. Hvis ikke, skal du gennemgå de foregående trin og finde problemet. Hvis det ikke hjælper, så skriv eller skriv til mig.

Så når du er rask og rask igen, kan du gå videre til kodnings- og fejlfindingsdelen.

Trin 12: Kodning og fejlfinding

Kodning og fejlfinding
Kodning og fejlfinding

Yaaaaay, alle elsker kodning! Og selvom du ikke gør det, er det ligegyldigt, fordi du bare kan downloade og bruge min kode.

For det første skal du tilføje ESP32 dev -modul til din boards manager. For at gøre dette skal du downloade en JSON -pakke og installere den via bestyrelsesadministratoren. Se denne vejledning af Random Nerd Tutorials.

Nu skal du downloade alle de vigtige biblioteker. Jeg oprettede ZIP -arkivet "Libraries.zip" for at gøre det lettere. Importer ikke arkivet til Arduino IDE som et klassisk bibliotek. I stedet skal du udtrække arkivet og flytte alle filerne til Documents/Arduino/biblioteker. Nu kan du downloade alle fire af mine programmer: "Wi-Fi_Weathercloud_API_test.ino", "System_test.ino", "ESP32_Weathercloud_Weather_Station.ino".

Åbn "Wi-Fi_Weathercloud_API_test.ino". Du bliver nødt til at ændre et par ting. For det første skal du udskifte "SSID" og "KEY" med dit Wi-Fi-netværkets SSID (navn) og adgangskode. For det andet skal du udskifte "WID" og "KEY" med dit Weathercloud ID og NØGLE, du skal have fra trin 2. Du skal også gøre det samme med "ESP32_Weathercloud_Weather_Station.ino". Fortsæt og upload koden til ESP32. Du bør se de foruddefinerede data komme på Weathercloud -webstedet. Hvis det er korrekt, skal du fortsætte.

Upload "System_test.ino" til ESP32 og "I2C_rainfall_sender" til Arduino NANO. Åbn seriekonsollen til ESP32 ved 115200 baud. Du skal nu se sensordata, der kommer hvert 15. sekund på din skærm. Spil med sensorerne. Skær et lys i solstrålingssensoren, blæs ind i vindhastighedsføleren, opvarm temperatursonden … På denne måde kan du teste, om alt fungerer. Hvis du konkluderer, at alt er som det skal være, skal du fortsætte.

Upload "ESP32_Weathercloud_Weather_Station.ino" til ESP32. Hvis du har gjort alt korrekt, skal du se de rigtige data fra stationen komme ind på Weathercloud -siden hvert 10. minut. Hvis dette virker, betyder det, at din station nu er fuldt funktionsdygtig, og det eneste, der er tilbage at gøre, er at installere den et godt sted.

OPDATERING 18.7.2020: Alle sekundære/testprogrammer er de samme. Men vejrstationens hovedprogram blev opgraderet. Kodens struktur er meget klarere end før. Du kan indstille alle de nødvendige parametre i begyndelsen af koden. ESP32 får nu tid fra en NTP -server, så RTC -modulet er ikke længere påkrævet. Sidst men ikke mindst kører ESP32 nu en dyb søvnprocedure, når den ikke måler og sender data. Dette vil reducere strømforbruget, og det vil også bidrage til at forlænge levetiden for vejrstationen. For at bruge den nye kode skal du bare downloade den opgraderede "ESP32_Weathercloud_Weather_Station.ino" -kode og den opdaterede ZIP -fil med biblioteker (Instructables accepterer den ikke, så her er et link til Google Drev). God fornøjelse!

Trin 13: Station Mount

Station Mount
Station Mount
Station Mount
Station Mount
Station Mount
Station Mount

Så når du har bekræftet, at din station fungerer, skal du designe og lave en holder til den. Den skal være stærk, holdbar, kompakt og sidst men ikke mindst skal den være pæn. Tag dette trin mere af en anbefaling eller inspiration end præcise instruktioner. Jeg ved ikke, hvordan det ser ud, hvor du skal montere det. Du skal blive lidt mere kreativ. Men hvis du har et fladt tag med et metalrør på 5 cm i diameter, der stikker ud, skal du fortsætte og gøre, som jeg gjorde. Denne station har to kasser. Så jeg besluttede at lægge dem begge ved siden af hinanden på et metalpanel. Det skal monteres på et metalrør med en diameter på 5 cm. Så jeg lagde et rør med 5 cm indvendig diameter på bunden af panelet. Begge vindsensorer skal være langt fra hinanden fra resten af stationen. Så læg to 40 cm lange rør på hver side af stationen og to 10 cm lange rør på enden af hver enkelt. Strålingsskærmen skal monteres under panelet for at give ekstra skygge. Til dette lagde jeg en 7 x 15 cm L beslag på det tykke metalrør.

Her er alle de nødvendige metaldele en efter en [dimensioner i mm]:

1x rør, indvendig diameter 50, længde 300

1x panel, 250 x 300, tykkelse 3

1x L beslag, 75 og 150 arme

2x rør, udvendig diameter 12, længde 400

2x rør, indvendig diameter 17, længde 100

Når du har alle disse metaldele, kan du svejse dem på plads i henhold til den 3D -model, jeg leverede. Derefter skal du bore alle hullerne til boksene og til strålingsskærmen. Så er det bare at male det med maling til metal. Jeg anbefaler at gå med hvidt, fordi det absorberer mindst varme fra alle farverne. Det er det, du har selv en station mount, som du kan montere din station på!

Trin 14: Installation

Installation
Installation
Installation
Installation
Installation
Installation

Tag fat i din vejrstation, dit beslag og alle dine værktøjer, fordi du får brug for dem alle. Sæt dig ind i en bil (eller en bus, jeg er ligeglad med) og kom til din stations fremtidige placering. Endelig kan du montere stationen.

At få din vejrstation til at fungere på dit værksted er en ting, men at få den til at fungere under de hårde forhold i virkeligheden er en anden. Installationsproceduren afhænger meget af den bygning, du monterer din station på. Men hvis du har holderen fra det foregående trin og kraftfuld boremaskine, skulle det være fint. Du skal bare stikke det tykke rør fra holderen på det lidt tyndere rør på taget. Derefter skal du bare bore gennem begge rør og sikre dem med en lang skrue. Monter alle kasser og sensorer. Det er det. Din station er nu installeret.

Vi gjorde dette på en regnvejrsdag. Det var meget svært, men vi havde ingen anden mulighed på grund af konkurrencefristen.

Trin 15: Strøm, Uplink -opsætning og fejlfinding

Strøm, Uplink -opsætning og fejlfinding
Strøm, Uplink -opsætning og fejlfinding
Strøm, Uplink -opsætning og fejlfinding
Strøm, Uplink -opsætning og fejlfinding
Strøm, Uplink -opsætning og fejlfinding
Strøm, Uplink -opsætning og fejlfinding
Strøm, Uplink -opsætning og fejlfinding
Strøm, Uplink -opsætning og fejlfinding

Din station er fysisk installeret, men den er ikke online endnu. Lad os gøre det nu. Du er nødt til at drive stationen på en eller anden måde. Du skal være lidt kreativ her. Du kan sætte en adapter inde i huset og trække et kabel gennem vinduet. Du kan begrave kablet under jorden. Du kan drive den via et solpanel. Det eneste, der betyder noget, er, at der er 5V 500mA på stifterne på strømkablet, der kommer fra kontrolboksen. Husk, det hele skal være vejrbestandigt! Når du har din station tændt, kan du gå videre til uplinkopsætning og fejlfinding.

Uplink Setup får dybest set ESP32 til at oprette forbindelse til dit Wi-Fi-netværk. Hvis det er i dit hus, burde det være fint. Hvis det er i en garage eller længere fra hinanden, har du muligvis brug for en Wi-Fi-forlænger eller endda et tilpasset Wi-Fi-netværk. Derefter følger fejlfindingsfasen. Du kan bare uploade den sidste kode og håbe på det bedste, men jeg anbefaler virkelig at teste hver af sensorerne en efter en bare for at være sikker på, at alt fungerer korrekt. Grundlæggende det samme som i trin 12. Hvis alt fungerer som det skal, kan du trykke på UPLOAD -knappen, tage USB -kablet ud og lukke kontrolboksen.

Trin 16: Lev lykkeligt nogensinde

Lever lykkeligt til deres dages ende
Lever lykkeligt til deres dages ende

Jeps, det var sååå sidste minut fyre. Jeg lagde mærke til Sensors -konkurrencen kun 10 dage før den sluttede. Samme aften var jeg nødt til at foretage cirka 10 telefonopkald for at arrangere alt, hvad der kræves for at færdiggøre stationen. Den var ikke helt færdig endnu. Den dag, vi skulle installere stationen, kom en kæmpe storm, der forstyrrede vores planer. Jeg havde brug for at færdiggøre hele teksten, før stationen var færdig. Stationen blev endelig installeret netop i dag, samme dag som jeg udgav denne Instructable.

Der er helt sikkert mange ting, der kunne have været gjort bedre her, men der er mange nyttige ting, du kan lære her og bruge dem, når du bygger din egen station. Hvis du gjorde alle trin korrekt, har du nu en fuldt operationel ESP32 skyvejrstation. Og det er noget! Alt det hårde arbejde gav pote (det håber jeg). Du kan se dataene fra min station her. Hvis du har nogle spørgsmål eller forslag, hører jeg dem gerne i kommentarfeltet herunder.

Ja, og også hvis du kunne lide dette projekt, ville jeg virkelig sætte pris på, hvis du stemte på mig i Sensors -konkurrencen. Mange tak og nyd det !!!

Sensors konkurrence
Sensors konkurrence
Sensors konkurrence
Sensors konkurrence

Første præmie i sensorkonkurrencen

Anbefalede: