Innehållsförteckning:

ESP32 Weathercloud Weather Station: 16 steg (med bilder)
ESP32 Weathercloud Weather Station: 16 steg (med bilder)

Video: ESP32 Weathercloud Weather Station: 16 steg (med bilder)

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

Förra året publicerade jag min största Instructable hittills som heter Arduino Weathercloud Weather Station. Det var väldigt populärt skulle jag säga. Det fanns på Instructables hemsida, Arduino -bloggen, Wiznet -museet, Instructables Instagram, Arduino Instagram och även på Weathercloud Twitter. Det var till och med en av de 100 bästa instruktionerna under 2018! Och det var en mycket stor sak för en liten tillverkare som jag. Jag var glad att se så många positiva reaktioner och jag läste noggrant igenom varje kommentar och tips. I ungefär 8 månader har jag arbetat med den här nya, förfinade stationen. Jag fixade och förbättrade olika saker. Jag försökte göra det mindre, enklare, smartare, svalare och lämna den acceptabla kostnaden på 150 € (165 $). Stationen är monterad på en robotgård nära Senec, Slovakien. Här är de aktuella uppgifterna.

Jag kommer att försöka förklara hela min tankeprocess här så om du bara vill komma rätt på byggnaden hoppar du bara till steg 3.

Funktioner:

  • mätning av 12 meteorologiska värden
  • användning av 8 distinkta sensorer
  • IoT - data är offentliga i molnet
  • 5V 500mA drift
  • kommunikation via Wi-Fi
  • helt väderbeständig
  • ser cool ut
  • det är DIY

Stort tack till Lab Cafe makerspace för att ge utrymme och stöd när du bygger denna station. Kolla in dem!

Fotokredit: ME (naturligtvis) + Viktor Demčák

UPPDATERING 18/7 2020: Hej alla! Det var längesedan. Många av er skrev till mig om flera problem med hårdvaran och programvaran. Den nya hårdvaran är klar om bara ett par veckor men tills dess släpper jag ny firmware. Denna programvara hjälper till att eliminera några av problemen. Gå till steg 12 för att lära dig mer. Och viktigast av allt, njut!

Steg 1: Design

Design
Design

Att designa en väderstation är en lång och tankeväckande process. Du har så många alternativ att välja mellan. Det här är de viktigaste sakerna du bör tänka på när du designar en väderstation (eller åtminstone jag gjorde det):

1) BUDGET. Detta är ganska självförklarande.

2) PLATS. Detta är mycket viktigt eftersom det påverkar installationen såväl som kommunikationstekniken och den nödvändiga strömkällan. Fjärrväderstationer behöver långdistanssändare och en självhållbar strömkälla som en solpanel.

3) MÄTTA VARIABLER. Vill du bara mäta temperatur eller luftfuktighet? Sedan kan du placera sonden nästan var som helst. Men om du vill mäta nederbörd, vind, solstrålning, UV -index eller andra saker relaterade till sol eller nederbörd kan sensorerna inte vara i en skugga och kan inte blockeras varken uppifrån eller från sidorna.

4) NÖJAGTIGHET. Vill du att dina mätningar ska vara exakt kalibrerade och jämförbara med det nationella väderinstitutet eller räcker det snarare till amatörvärden för dig?

Så nu borde du ha en ganska bra bild av vad du vill ha. Så låt oss komma till ritbordet! Här är några grundläggande regler jag tänkte på:

1) SKYDD TEMPERATURGIVAREN. Du måste absolut göra det här. Värme kan resa på så många sätt att den kan utstråla och leda genom strukturen på själva stationen. Så försök att belägga alla metalldelar och sätt temperatursensorn i en strålsköld. Jag vet, min strålningsstation är inte perfekt men det hjälper.

2) Sätt vindsensorn högt upp. Vindsensorer ska vara placerade 10 meter högt enligt internationella standarder. Jag har inte ens pengar att köpa en 10 m pelare så ett 2 m rör ovanför ett tak räcker för mig.

3) RENGÖRT OMRÅDE OCH ÖVER STATIONEN. Om du vill mäta solljus kan du inte ha sensorn i en skugga. Om du vill mäta nederbörd kan du inte ha något som blockerar dropparna. Så se till att området runt och ovanför stationen är rensat.

Låt oss fortsätta. Så för min station bestämde jag mig för att jag vill mäta dessa variabler: Lufttemperatur, marktemperatur, relativ luftfuktighet, atmosfärstryck, värmeindex, daggpunkt, vindkylning, nederbörd, solstrålning, UV -index, vindhastighet och vindriktning. Detta är totalt 8 sensorer från vilka det finns 3 små, PCB-monterbara moduler och 5 externa givare. Jag kommer att behöva 2 separata mikrokontroller, en för att hantera bara nederbördsmätningar och den andra för allt annat.

Jag bestämde mig för att lägga allt jag kan på ett enda kretskort. Jag lägger in kretskortet i en IP65 -låda med transparent lock, så att solljus kan passera genom solstrålning och UV -indexsensorer. Alla andra sensorer kommer att anslutas till huvudkontrollboxen med en kabel. Så det är det för min design.

Steg 2: Weathercloud

Weathercloud
Weathercloud

"ESP32 Weathercloud Weather Station" Vad är Weatherclud? Weathercloud är ett stort nätverk av väderstationer som rapporterar data i realtid från hela världen. Det är gratis och det finns mer än 10 000 väderstationer anslutna till det. För det första hade jag en egen HTML -webbplats där all data skickades men att skapa en egen webbplats och grafik är svårt och det är mycket lättare att bara skicka all data till en stor molnplattform som har fin grafik och stabila servrar. Jag sökte hur jag skulle skicka data till weathercloud och jag fann att du enkelt kan åstadkomma det genom ett enkelt GET -samtal. Det enda problemet med Weathercloud är att det med ett gratis konto låter dig skicka data bara var tionde minut men det borde inte vara ett problem för de flesta användningsområden. Du måste skapa ett Weathercloud -konto för att det ska fungera. Då måste du skapa en stationsprofil på deras webbplats. När du skapar din väderstationsprofil på Weathercloud får du ett Weathercloud -ID och en Weathercloud -nyckel. Behåll dessa eftersom Arduino kommer att behöva dem för att veta vart de ska skicka data.

Steg 3: Dellista

Reservdelar
Reservdelar

OK så för det här projektet behöver du alla saker som är snyggt listade i min Google Docs BOM här.

UPPSKATTAT PROJEKTKOSTNAD: 150 €/165 $

Steg 4: Verktyg

Verktyg
Verktyg

Dessa verktyg kan komma till nytta (även om de flesta är absolut nödvändiga):

Laserskärare

Svetsare

Stålsåg

Wire stripper

Borrmaskin

Batteri borr

Lödkolv

Tång

Skruvmejslar

Limpistol

Multimeter

Trädborr

Steg 5: Styrkortets design

Kontrollpanelens design
Kontrollpanelens design
Kontrollpanelens design
Kontrollpanelens design
Kontrollpanelens design
Kontrollpanelens design

Jag gick med en mycket centraliserad arkitektur. Detta innebär att allt som kan vara inte bara i en låda utan på ett kretskort. Jag lärde mig nyligen hur man designar kretskort som är en mycket värdefull och användbar färdighet. Alla projekt är mycket snyggare och mer exakta och till och med eleganta på ett sätt. Det är också mycket bekvämt: du skickar bara dina filer till Kina och de gör allt ledningsarbete och skickar hela kortet till dig. Sedan löder du bara komponenterna på plats och du är klar.

Kretskortet rymmer båda mikrokontrollerna i denna station: ESP32 (huvudkontrollenheten) och Arduino NANO (regnprocessorn). Den rymmer också några av sensorerna som inkluderar: BME280, BHT1750 och ML8511. Sedan finns det DS3231 RTC -modulen. Sist men inte minst finns det några motstånd och skruvkontakter.

Jag designade min bräda i Autodesk Eagle. Ladda bara ner den medföljande Gerber -filen som heter "ESP32 weather station.zip" och ladda upp den till JLC PCB. Eller om du vill redigera det kan du ladda ner "ESP32 weather station schematic.sch" och "ESP32 weather station board.brd" -filerna och redigera dem i Eagle. Jag rekommenderar starkt att du registrerar Circuit Board Design Class från Instructables först.

Steg 6: Lödning

Lödning
Lödning
Lödning
Lödning
Lödning
Lödning
Lödning
Lödning

Okej alla, ni har säkert gjort det här förut. Den här vackra brädan som jag designade har fina silkscreen -fotavtryck tryckta på den. När du har det, bör lödning vara en kaka eftersom du ser exakt vart som går vad. Det finns bara THT -komponenter med standardavståndet på 0,1 . Så det är bara att fortsätta och löda brädan för att du är smart och du kan göra det själv! Det bör inte ta dig mer än en halvtimme.

UPPDATERING 18/7 2020: RTC -modulen krävs inte längre. Det finns ingen anledning att montera den på brädet. Du kan lära dig mer i steg 12.

Steg 7: Gör strålskyddet

Att göra strålskölden
Att göra strålskölden

När jag byggde detta sa jag till mig själv "Okej, du har redan gjort det här två gånger, det finns ingen chans att du kommer att röra upp det nu." Och det gjorde jag inte.

En solstrålningssköld är en mycket vanlig sak som används på väderstationer för att blockera direkt solstrålning och därför minska fel i den uppmätta temperaturen. Den fungerar också som hållare för temperaturgivaren. Strålsköldar är mycket användbara men är vanligtvis gjorda av stål och de är dyra så jag bestämde mig för att bygga en egen sköld. Jag gjorde en instruerbar som visar hur man gör en strålningssköld som denna.

Steg 8: Kontrollbox

Kontrollbox
Kontrollbox
Kontrollbox
Kontrollbox
Kontrollbox
Kontrollbox

Huvuddelen av denna station är uppenbarligen kontrollboxen. Den rymmer de primära och sekundära mikrokontrollerna, några av sensorerna, RTC och några passiva komponenter. Allt detta i ett bekvämt IP65 -paket. Lådan har ett genomskinligt lock så att solljus kan passera genom UV- och solstrålningssensorer.

Innan vi kan montera kretskortet måste vi förbereda lådan för kablarna. Det finns fem ström- och datakablar som går in i lådan. För att upprätthålla stationens vattentäta egenskaper behöver vi vattentäta kabelförskruvningar. Specifikt en PG7 för strömkabeln, andra PG7 för vind- och regnsensorerna och den tredje PG11 för båda temperaturgivarna. Jag satte den större (PG11) körteln i mitten av en vägg i lådan och de två mindre (PG7) körtlarna i motsatt vägg. Så rutans ändringsprocess är följande:

1) Markera mitten för varje hål med en markör.

2) Borra ett litet hål med en tunn borr.

3) Öka långsamt hålets storlek med en trädborr.

4) Rensa hålen.

5) Sätt i och säkra en kabelgenomföring i vart och ett av hålen.

Steg 9: Montering av kretskort

PCB -fäste
PCB -fäste
PCB -fäste
PCB -fäste
PCB -fäste
PCB -fäste
PCB -fäste
PCB -fäste

Eftersom jag bara har testversionen av Autodesk Eagle kan jag inte designa kretskort större än 8 cm. Allt passar till den här brädan så det är bra. Enda problemet är med kontrollboxen. Brädans monteringshål som ingår i lådan är 14 cm från varandra. Det betyder att vi kommer att behöva en hållare för kretskortet. Detta kan vara en bräda (trä/plast/metall) som vi kommer att montera kretskortet på. Därefter fäster vi hållarkortet i kontrollboxen. På så sätt kommer kretskortet att fästas i kontrollboxen.

Du kan göra hållaren hur du vill. Du kan göra den manuellt från en tallrik av trä eller stål, du kan laserskära den (som jag) eller så kan du till och med 3D -skriva ut den. Jag inkluderar måtten på brädet så valet är ditt. Om du har tillgång till en laserskärare, är laserskärning det enklaste alternativet. Du hittar laserskärarfilerna här både i.pdf- och.svg -format.

Som du kan se gick jag igenom flera varianter av hållaren. Slutligen gick jag med akryl, eftersom det inte påverkas av fukt (som trä) och det lockar inte värme (som stål).

Steg 10: Montering + ledningar

Montering + ledningar
Montering + ledningar
Montering + ledningar
Montering + ledningar
Montering + ledningar
Montering + ledningar
Montering + ledningar
Montering + ledningar

Det här kommer att bli ganska enkelt att göra, men ganska svårt att förklara eftersom det finns många små steg. Låt oss gå in på det då:

1) Sätt i alla kablar i det avsedda hålet. Fäst inte kabelförskruvningarna ännu.

2) Anslut alla ledningar från vindsensorerna, regnsensorn och från strömkabeln enligt det medföljande kopplingsschemat. Anslut inte kablar från temperaturgivarna ännu.

3) Om monterad, ta bort kretskortsfästet. Vänd sedan kretskortet så att kablarna går längs undersidan. Fäst kretskortsfästet så att kablarna sitter fast i en smörgås mellan kretskortet och fästet.

4) Sätt i och skruva in kretskortsfästet med kretskortet.

5) Säkra de två mindre (PG7) kabelförskruvningarna. Skydda inte den större än.

6) Sätt i och anslut kablarna från temperaturgivarna enligt det medföljande kopplingsschemat.

7) Sätt på det övre locket och skruva fast det.

Steg 11: Var glad

Var glad
Var glad

Detta steg är typ av en kontrollpunkt. Vid denna tidpunkt borde du ha gjort dig själv till något som ser ut som det du ser på bilden. Om det är korrekt, var glad. Fortsätt, skaffa dig ett mellanmål och vila för det här är inte bara ett litet steg för en man, utan ett stort steg för mänskligheten. Om inte, titta igenom föregående steg och leta upp problemet. Om det inte hjälper, kommentera eller meddela mig.

Så när du är frisk och frisk igen kan du gå vidare till kodnings- och felsökningsdelen.

Steg 12: Kodning och felsökning

Kodning och felsökning
Kodning och felsökning

Yaaaaay, alla älskar kodning! Och även om du inte gör det spelar det ingen roll eftersom du bara kan ladda ner och använda min kod.

Först måste du lägga till ESP32 dev -modul till din styrelsehanterare. För att göra detta måste du ladda ner ett JSON -paket och installera det via styrhanteraren. Se denna handledning av Random Nerd Tutorials.

Nu måste du ladda ner alla viktiga bibliotek. Jag skapade ZIP -arkivet "Libraries.zip" för att göra det enklare. Importera inte arkivet till Arduino IDE som ett klassiskt bibliotek. Extrahera istället arkivet och flytta alla filer till Dokument/Arduino/bibliotek. Nu kan du ladda ner alla fyra av mina program: "Wi-Fi_Weathercloud_API_test.ino", "System_test.ino", "ESP32_Weathercloud_Weather_Station.ino".

Öppna "Wi-Fi_Weathercloud_API_test.ino". Du måste ändra ett par saker. För det första måste du ersätta "SSID" och "KEY" med ditt Wi-Fi-nätverk SSID (namn) och lösenord. För det andra måste du ersätta "WID" och "KEY" med ditt Weathercloud ID och KEY som du bör ha från steg 2. Du måste också göra samma sak med "ESP32_Weathercloud_Weather_Station.ino". Fortsätt och ladda upp koden till ESP32. Du bör se de fördefinierade data som kommer upp på Weathercloud -webbplatsen. Om det är korrekt, fortsätt.

Ladda upp "System_test.ino" till ESP32 och "I2C_rainfall_sender" till Arduino NANO. Öppna seriekonsolen för ESP32 vid 115200 baud. Du bör nu se sensordata som kommer var 15: e sekund på skärmen. Lek med sensorerna. Tänd ett ljus i solstrålningssensorn, blåsa in i vindhastighetssensorn, värm temperatursonden … På så sätt kan du testa om allt fungerar. Om du drar slutsatsen att allt är som det ska vara, fortsätt.

Ladda upp "ESP32_Weathercloud_Weather_Station.ino" till ESP32. Om du har gjort allt korrekt ska du se de riktiga data från stationen som kommer in på Weathercloud -sidan var 10: e minut. Om det fungerar betyder det att din station nu är helt i drift och det enda som återstår att göra är att installera den någonstans trevligt.

UPPDATERING 18/7 2020: Alla sekundära/testprogram förblir desamma. Men väderstationens huvudprogram uppgraderades. Kodens struktur är mycket tydligare än tidigare. Du kan ställa in alla nödvändiga parametrar i början av koden. ESP32 får nu tid från en NTP -server så RTC -modulen behövs inte längre. Sist men inte minst kör ESP32 nu en djup sömnprocedur när den inte mäter och skickar data. Detta kommer att minska strömförbrukningen och det kommer också att bidra till att förlänga livslängden för väderstationen. För att använda den nya koden, ladda bara ner den uppgraderade "ESP32_Weathercloud_Weather_Station.ino" -koden och den uppdaterade ZIP -filen med bibliotek (Instructables accepterar den inte, så här är en Google Drive -länk). Njut av!

Steg 13: Station Mount

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

Så när du har bekräftat att din station fungerar måste du designa och göra ett fäste för den. Det måste vara starkt, hållbart, kompakt och sist men inte minst måste det vara snyggt. Ta det här steget mer av en rekommendation eller inspiration än exakta instruktioner. Jag vet inte hur det ser ut där du ska montera det. Du måste bli lite mer kreativ. Men om du har ett plant tak med ett metallrör på 5 cm som sticker ut, fortsätt och gör som jag gjorde. Denna station har två lådor. Så jag bestämde mig för att lägga dem båda bredvid varandra på en metallpanel. Den måste monteras på ett metallrör med diametern 5 cm. Så jag satte ett rör med 5 cm innerdiameter på panelens botten. Båda vindsensorerna måste vara långt ifrån varandra från resten av stationen. Så lägg två 40 cm långa rör på varje sida av stationen och två 10 cm långa rör på slutet av var och en. Strålskärmen bör monteras under panelen för att ge extra skugga. För detta satte jag en 7 x 15 cm L konsol på det tjocka metallröret.

Här är alla metalldelar som behövs en efter en [mått i mm]:

1x rör, innerdiameter 50, längd 300

1x panel, 250 x 300, tjocklek 3

1x L -fäste, 75 och 150 armar

2x rör, ytterdiameter 12, längd 400

2x rör, innerdiameter 17, längd 100

När du har alla dessa metalldelar kan du svetsa dem på plats enligt 3D -modellen som jag tillhandahållit. Då måste du borra alla hål för lådorna och för strålskyddet. Sedan är det bara att måla den med färg för metall. Jag rekommenderar att gå med vitt, eftersom det absorberar minst värme från alla färger. Det är det du har en station som du kan montera din station på!

Steg 14: Installation

Installation
Installation
Installation
Installation
Installation
Installation

Ta tag i din väderstation, ditt fäste och alla dina verktyg eftersom du behöver dem alla. Stig in i en bil (eller en buss som jag inte bryr mig om) och kom till din framtida plats. Slutligen kan du montera stationen.

Att få din väderstation att fungera i din verkstad är en sak, men att få den att fungera under hårda förhållanden i verkligheten är en annan. Installationsproceduren beror mycket på vilken byggnad du monterar din station på. Men om du har hållaren från föregående steg och kraftfull borr ska det vara bra. Du behöver bara fästa det tjocka röret från fästet på det något tunnare röret på taket. Borra sedan igenom båda rören och säkra dem med en lång skruv. Montera alla lådor och sensorer. Det är allt. Din station har nu installerats.

Vi gjorde detta på en regnig dag. Det var väldigt svårt men vi hade inget annat alternativ på grund av tävlingstiden.

Steg 15: Ström, Uplink -installation och felsökning

Ström, upplänkinställning och felsökning
Ström, upplänkinställning och felsökning
Ström, upplänkinställning och felsökning
Ström, upplänkinställning och felsökning
Ström, upplänkinställning och felsökning
Ström, upplänkinställning och felsökning
Ström, upplänkinställning och felsökning
Ström, upplänkinställning och felsökning

Din station är fysiskt installerad, men den är inte online ännu. Låt oss göra det nu. Du måste driva stationen på något sätt. Du måste vara lite kreativ här. Du kan sätta en adapter inuti huset och dra en kabel genom fönstret. Du kan begrava kabeln under jorden. Du kan driva den via en solpanel. Allt som spelar roll är att det finns 5V 500mA på stiften på strömkabeln som kommer från kontrollboxen. Kom ihåg att allt måste vara väderbeständigt! När du har din station påslagen kan du gå vidare till upplänksinställningen och felsökningen.

Uplink Setup får i princip ESP32 att ansluta till ditt Wi-Fi-nätverk. Om det är hemma hos dig borde det vara bra. Om det är i ett garage eller längre ifrån varandra kan du behöva en Wi-Fi-förlängare eller till och med ett anpassat Wi-Fi-nätverk. Sedan följer felsökningsfasen. Du kan bara ladda upp den sista koden och hoppas på det bästa men jag rekommenderar verkligen att testa var och en av sensorerna en efter en för att vara säker på att allt fungerar som det ska. I princip samma sak som i steg 12. Om allt fungerar som det ska kan du trycka på UPLOAD -knappen koppla ur USB -kabeln och stänga kontrollboxen.

Steg 16: Live Happily Ever After

Lev lyckligt någonsin
Lev lyckligt någonsin

Jösses, det här var sååå sista minuten killar. Jag märkte Sensors -tävlingen bara 10 dagar innan den tog slut. Samma kväll behövde jag ringa tio telefonsamtal för att ordna allt som krävdes för att slutföra stationen. Den var inte klar ännu. Den dagen vi skulle installera stationen kom en jätte storm som störde våra planer. Jag behövde slutföra all text innan stationen var klar. Stationen installerades äntligen just idag, samma dag som jag publicerade denna Instructable.

Det finns säkert många saker som kunde ha gjorts bättre här men det finns många användbara saker du kan lära dig här och använda dem när du bygger din egen station. Om du gjorde alla steg korrekt har du nu en fullt fungerande ESP32 molnväderstation. Och det är något! Allt hårt arbete gav resultat (jag hoppas att det gjorde det). Du kan se data från min station här. Om du har några frågor eller förslag, skulle jag gärna höra dem i kommentarsfältet nedan.

Ja, och även om du gillade det här projektet skulle jag uppskatta verkligen om du röstade på mig i Sensors -tävlingen. Tack så mycket och njut !!!

Sensors tävling
Sensors tävling
Sensors tävling
Sensors tävling

Första pris i sensortävlingen

Rekommenderad: