Obsah:

Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk: 4 kroky
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk: 4 kroky

Video: Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk: 4 kroky

Video: Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk: 4 kroky
Video: Mendelovy dny 2023: Workshopy a přednášky studentů a pedagogů 2024, Listopad
Anonim
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk
Meteorologická stanice pro kutily využívající DHT11, BMP180, Nodemcu s Arduino IDE přes server Blynk

Github: DIY_Weather_Station

Hackster.io: Meteorologická stanice

Viděli byste aplikaci Počasí, že? Stejně jako když otevřete, seznámíte se s povětrnostními podmínkami, jako je teplota, vlhkost atd. Tyto hodnoty jsou průměrnou hodnotou velké oblasti, takže pokud chcete znát přesné parametry týkající se vašeho pokoje, nemůžete jen spolehněte se na aplikaci Počasí. Za tímto účelem přejdeme k výrobě meteorologické stanice, která je nákladově efektivní a je také spolehlivá a dává nám přesnou hodnotu.

Meteorologická stanice je zařízení s přístroji a zařízením pro měření atmosférických podmínek, které poskytuje informace o předpovědích počasí a studuje počasí a klima. Připojení a kódování vyžaduje trochu úsilí. Pojďme tedy začít.

O společnosti Nodemcu:

NodeMCU je open source platforma IoT.

Obsahuje firmware, který běží na ESP8266 Wi-Fi SoC od Espressif Systems, a hardware, který je založen na modulu ESP-12.

Termín „NodeMCU“ve výchozím nastavení označuje spíše firmware než sady pro vývojáře. Firmware používá skriptovací jazyk Lua. Je založen na projektu eLua a je postaven na sadě Espressif Non-OS SDK pro ESP8266. Používá mnoho open source projektů, jako je lua-cjson a spiffs.

Požadavky na snímače a software:

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

2. DHT11

3. BMP180

4. Arduino IDE

Krok 1: Poznejte své senzory

Poznejte své senzory
Poznejte své senzory

BMP180:

Popis:

BMP180 se skládá z piezo-odporového senzoru, analogově digitálního převodníku a řídicí jednotky s E2PROM a sériovým rozhraním I2C. BMP180 poskytuje nekompenzovanou hodnotu tlaku a teploty. E2PROM má uloženo 176 bitů jednotlivých kalibračních dat. To se používá ke kompenzaci ofsetu, teplotní závislosti a dalších parametrů senzoru.

  • UP = údaje o tlaku (16 až 19 bitů)
  • UT = teplotní data (16 bitů)

Technické specifikace:

  • Vin: 3 až 5VDC
  • Logika: kompatibilní s 3 až 5V
  • Rozsah snímání tlaku: 300-1100 hPa (9000 m až -500 m nad mořem)
  • Rozlišení až 0,03 hPa / 0,25 m-provozní rozsah 40 až +85 ° C, přesnost teploty +-2 ° C
  • Tato deska/čip používá 7bitovou adresu I2C 0x77.

DHT11:

Popis:

  • DHT11 je základní, ultra levný digitální snímač teploty a vlhkosti.
  • K měření okolního vzduchu používá kapacitní snímač vlhkosti a termistor a na datový kolík vyplivuje digitální signál (nejsou potřeba žádné analogové vstupní kolíky). Jeho použití je poměrně jednoduché, ale vyžaduje pečlivé načasování získávání dat.
  • Jedinou skutečnou nevýhodou tohoto senzoru je, že z něj můžete získávat nová data pouze jednou za 2 sekundy, takže při používání naší knihovny mohou být údaje ze senzorů staré až 2 sekundy.

Technické specifikace:

  • Napájení 3 až 5 V a I/O
  • Dobré pro měření teploty 0-50 ° C s přesností ± 2 ° C
  • Dobré pro hodnoty vlhkosti 20-80% s přesností 5%
  • Maximální spotřeba proudu 2,5 mA během převodu (při požadavku na data)

Krok 2: Připojení

Konektivita
Konektivita

DHT11 s Nodemcu:

Pin 1 - 3,3V

Kolík 2 - D4

Pin 3 - NC

Pin 4 - Gnd

BMP180 s Nodemcu:

Vin - 3,3V

Gnd - Gnd

SCL - D6

SDA - D7

Krok 3: Nastavení Blynk

Image
Image
Nastavte Blynk
Nastavte Blynk

Co je Blynk?

Blynk je platforma s aplikacemi pro iOS a Android pro ovládání Arduina, Raspberry Pi a podobných přes internet.

Je to digitální řídicí panel, kde můžete pro svůj projekt vytvořit grafické rozhraní pouhým přetažením widgetů. Je opravdu jednoduché vše nastavit a začít si hrát za méně než 5 minut. Blynk není vázán na nějakou konkrétní desku nebo štít. Místo toho podporuje hardware podle vašeho výběru. Ať už je vaše Arduino nebo Raspberry Pi připojeno k internetu přes Wi-Fi, Ethernet nebo tento nový čip ESP8266, Blynk vás dostane online a připravený na internet vašich věcí.

Další informace o nastavení Blynk: Podrobné nastavení Blynk

Krok 4: Kód

Kód
Kód

// Komentáře pro každý řádek jsou uvedeny v souboru.ino níže

#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 svůj ověřovací klíč z aplikace Blynk"; char ssid = "Vaše WiFi SSID"; char pass = "Vaše heslo"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Definování pinu a dhttype časovače BlynkTimer; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Nelze najít platný snímač BMP085, zkontrolujte zapojení!"); while (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Selhalo čtení ze snímače DHT!"); vrátit se; } dvojité gama = log (h / 100) + ((17,62*t) / (243,5 + t)); dvojitý 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é nastavení () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); zpoždění (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Doporučuje: