Sisällysluettelo:

DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE Blynk -palvelimen yli: 4 vaihetta
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE Blynk -palvelimen yli: 4 vaihetta

Video: DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE Blynk -palvelimen yli: 4 vaihetta

Video: DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE Blynk -palvelimen yli: 4 vaihetta
Video: Урок 96: Датчик атмосферного давления, температуры, приблизительной высоты BMP390 с ЖК-дисплеем 2024, Heinäkuu
Anonim
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE yli Blynk -palvelimen
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE yli Blynk -palvelimen
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE yli Blynk -palvelimen
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE yli Blynk -palvelimen
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE yli Blynk -palvelimen
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE yli Blynk -palvelimen
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE yli Blynk -palvelimen
DIY -sääasema käyttäen DHT11, BMP180, Nodemcu ja Arduino IDE yli Blynk -palvelimen

Github: DIY_Weather_Station

Hackster.io: Sääasema

Olisitko nähnyt Sääsovelluksen oikein? Kun avaat sen, opit tuntemaan sääolosuhteet, kuten lämpötilan, kosteuden jne. Nämä lukemat ovat suuren alueen keskiarvo, joten jos haluat tietää huoneeseesi liittyvät tarkat parametrit, et voi vain luottaa sääsovellukseen. Tätä tarkoitusta varten voimme siirtyä sääaseman valmistukseen, joka on kustannustehokas, luotettava ja antaa meille tarkan arvon.

Sääasema on laite, jossa on välineitä ja laitteita ilmakehän mittaamiseen, jotta saadaan tietoa sääennusteista ja tutkitaan säätä ja ilmastoa. Liittäminen ja koodaaminen vaatii vähän vaivaa. Aloitetaan siis.

Tietoja Nodemcusta:

NodeMCU on avoimen lähdekoodin IoT -alusta.

Se sisältää laiteohjelmiston, joka toimii ESP8266 Wi-Fi SoC: llä Espressif Systemsiltä, ja laitteiston, joka perustuu ESP-12-moduuliin.

Termi "NodeMCU" viittaa oletuksena laiteohjelmistoon eikä kehityssarjoihin. Laiteohjelmisto käyttää Lua -komentosarjakieltä. Se perustuu eLua-projektiin ja perustuu ESP8266: n Espressif Non-OS SDK: hon. Se käyttää monia avoimen lähdekoodin projekteja, kuten lua-cjson ja spiffit.

Anturit ja ohjelmistovaatimus:

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

2. DHT11

3. BMP180

4. Arduino IDE

Vaihe 1: Tunne anturit

Tunne anturit
Tunne anturit

BMP180:

Kuvaus:

BMP180 koostuu pietsoresistiivisestä anturista, analogisesta digitaalimuuntimeen ja ohjausyksiköstä, jossa on E2PROM ja sarjaliitäntä I2C. BMP180 tarjoaa kompensoimattoman paineen ja lämpötilan arvon. E2PROM on tallentanut 176 bittiä yksittäisiä kalibrointitietoja. Tätä käytetään kompensoimaan anturin siirtymä, lämpötilariippuvuus ja muut parametrit.

  • YLÖS = painetiedot (16-19 bittiä)
  • UT = lämpötilatiedot (16 bittiä)

Tekniset tiedot:

  • Vin: 3-5 VDC
  • Logiikka: 3-5 V: n mukainen
  • Paineen tunnistusalue: 300-1100 hPa (9000 --500 m merenpinnan yläpuolella)
  • Jopa 0,03 hPa / 0,25 m resoluutio -40 … +85 ° C toiminta-alue, +-2 ° C lämpötilan tarkkuus
  • Tämä kortti/siru käyttää I2C 7-bittistä osoitetta 0x77.

DHT11:

Kuvaus:

  • DHT11 on erittäin edullinen digitaalinen peruslämpötila- ja kosteusanturi.
  • Se käyttää kapasitiivista kosteusanturia ja termistoria ympäröivän ilman mittaamiseen ja sylkee digitaalisen signaalin datanastalle (ei tarvita analogisia tulonappeja). Se on melko yksinkertainen käyttää, mutta vaatii huolellisen ajoituksen tietojen keräämiseen.
  • Tämän anturin ainoa todellinen haittapuoli on, että voit saada siitä uusia tietoja vain kerran 2 sekunnissa, joten kun käytämme kirjastoamme, anturilukemat voivat olla jopa 2 sekuntia vanhoja.

Tekniset tiedot:

  • 3-5 V: n virta ja I/O
  • Sopii 0-50 ° C: n lämpötilalukemiin ± 2 ° C: n tarkkuudella
  • Sopii 20-80% kosteuslukemiin 5% tarkkuudella
  • 2,5 mA: n enimmäisvirta muuntamisen aikana (tietoja pyydettäessä)

Vaihe 2: Yhteydet

Yhteydet
Yhteydet

DHT11 ja Nodemcu:

Nasta 1 - 3.3V

Nasta 2 - D4

Nasta 3 - NC

Nasta 4 - Gnd

BMP180 ja Nodemcu:

Vin - 3.3V

Gnd - Gnd

SCL - D6

SDA - D7

Vaihe 3: Asenna Blynk

Image
Image
Asenna Blynk
Asenna Blynk

Mikä on Blynk?

Blynk on alusta, jossa on iOS- ja Android -sovellukset Arduinon, Raspberry Pi: n ja vastaavien hallitsemiseksi Internetin kautta.

Se on digitaalinen kojelauta, johon voit rakentaa graafisen käyttöliittymän projektillesi vetämällä ja pudottamalla widgettejä. Kaikki on todella yksinkertaista asentaa ja alat tinkeroida alle 5 minuutissa. Blynk ei ole sidottu tiettyyn lautaan tai kilpeen. Sen sijaan se tukee valitsemiasi laitteita. Olipa Arduino tai Raspberry Pi linkitetty Internetiin Wi-Fi-yhteyden, Ethernetin tai tämän uuden ESP8266-sirun kautta, Blynk saa sinut verkkoon ja on valmis Internet of Your -tapahtumaan.

Lisätietoja Blynkin määrittämisestä: Yksityiskohtaiset Blynk -asetukset

Vaihe 4: Koodi

Koodi
Koodi

// Kunkin rivin kommentit on annettu alla olevassa.ino -tiedostossa

#sisällytä #määrittele BLYNK_PRINT -sarja #sisällytä #sisällytä #sisällytä #sisällytä #sisällytä 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 = "Laita todennusavaimesi Blynk -sovelluksesta tähän"; char ssid = "WiFi -SSID -tunnuksesi"; char pass = "Salasanasi"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Tapin ja dhttype -tyypin määrittäminen BlynkTimer timer; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Ei löytynyt kelvollista BMP085 -anturia, tarkista johdotus!"); while (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Lukeminen epäonnistui DHT -anturista!"); palata; } kaksinkertainen gamma = log (h / 100) + ((17,62*t) / (243,5 + t)); kaksinkertainen dp = 243,5*gamma / (17,62-gamma); float bp = bmp.read Pressure ()/100; float ba = bmp.readAltitude (); float bt = bmp.readTemperature (); float dst = bmp.readSealevel Pressure ()/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); viive (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Suositeltava: