Innehållsförteckning:
- Steg 1: Delar
- Steg 2: Schematisk och kopplingsschema
- Steg 3: PCB Arduino Uno Weather Station Shield
- Steg 4: Arduino Sensors bibliotek, manual och annan information
- Steg 5: Lödningskort
- Steg 6: Installera personlig väderstation
- Steg 7: ESP8266 AT -kommandon
- Steg 8: Arduino -kod
- Steg 9: Resultat
- Steg 10: IoT Personal NodeMCU ESP12 WiFi Trådlös väderstation V2
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
I denna instruktionsbok ska jag visa dig hur du bygger en personlig trådlös väderstation med Arduino
En väderstation är en enhet som samlar in data relaterade till väder och miljö med många olika sensorer. Vi kan mäta många saker som:
- Temperatur
- Fuktighet
- Vind
- Barometertryck
- UV-index
- Regn
Min inspiration för att skapa denna väderstation är Greg från www.cactus.io Davis vindmätare, vindhastighet och regnmätare Arduino -kod upphovsrätt tillhör honom.
Jag använder Arduino Uno som huvudkort.
ESP8266 WiFi -modul skickar data till www.wunderground.com
Weather Underground är en kommersiell väderservice som tillhandahåller väderinformation i realtid via Internet.
Jag kommer att använda dessa sensorer:
- Temperatur - Dallas DS18B20
- Luftfuktighet, tryck - BME280
- UV, Solar - ML8511
- Anenometer och vindriktning - Davis 6410
- Regnmätare - Ventus W174
Steg 1: Delar
De delar som behövs för att bygga detta projekt är följande:
- Arduino Uno
- ESP8266 ESP-01 eller ESP-12
- BME280
- ML8511
- Davis 6410
- Ventus W174
Steg 2: Schematisk och kopplingsschema
Steg 3: PCB Arduino Uno Weather Station Shield
Design kretskort (PCB), jag användes,, Sprint-Layout programvara. Exporteras till Gerber-filer.
För att skapa denna Arduino Uno väderstationssköld behöver du:
- ML8511 UVB UV -strålningssensor Breakout UV -ljussensor Analog utgång för Arduino Ebay
- Vattentät digital termisk sond eller sensor DS18B20 Arduino Sensor Ebay
- JST-XH Kit 4Pin 2.54mm Terminal Housing PCB Header Wire Connectors Ebay
- Atmosfärisk tryckgivare Temperatur Luftfuktighetssensor Breakout BME280Ebay
- 1x ESP8266 ESP12F Ebay
- 1x 1k 0805 motstånd
- 1x 120R 0805 motstånd
- 8x 0R 1206 bygel (motstånd)
- kopparskiva
- 2x 4,7K motstånd
- 1x 10k motstånd
- 1x 3 mm led
- 1x RJ45 -uttag Ebay
- 1x 47uF elektrolytkondensator
- 1x 40pins header pins Ebay
- 1x spänningsregulator Sot-223 Ams1117 Ams117-3.3 3.3V 1A Ebay
- 1x 2,54 mm Pitch Switch DIP 2 Ebay
Steg 4: Arduino Sensors bibliotek, manual och annan information
1) Arduino väderstationsprojekt www.cactus.io
2) Davis 6410 vindmätarhandbok
3) Adafruit BME280 Driver (Barometric Pressure Sensor) bibliotek
4) ML8511 UV Sensor Library
5) Arduino -bibliotek för maximala temperaturintegrerade kretsar DS18B20 DS18S20 - Observera att det verkar vara ett problem med denna serie. DS1822 DS1820 MAX31820
6) Bibliotek för Dallas/Maxim 1-Wire Chips
7) Wunderground (Personal Weather Station Upload Protocol)
feedback.weather.com/customer/en/portal/articles/2924682-pws-upload-protocol?b_id=17298&fbclid=IwAR3KTp6uTCxjdVCiXmoIvPpYdJHAtREcrRUaH41NJSM4k-LqnDaybckq
8) NodeMCU väderstation
Steg 5: Lödningskort
Väderstationssköld Jag annonserades i Raspberry Pi -fodralet. Jag tycker att det ser bättre ut.
Steg 6: Installera personlig väderstation
Placeringsväderstationen är den viktigaste delen av installationen. Om väderstationen är placerad under ett träd eller ett överhäng, kommer inte regndata som mäts av stationen att vara korrekta. Om du placerar din väderstation i en gränd kan du mycket väl få en vindtunneleffekt på vindmätaren, vilket resulterar i felaktiga vinddata. Väderstationen ska ha bra "hämtning" eller avstånd från något annat högt föremål.
Standardvindmätningen bör tas 10 meter över marken. Ett tak fungerar bäst för mig.
Väderstationen drivs från solpanel. Så det är autonomt.
Det vanligaste felet vid installation av en väderstation är förknippat med felplacering av termometersensorn. Meteorologer definierar temperaturen som temperaturen i skuggan med mycket ventilation. Se till att:
- Termometersensorn tar aldrig emot direkt solljus.
- Termometern får mycket ventilation och är inte blockerad från vinden.
- Om termometern är placerad på ett tak, se till att den är minst 1,5 meter över taket.
- Om termometern är placerad ovanför gräs, igen, bör den vara minst 1,5 meter över gräsytan.
- Termometern är minst 15 meter från närmaste asfalterade yta.
Så jag använder väderskydd. Jag gjorde den av PVC -rör. På så sätt kan väderstationen placeras i direkt solljus, med termometern placerad inuti skyddet.
Mer information om installation av väderstation här
Steg 7: ESP8266 AT -kommandon
Först måste den förbereda ESP8266 wifi -modul. Ändra CWMODE till 1 = Station mode (Client) och anslut ESP8266 till din WiFi -router. Jag använder usb to ttl seriell adapter. Den behöver bara ansluta 4 ledare (+3.3V, GND TX, RX)
Eller så kan du använda Arduino för att skicka AT -kommandon till ESP8266.
AT -kommandon:
PÅ
AT+CWMODE?
AT+CWMODE = 1
AT+CWJAP = "din ssd", "lösenord"
fler AT -kommandon här
Steg 8: Arduino -kod
1. Innan du laddar upp koden till ditt Arduino Uno registrerar du dig på wunderground.com för att få ett WU -stations -ID och nyckel/lösenord
2. Ändra detta ID och nyckel/lösenord till din väderstation Arduino -kod.
- char ID = "xxxxxxxx"; // Wunderground -väderstations -ID
- String PASSWORD = "xxxxxxxx"; // wunderground väderstationslösenord
3. Ändra höjdpws för att få relativa tryckmätare (m)
4. #define DEBUG 1 // om du bara kontrollerar sensordata.
5. Jag använder 30 sekunders looptid för att skicka data till Wunderground.com. 25 sekunder tar jag för att mäta vindhastigheten. Annan tid är för läsningsdata.
Steg 9: Resultat
Det fungerar och skickar sensordata till Wunderground.com. Jag är väldigt glad;)
Steg 10: IoT Personal NodeMCU ESP12 WiFi Trådlös väderstation V2
Ny väderstation version v2 klicka