Tartalomjegyzék:

DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett: 4 lépés
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett: 4 lépés

Videó: DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett: 4 lépés

Videó: DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett: 4 lépés
Videó: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, November
Anonim
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett
DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett

Github: DIY_Weather_Station

Hackster.io: Időjárás állomás

Látta volna az Weather Application -t? Például, amikor kinyitja, megismerheti az időjárási viszonyokat, például a hőmérsékletet, a páratartalmat stb. Ezek az értékek egy nagy terület átlagértéke, így ha szeretné tudni a szobájával kapcsolatos pontos paramétereket, támaszkodjon az Időjárás alkalmazásra. Ebből a célból továbbléphetünk a Weather Station gyártására, amely költséghatékony, ráadásul megbízható és pontos értéket ad nekünk.

Az időjárás állomás olyan létesítmény, amely műszerekkel és berendezésekkel rendelkezik a légköri viszonyok mérésére, hogy információkat nyújtson az időjárás -előrejelzésekhez, valamint tanulmányozza az időjárást és az éghajlatot. A csatlakoztatás és a kódolás kis erőfeszítést igényel. Tehát kezdjük.

A Nodemcu -ról:

A NodeMCU egy nyílt forráskódú IoT platform.

Tartalmazza a firmware-t, amely az Espressif Systems ESP8266 Wi-Fi SoC-ján fut, és az ESP-12 modulon alapuló hardvert.

A "NodeMCU" kifejezés alapértelmezésben a firmware -re utal, nem a fejlesztői készletekre. A firmware a Lua szkriptnyelvet használja. Az eLua projekten alapul, és az ESP8266 Espressif Non-OS SDK-jára épül. Sok nyílt forráskódú projektet használ, például lua-cjson és spiffs.

Szenzorok és szoftverkövetelmények:

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

2. DHT11

3. BMP180

4. Arduino IDE

1. lépés: Ismerje meg érzékelőit

Ismerje meg érzékelőit
Ismerje meg érzékelőit

BMP180:

Leírás:

A BMP180 piezo-rezisztív érzékelőből, analóg-digitális átalakítóból és E2PROM vezérlőegységből és soros I2C interfészből áll. A BMP180 biztosítja a nyomás és a hőmérséklet kompenzálatlan értékét. Az E2PROM 176 bites egyedi kalibrációs adatokat tárolt. Ez az eltolás, a hőmérsékletfüggés és az érzékelő egyéb paramétereinek kompenzálására szolgál.

  • UP = nyomásadatok (16-19 bit)
  • UT = hőmérsékleti adatok (16 bit)

Műszaki adatok:

  • Vin: 3-5 VDC
  • Logika: 3-5 V -kompatibilis
  • Nyomásérzékelési tartomány: 300-1100 hPa (9000 m -500 m tengerszint feletti magasságban)
  • Akár 0,03 hPa / 0,25 m felbontás-40- +85 ° C működési tartomány, +-2 ° C hőmérséklet pontosság
  • Ez a lap/chip I2C 7 bites címet használ 0x77.

DHT11:

Leírás:

  • A DHT11 egy alapvető, rendkívül olcsó digitális hőmérséklet- és páratartalom-érzékelő.
  • Kapacitív páratartalom -érzékelőt és termisztor segítségével méri a környező levegőt, és digitális jelet köp az adatcsapra (nincs szükség analóg bemeneti tüskékre). Használata meglehetősen egyszerű, de gondos adatgyűjtést igényel.
  • Ennek az érzékelőnek az egyetlen valódi hátránya, hogy csak 2 másodpercenként kaphat belőle új adatokat, így könyvtárunk használatakor az érzékelő leolvasása akár 2 másodperc is lehet.

Műszaki adatok:

  • 3-5 V tápellátás és I/O
  • 0-50 ° C hőmérséklet-leolvasáshoz ± 2 ° C pontosságú
  • Jó a 20-80% -os páratartalom leolvasásához, 5% -os pontossággal
  • 2,5 mA maximális áramfelvétel az átalakítás során (adatigénylés közben)

2. lépés: Kapcsolódás

Kapcsolódás
Kapcsolódás

DHT11 Nodemcu -val:

1. tű - 3.3V

2. tű - D4

3. csap - NC

4. tű - Gnd

BMP180 Nodemcu -val:

Vin - 3.3V

Gnd - Gnd

SCL - D6

SDA - D7

3. lépés: A Blynk beállítása

Image
Image
A Blynk beállítása
A Blynk beállítása

Mi az a Blynk?

A Blynk egy platform iOS és Android alkalmazásokkal az Arduino, a Raspberry Pi és a kedvelők interneten keresztüli vezérlésére.

Ez egy digitális műszerfal, ahol grafikus felületet építhet a projekthez egyszerűen a widgetek húzásával. Nagyon egyszerű mindent beállítani, és kevesebb, mint 5 perc múlva elkezdi a bütykölést. Blynk nincs kötve valamilyen speciális táblához vagy pajzshoz. Ehelyett az Ön által választott hardvert támogatja. Akár az Arduino, akár a Raspberry Pi kapcsolódik az internethez Wi-Fi-n, Etherneten vagy ezen az új ESP8266 chipen keresztül, a Blynk online és készen áll a dolgok internetére.

További információ a Blynk beállításáról: Blynk részletes beállítása

4. lépés: Kód

Kód
Kód

// Az egyes sorokhoz tartozó megjegyzéseket az alábbi.ino fájl tartalmazza

#include #define BLYNK_PRINT Serial #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 = igaz; char auth = "Ide tegye hitelesítési kulcsát a Blynk alkalmazásból"; char ssid = "Az Ön WiFi SSID -je"; char pass = "Az Ön jelszava"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // A csap és a dhttype definiálása BlynkTimer timer; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Nem található érvényes BMP085 érzékelő, ellenőrizze a vezetékeket!"); while (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Nem sikerült olvasni a DHT szenzorból!"); Visszatérés; } kettős gamma = log (h / 100) + ((17,62*t) / (243,5 + t)); kettős dp = 243,5*gamma / (17,62-gamma); float bp = bmp.read Pressure ()/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); késleltetés (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Ajánlott: