Indholdsfortegnelse:

DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server: 4 trin
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server: 4 trin

Video: DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server: 4 trin

Video: DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server: 4 trin
Video: 12V, 24V 400W generatordrevet vindmøllegenerator 2024, November
Anonim
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server
DIY vejrstation ved hjælp af DHT11, BMP180, Nodemcu med Arduino IDE over Blynk Server

Github: DIY_Weather_Station

Hackster.io: Vejrstation

Du ville have set Weather Application rigtigt? Ligesom når du åbner det, lærer du vejrforholdene som temperatur, luftfugtighed osv. At kende. Disse aflæsninger er gennemsnitsværdien for et stort område, så hvis du vil vide de nøjagtige parametre relateret til dit værelse, kan du ikke bare stole på vejrprogrammet. Til dette formål kan vi gå videre til fremstillingen af Weather Station, som er omkostningseffektiv og også er pålidelig og giver os den nøjagtige værdi.

En vejrstation er en facilitet med instrumenter og udstyr til måling af atmosfæriske forhold for at give oplysninger om vejrudsigter og for at studere vejret og klimaet. Det kræver lidt indsats at tilslutte og kode. Så lad os komme i gang.

Om Nodemcu:

NodeMCU er en open source IoT -platform.

Det inkluderer firmware, der kører på ESP8266 Wi-Fi SoC fra Espressif Systems, og hardware, der er baseret på ESP-12-modulet.

Udtrykket "NodeMCU" refererer som standard til firmwaren frem for dev kits. Firmwaren bruger Lua -scriptsproget. Det er baseret på eLua-projektet og bygget på Espressif Non-OS SDK til ESP8266. Det bruger mange open source-projekter, såsom lua-cjson og spiffs.

Sensorer og softwarekrav:

1. Nodemcu (esp8266-12e v1.0)

2. DHT11

3. BMP180

4. Arduino IDE

Trin 1: Kend dine sensorer

Kend dine sensorer
Kend dine sensorer

BMP180:

Beskrivelse:

BMP180 består af en piezo-resistiv sensor, en analog til digital konverter og en styreenhed med E2PROM og et serielt I2C-interface. BMP180 leverer den ukompenserede værdi af tryk og temperatur. E2PROM har gemt 176 bit individuelle kalibreringsdata. Dette bruges til at kompensere for forskydning, temperaturafhængighed og andre parametre for sensoren.

  • UP = trykdata (16 til 19 bit)
  • UT = temperaturdata (16 bit)

Tekniske specifikationer:

  • Vin: 3 til 5VDC
  • Logik: 3 til 5V kompatibel
  • Trykfølerområde: 300-1100 hPa (9000m til -500m over havets overflade)
  • Op til 0,03 hPa / 0,25 m opløsning-40 til +85 ° C driftsområde, +-2 ° C temperaturnøjagtighed
  • Dette kort/chip bruger I2C 7-bit adresse 0x77.

DHT11:

Beskrivelse:

  • DHT11 er en grundlæggende, ultra billig digital temperatur- og fugtighedsføler.
  • Den bruger en kapacitiv fugtighedsføler og en termistor til at måle den omgivende luft og spytter et digitalt signal ud på datapinden (ingen analoge indgangsstifter er nødvendige). Det er ret enkelt at bruge, men kræver omhyggelig timing for at få fat i data.
  • Den eneste virkelige ulempe ved denne sensor er, at du kun kan få nye data fra den en gang hvert 2. sekund, så når du bruger vores bibliotek, kan sensoraflæsninger være op til 2 sekunder gamle.

Tekniske specifikationer:

  • 3 til 5V strøm og I/O
  • God til 0-50 ° C temperaturmålinger ± 2 ° C nøjagtighed
  • God til 20-80% fugtighedsmålinger med 5% nøjagtighed
  • 2,5 mA maks. Strømforbrug under konvertering (mens der anmodes om data)

Trin 2: Forbindelse

Forbindelse
Forbindelse

DHT11 med Nodemcu:

Pin 1 - 3.3V

Pin 2 - D4

Pin 3 - NC

Pin 4 - Gnd

BMP180 med Nodemcu:

Vin - 3,3V

Gnd - Gnd

SCL - D6

SDA - D7

Trin 3: Opsætning af Blynk

Image
Image
Opsætning Blynk
Opsætning Blynk

Hvad er Blynk?

Blynk er en platform med iOS- og Android -apps til styring af Arduino, Raspberry Pi og lignende over internettet.

Det er et digitalt dashboard, hvor du kan opbygge en grafisk grænseflade til dit projekt ved blot at trække og slippe widgets. Det er virkelig simpelt at konfigurere alt, og du begynder at pille på mindre end 5 minutter. Blynk er ikke bundet til et bestemt bræt eller skjold. I stedet understøtter det hardware efter eget valg. Uanset om din Arduino eller Raspberry Pi er knyttet til internettet via Wi-Fi, Ethernet eller denne nye ESP8266-chip, vil Blynk få dig online og klar til Internet Of Your Things.

For mere information om opsætning af Blynk: Detaljeret Blynk -opsætning

Trin 4: Kode

Kode
Kode

// Kommentarer til hver linje er givet i.ino -filen herunder

#include #define BLYNK_PRINT Seriel #include #include #include #include #include Adafruit_BMP085 bmp; #define I2C_SCL 12 #define I2C_SDA 13 float dst, bt, bp, ba; char dstmp [20], btmp [20], bprs [20], balt [20]; bool bmp085_present = sand; char auth = "Sæt din godkendelsesnøgle fra Blynk -appen her"; char ssid = "Dit WiFi SSID"; char pass = "Din adgangskode"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Definere stiften og dhttype BlynkTimer -timeren; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Kunne ikke finde en gyldig BMP085 -sensor, tjek ledninger!"); mens (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Kunne ikke læse fra DHT -sensor!"); Vend tilbage; } dobbelt gamma = log (h / 100) + ((17,62*t) / (243,5 + t)); dobbelt dp = 243,5*gamma / (17,62-gamma); float bp = bmp.readPressure ()/100; float ba = bmp.readAltitude (); float bt = bmp.readTemperature (); float dst = bmp.readSealevelPressure ()/100; Blynk.virtualWrite (V5, h); Blynk.virtualWrite (V6, t); Blynk.virtualWrite (V10, bp); Blynk.virtualWrite (V11, ba); Blynk.virtualWrite (V12, bt); Blynk.virtualWrite (V13, dst); Blynk.virtualWrite (V14, dp); } ugyldig opsætning () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); forsinkelse (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Anbefalede: