Tartalomjegyzék:
Videó: DIY meteorológiai állomás DHT11, BMP180, Nodemcu használatával Arduino IDE -vel a Blynk szerver felett: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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
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
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
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
// 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:
Professzionális meteorológiai állomás ESP8266 és ESP32 DIY használatával: 9 lépés (képekkel)
Professzionális időjárás -állomás az ESP8266 és az ESP32 barkácsolás segítségével: A LineaMeteoStazione egy komplett időjárás -állomás, amely összekapcsolható a Sensirion professzionális érzékelőivel, valamint néhány Davis -műszeregységgel (esőmérő, szélmérő)
Szoba meteorológiai állomás Arduino és BME280 használatával: 4 lépés
Szobai időjárás állomás az Arduino és a BME280 használatával: Korábban megosztottam egy egyszerű időjárás -állomást, amely megjelenítette a helyi hőmérsékletet és páratartalmat. A probléma az volt, hogy időbe telik a frissítés, és az adatok nem voltak pontosak. Ebben az oktatóanyagban beltéri időjárás -figyelőt készítünk
Meteorológiai állomás a Wemos D1 Mini, a BME280 és a Sensate használatával: 6 lépés
Meteorológiai állomás a Wemos D1 Mini, a BME280 és a Sensate használatával: Az előző bejegyzésekben különböző módszereket osztottam meg egy időjárásállomás építésére. Ha még nem ellenőrizte, itt egy link. Ebben az oktatóanyagban bemutatom, hogyan lehet egy egyszerű meteorológiai állomást felépíteni a Wemos és a Sensate nevű IoT platform segítségével
Arduino meteorológiai állomás a BMP280 -DHT11 használatával - Hőmérséklet, páratartalom és nyomás: 8 lépés
Arduino meteorológiai állomás a BMP280 -DHT11 használatával - Hőmérséklet, páratartalom és nyomás: Ebben az oktatóanyagban megtanuljuk, hogyan készítsünk időjárás -állomást, amely HŐMÉRSÉKLETET, PÁRÁT ÉS NYOMÁST jelenít meg a TFT 7735 LCD -kijelzőn
ESP8266 NodeMCU + LM35 + Blynk (IOT meteorológiai állomás/ digitális hőmérséklet -érzékelő): 4 lépés
ESP8266 NodeMCU + LM35 + Blynk (IOT meteorológiai állomás/ digitális hőmérséklet -érzékelő): Sziasztok srácok! Ebben az utasításban megtanuljuk, hogyan kell az LM35 érzékelőt a NodeMCU -hoz csatlakoztatni, és megjeleníteni a hőmérséklet -információkat az interneten keresztül egy okostelefonon, Blynk alkalmazással. (Ebben a projektben is a SuperChart widgetet fogjuk használni a Bl