Përmbajtje:

Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk: 4 hapa
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk: 4 hapa

Video: Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk: 4 hapa

Video: Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk: 4 hapa
Video: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Nëntor
Anonim
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk
Stacioni i motit DIY duke përdorur DHT11, BMP180, Nodemcu Me Arduino IDE mbi serverin Blynk

Github: DIY_Weather_Station

Hackster.io: Stacioni i motit

A do ta kishit parë aplikimin e motit apo jo? Si, kur e hapni atë, njihni kushtet e motit si Temperatura, Lagështia etj. Ato lexime janë vlera mesatare e një zone të madhe, kështu që nëse doni të dini parametrat e saktë që lidhen me dhomën tuaj, ju nuk mund të mbështeteni në Aplikimin e Motit. Për këtë qëllim le të kalojmë në krijimin e Stacionit të Motit i cili është me kosto efektive, dhe është gjithashtu i besueshëm dhe na jep vlerën e saktë.

Një stacion moti është një strukturë me instrumente dhe pajisje për matjen e kushteve atmosferike për të siguruar informacion për parashikimet e motit dhe për të studiuar motin dhe klimën. Kërkon pak përpjekje për t'u lidhur dhe koduar. Pra, le të fillojmë.

Rreth Nodemcu:

NodeMCU është një platformë IoT me burim të hapur.

Ai përfshin firmuerin i cili funksionon në ESP8266 Wi-Fi SoC nga Espressif Systems, dhe harduer i cili bazohet në modulin ESP-12.

Termi "NodeMCU" si parazgjedhje i referohet firmware -it sesa kompleteve dev. Firmware përdor gjuhën e shkrimit Lua. Ajo bazohet në projektin eLua, dhe e ndërtuar në Espressif Non-OS SDK për ESP8266. Ai përdor shumë projekte me burim të hapur, të tilla si lua-cjson, dhe spiffs.

Sensorët dhe kërkesat e softuerit:

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

2. DHT11

3. BMP180

4. Arduino IDE

Hapi 1: Njihni sensorët tuaj

Njihni sensorët tuaj
Njihni sensorët tuaj

BMP180:

Përshkrim:

BMP180 përbëhet nga një sensor piezo-rezistent, një konvertues analog në dixhital dhe një njësi kontrolli me E2PROM dhe një ndërfaqe serike I2C. BMP180 jep vlerën e pakompensuar të presionit dhe temperaturës. E2PROM ka ruajtur 176 bit të dhëna individuale të kalibrimit. Kjo përdoret për të kompensuar kompensimin, varësinë nga temperatura dhe parametrat e tjerë të sensorit.

  • UP = të dhënat e presionit (16 deri në 19 bit)
  • UT = të dhënat e temperaturës (16 bit)

Karakteristikat teknike:

  • Vin: 3 deri në 5VDC
  • Logjika: Në përputhje me 3 deri në 5V
  • Gama e ndjeshmërisë së presionit: 300-1100 hPa (9000m deri -500m mbi nivelin e detit)
  • Deri në 0.03hPa / rezolucion 0.25m-diapazoni operacional 40 deri +85 ° C, saktësi temperature +-2 ° C
  • Ky bord/çip përdor adresën 7-bit të I2C 0x77.

DHT11:

Përshkrim:

  • DHT11 është një sensor dixhital bazë i temperaturës dhe lagështisë me kosto të ulët.
  • Përdor një sensor lagështie kapacitiv dhe një termistor për të matur ajrin përreth, dhe nxjerr një sinjal dixhital në kunjin e të dhënave (nuk nevojiten kunja hyrëse analoge). Itsshtë mjaft e thjeshtë për t'u përdorur, por kërkon kohë të kujdesshme për të kapur të dhëna.
  • E vetmja pengesë e vërtetë e këtij sensori është se ju mund të merrni të dhëna të reja prej tij vetëm një herë në 2 sekonda, kështu që kur përdorni bibliotekën tonë, leximet e sensorëve mund të jenë të vjetra deri në 2 sekonda.

Karakteristikat teknike:

  • Fuqia 3 deri në 5V dhe I/O
  • E mirë për leximet e temperaturës 0-50 ° C accuracy saktësi ° 2 ° C
  • I mirë për leximet e lagështisë 20-80% me saktësi 5%
  • Përdorimi maksimal aktual 2.5 mA gjatë konvertimit (gjatë kërkimit të të dhënave)

Hapi 2: Lidhshmëria

Lidhshmëria
Lidhshmëria

DHT11 me Nodemcu:

Pin 1 - 3.3V

Pin 2 - D4

Pin 3 - NC

Pin 4 - Gnd

BMP180 me Nodemcu:

Vin - 3.3V

Gnd - Gnd

SCL - D6

SDA - D7

Hapi 3: Konfiguroni Blynk

Image
Image
Konfiguro Blynk
Konfiguro Blynk

Çfarë është Blynk?

Blynk është një Platformë me aplikacione iOS dhe Android për të kontrolluar Arduino, Raspberry Pi dhe të ngjashme në internet.

It'sshtë një pult dixhital ku mund të ndërtoni një ndërfaqe grafike për projektin tuaj thjesht duke zvarritur dhe lëshuar widget. Reallyshtë me të vërtetë e thjeshtë të vendosësh gjithçka dhe do të fillosh të ngatërrosh në më pak se 5 minuta. Blynk nuk është i lidhur me ndonjë dërrasë ose mburojë të veçantë. Në vend të kësaj, ai po mbështet pajisjet e zgjedhura nga ju. Pavarësisht nëse Arduino ose Raspberry Pi juaj është i lidhur me Internetin përmes Wi-Fi, Ethernet ose këtij çipi të ri ESP8266, Blynk do t'ju bëjë online dhe gati për Internetin e Gjërave tuaja.

Për më shumë informacion në konfigurimin e Blynk: Konfigurimi i detajuar i Blynk

Hapi 4: Kodi

Kodi
Kodi

// Komentet për secilën rresht jepen në skedarin.ino më poshtë

#përfshi #përcakto BLYNK_PRINT Serial #përfshi #përfshi #përfshi #përfshi #përfshi #përfshi Adafruit_BMP085 bmp; #përcakto I2C_SCL 12 #përcakto I2C_SDA 13 noton dst, bt, bp, ba; char dstmp [20], btmp [20], bprs [20], balt [20]; bool bmp085_present = e vërtetë; char auth = "Vendosni çelësin tuaj të autentifikimit nga aplikacioni Blynk këtu"; char ssid = "SSID -i juaj i WiFi"; char pass = "Fjalëkalimi juaj"; #përcakto DHTPIN 2 #përcakto DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Përcaktimi i kunjit dhe kohëmatësit dhttype BlynkTimer; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Nuk mund të gjej një sensor të vlefshëm BMP085, kontrolloni instalimet elektrike!"); ndërsa (1) {}} noton h = dht.readHumidity (); noton t = dht.readTemperatura (); if (isnan (h) || isnan (t)) {Serial.println ("Leximi nuk u lexua nga sensori DHT!"); kthim; } gama e dyfishtë = log (h / 100) + ((17.62*t) / (243.5 + t)); dp e dyfishtë = 243.5*gama / (17.62-gama); noton bp = bmp.readPressure ()/100; noton ba = bmp.readAltitude (); noton 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.filloj (); Wire.begin (I2C_SDA, I2C_SCL); vonesa (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Recommended: