Sadržaj:

Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera: 4 koraka
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera: 4 koraka

Video: Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera: 4 koraka

Video: Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera: 4 koraka
Video: DIGITALNA VREMENSKA STANICA SUPERKLIK (OFFICIAL VIDEO) 2024, Novembar
Anonim
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera
Uradi sam meteorološka stanica koristeći DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk servera

Github: DIY_Weather_Station

Hackster.io: Meteorološka stanica

Vidjeli biste aplikaciju Weather Weather, zar ne? Na primjer, kada ga otvorite, upoznat ćete vremenske uslove poput temperature, vlažnosti itd. Ta očitanja su prosječna vrijednost velike površine, pa ako želite znati tačne parametre koji se odnose na vašu sobu, ne možete samo oslonite se na aplikaciju Weather. U tu svrhu prelazimo na izradu meteorološke stanice koja je isplativa, a uz to je i pouzdana i daje nam tačnu vrijednost.

Meteorološka stanica je objekt s instrumentima i opremom za mjerenje atmosferskih uslova za pružanje informacija za vremensku prognozu i proučavanje vremena i klime. Za uključivanje i kodiranje potrebno je malo truda. Pa krenimo.

O Nodemcu -u:

NodeMCU je IoT platforma otvorenog koda.

Uključuje firmver koji radi na ESP8266 Wi-Fi SoC-u kompanije Espressif Systems i hardver zasnovan na modulu ESP-12.

Izraz "NodeMCU" prema zadanim postavkama odnosi se na firmver, a ne na komplete za razvoj. Firmver koristi skriptni jezik Lua. Zasnovan je na projektu eLua i izgrađen je na Espressif Non-OS SDK-u za ESP8266. Koristi mnoge projekte otvorenog koda, poput lua-cjson i spiffs.

Zahtjevi senzora i softvera:

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

2. DHT11

3. BMP180

4. Arduino IDE

Korak 1: Upoznajte svoje senzore

Upoznajte svoje senzore
Upoznajte svoje senzore

BMP180:

Opis:

BMP180 se sastoji od piezootpornog senzora, analogno-digitalnog pretvarača i upravljačke jedinice s E2PROM-om i serijskim I2C sučeljem. BMP180 daje nekompresiranu vrijednost pritiska i temperature. E2PROM je pohranio 176 bita pojedinačnih kalibracijskih podataka. Ovo se koristi za kompenzaciju pomaka, ovisnosti o temperaturi i drugih parametara senzora.

  • UP = podaci o pritisku (16 do 19 bita)
  • UT = podaci o temperaturi (16 bita)

Tehničke specifikacije:

  • Vin: 3 do 5VDC
  • Logika: U skladu sa 3 do 5V
  • Opseg pritiska: 300-1100 hPa (9000m do -500m nadmorske visine)
  • Rezolucija do 0,03 hPa / 0,25 m -40 do +85 ° C, temperaturna tačnost +-2 ° C
  • Ova ploča/čip koristi I2C 7-bitnu adresu 0x77.

DHT11:

Opis:

  • DHT11 je osnovni, ultra jeftin digitalni senzor temperature i vlažnosti.
  • Koristi kapacitivni senzor vlažnosti i termistor za mjerenje okolnog zraka i izbacuje digitalni signal na pin podataka (nisu potrebni analogni ulazi). Prilično je jednostavan za korištenje, ali zahtijeva pažljivo određivanje vremena za prikupljanje podataka.
  • Jedina stvarna mana ovog senzora je što iz njega možete dobiti nove podatke samo svake 2 sekunde, pa kada koristite našu biblioteku, očitanja senzora mogu biti stara do 2 sekunde.

Tehničke specifikacije:

  • Napajanje od 3 do 5V i U/I
  • Dobro za očitanja temperature od 0-50 ° C ± ± 2 ° C tačnost
  • Dobar za očitanja vlažnosti od 20-80% s točnošću od 5%
  • 2,5 mA maksimalna potrošnja struje tokom konverzije (dok se traže podaci)

Korak 2: Povezivanje

Povezivost
Povezivost

DHT11 sa Nodemcuom:

Pin 1 - 3.3V

Pin 2 - D4

Pin 3 - NC

Pin 4 - Gnd

BMP180 sa Nodemcuom:

Vin - 3.3V

Gnd - Gnd

SCL - D6

SDA - D7

Korak 3: Postavite Blynk

Image
Image
Podešavanje Blynk
Podešavanje Blynk

Šta je Blynk?

Blynk je platforma s iOS i Android aplikacijama za kontrolu Arduina, Raspberry Pi i sličnih putem Interneta.

To je digitalna nadzorna ploča na kojoj možete izgraditi grafičko sučelje za svoj projekt jednostavnim povlačenjem i ispuštanjem widgeta. Vrlo je jednostavno sve postaviti i počet ćete petljati za manje od 5 minuta. Blynk nije vezan za neku posebnu dasku ili štit. Umjesto toga, podržava hardver po vašem izboru. Bez obzira je li vaš Arduino ili Raspberry Pi povezan s internetom putem Wi-Fi-ja, Etherneta ili ovog novog čipa ESP8266, Blynk će vas spojiti na internet i pripremiti za Internet vaših stvari.

Za više informacija o postavljanju Blynka: Detaljno postavljanje Blynka

Korak 4: Kodirajte

Kod
Kod

// Komentari za svaki red navedeni su u.ino datoteci ispod

#include #define BLYNK_PRINT Serijski #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 = true; char auth = "Ovdje postavite svoj ključ za provjeru autentičnosti iz aplikacije Blynk"; char ssid = "Vaš WiFi SSID"; char pass = "Vaša lozinka"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Definiranje pin -a i dhttype BlynkTimer timera; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Nije moguće pronaći važeći BMP085 senzor, provjerite ožičenje!"); while (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Očitavanje nije uspjelo sa DHT senzora!"); return; } dvostruka gama = log (h / 100) + ((17,62*t) / (243,5 + t)); dvostruki dp = 243,5*gama / (17,62-gama); plovak 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); } void setup () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); kašnjenje (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Preporučuje se: