Sadržaj:

Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja: 4 koraka
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja: 4 koraka

Video: Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja: 4 koraka

Video: Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja: 4 koraka
Video: [Generacija NOW] Suncokret - bežična meteorološka stanica napajana solarnim panelom 2024, Srpanj
Anonim
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja
Uradi sam meteorološka stanica pomoću DHT11, BMP180, Nodemcu s Arduino IDE -om preko Blynk poslužitelja

Github: DIY_Weather_Station

Hackster.io: Meteorološka stanica

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

Meteorološka stanica je objekt s instrumentima i opremom za mjerenje atmosferskih uvjeta 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:

NodeMCU je IoT platforma otvorenog koda.

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

Izraz "NodeMCU" prema zadanim postavkama odnosi se na firmver, a ne na komplete za razvoj. Firmver koristi skriptni jezik Lua. Temelji se na projektu eLua, a 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 tlaka i temperature. E2PROM je pohranio 176 bita pojedinačnih kalibracijskih podataka. To se koristi za kompenzaciju pomaka, ovisnosti o temperaturi i drugih parametara senzora.

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

Tehničke specifikacije:

  • Vin: 3 do 5VDC
  • Logika: U skladu sa 3 do 5V
  • Raspon osjetljivosti tlaka: 300-1100 hPa (9000m do -500m nadmorske visine)
  • Do 0.03hPa / 0.25m razlučivost -40 do +85 ° C radni raspon, +-2 ° C točnost temperature
  • 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 te izbacuje digitalni signal na podatkovni pin (nisu potrebni analogni ulazi). Prilično je jednostavan za korištenje, ali zahtijeva pažljivo vrijeme za prikupljanje podataka.
  • Jedina stvarna mana ovog senzora je što iz njega možete dobiti nove podatke samo svake 2 sekunde, tako da pri korištenju naše biblioteke očitanja senzora mogu biti stara do 2 sekunde.

Tehničke specifikacije:

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

Korak 2: Povezivanje

Povezivost
Povezivost

DHT11 s Nodemcuom:

Pin 1 - 3.3V

Pin 2 - D4

Pin 3 - NC

Pin 4 - Gnd

BMP180 s Nodemcuom:

Vin - 3.3V

Gnd - Gnd

SCL - D6

SDA - D7

Korak 3: Postavite Blynk

Image
Image
Postavite Blynk
Postavite Blynk

Što 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 ploču 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

Kodirati
Kodirati

// Komentari za svaki redak dati su u donjoj datoteci.ino

#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 stavite svoj autorizacijski ključ 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 ("Nije uspjelo čitanje s DHT senzora!"); povratak; } 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čeni: