Obsah:

Meteostanica DIY využívajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk: 4 kroky
Meteostanica DIY využívajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk: 4 kroky

Video: Meteostanica DIY využívajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk: 4 kroky

Video: Meteostanica DIY využívajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk: 4 kroky
Video: Lesson 37: Using BME280 Humidity, Barometric Pressure and Temperature Sensor 2024, Júl
Anonim
Meteorologická stanica pre domácich majstrov používajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk
Meteorologická stanica pre domácich majstrov používajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk
Meteorologická stanica pre domácich majstrov používajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk
Meteorologická stanica pre domácich majstrov používajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk
Meteorologická stanica pre domácich majstrov používajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk
Meteorologická stanica pre domácich majstrov používajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk
Meteorologická stanica pre domácich majstrov používajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk
Meteorologická stanica pre domácich majstrov používajúca DHT11, BMP180, Nodemcu s Arduino IDE cez server Blynk

Github: DIY_Weather_Station

Hackster.io: Meteorologická stanica

Videli by ste aplikáciu Weather Weather, že? Napríklad, keď ho otvoríte, poznáte poveternostné podmienky, ako je teplota, vlhkosť atď. Tieto hodnoty sú priemernou hodnotou veľkej plochy, takže ak chcete poznať presné parametre súvisiace s vašou miestnosťou, nemôžete jednoducho spoľahnite sa na aplikáciu Weather. Za týmto účelom sa presunieme k výrobe meteorologickej stanice, ktorá je nákladovo efektívna a je tiež spoľahlivá a dáva nám presnú hodnotu.

Meteorologická stanica je zariadenie s prístrojmi a zariadením na meranie atmosférických podmienok, ktoré poskytuje informácie o predpovediach počasia a študuje počasie a podnebie. Pripojenie a kódovanie si vyžaduje trochu úsilia. Začnime teda.

O spoločnosti Nodemcu:

NodeMCU je open source platforma IoT.

Obsahuje firmvér, ktorý beží na ESP8266 Wi-Fi SoC od Espressif Systems, a hardvér, ktorý je založený na module ESP-12.

Termín „NodeMCU“sa v predvolenom nastavení týka skôr firmvéru, ako súprav dev. Firmvér používa skriptovací jazyk Lua. Je založený na projekte eLua a je postavený na súprave Espressif Non-OS SDK pre ESP8266. Využíva mnoho open source projektov, ako napríklad lua-cjson a spiffs.

Požiadavky na snímače a softvér:

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

2. DHT11

3. BMP180

4. Arduino IDE

Krok 1: Spoznajte svoje senzory

Spoznajte svoje senzory
Spoznajte svoje senzory

BMP180:

Popis:

BMP180 sa skladá z piezo-odporového snímača, analógovo-digitálneho prevodníka a riadiacej jednotky s E2PROM a sériovým rozhraním I2C. BMP180 poskytuje nekompenzovanú hodnotu tlaku a teploty. E2PROM má uložených 176 bitov jednotlivých kalibračných dát. Používa sa na kompenzáciu posunu, teplotnej závislosti a ďalších parametrov snímača.

  • UP = údaje o tlaku (16 až 19 bitov)
  • UT = údaje o teplote (16 bitov)

Technické špecifikácie:

  • Vin: 3 až 5 VDC
  • Logika: kompatibilné s 3 až 5V
  • Rozsah snímania tlaku: 300-1100 hPa (9000 m až -500 m nad morom)
  • Rozlíšenie až 0,03 hPa / 0,25 m -40 až +85 ° C, presnosť teploty +-2 ° C
  • Táto doska/čip používa 7-bitovú adresu I2C 0x77.

DHT11:

Popis:

  • DHT11 je základný, ultra lacný digitálny snímač teploty a vlhkosti.
  • Na meranie okolitého vzduchu používa kapacitný snímač vlhkosti a termistor a na dátový kolík chrlí digitálny signál (nie sú potrebné žiadne analógové vstupné kolíky). Jeho použitie je pomerne jednoduché, ale na získanie údajov vyžaduje starostlivé načasovanie.
  • Jedinou skutočnou nevýhodou tohto senzora je, že z neho môžete získavať nové údaje iba raz za 2 sekundy, takže pri použití našej knižnice môžu byť údaje zo senzorov staré až 2 sekundy.

Technické špecifikácie:

  • Napájanie 3 až 5 V a I/O
  • Dobré na meranie teploty 0-50 ° C s presnosťou ± 2 ° C
  • Dobré pre hodnoty vlhkosti 20-80% s presnosťou 5%
  • Spotreba prúdu 2,5 mA počas prevodu (pri vyžiadaní údajov)

Krok 2: Pripojiteľnosť

Konektivita
Konektivita

DHT11 s Nodemcu:

Pin 1 - 3,3V

Kolík 2 - D4

Kolík 3 - NC

Kolík 4 - Gnd

BMP180 s Nodemcu:

Vin - 3,3V

Gnd - Gnd

SCL - D6

SDA - D7

Krok 3: Nastavte Blynk

Image
Image
Nastavte Blynk
Nastavte Blynk

Čo je Blynk?

Blynk je platforma s aplikáciami pre iOS a Android na ovládanie Arduina, Raspberry Pi a podobných aplikácií cez internet.

Je to digitálny informačný panel, na ktorom môžete pre svoj projekt vytvoriť grafické rozhranie jednoduchým pretiahnutím miniaplikácií. Je skutočne jednoduché nastaviť všetko a začnete sa baviť za menej ako 5 minút. Blynk nie je viazaný na nejakú konkrétnu dosku alebo štít. Namiesto toho podporuje podporovaný hardvér podľa vášho výberu. Či už je vaše Arduino alebo Raspberry Pi pripojené k internetu prostredníctvom Wi-Fi, ethernetu alebo tohto nového čipu ESP8266, Blynk vás dostane online a pripravených na internet vašich vecí.

Viac informácií o nastavení Blynku: Podrobné nastavenie Blynka

Krok 4: Kód

Kód
Kód

// Komentáre pre každý riadok sú uvedené v súbore.ino nižšie

#include #define BLYNK_PRINT Sériové #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 = "Sem vložte svoj overovací kľúč z aplikácie Blynk"; char ssid = "Váš WiFi SSID"; char pass = "Vaše heslo"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Definovanie pinu a dhttype časovača BlynkTimer; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Nepodarilo sa nájsť platný snímač BMP085, skontrolujte zapojenie!"); while (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Zlyhalo čítanie zo senzora DHT!"); návrat; } dvojnásobná gama = log (h / 100) + ((17,62*t) / (243,5 + t)); dvojnásobný dp = 243,5*gama / (17,62-gama); 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); } neplatné nastavenie () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); oneskorenie (10); timer.setInterval (1000L, sendSensor); } prázdna slučka () {Blynk.run (); timer.run (); }

Odporúča: