Talaan ng mga Nilalaman:

DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server: 4 na Hakbang
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server: 4 na Hakbang

Video: DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server: 4 na Hakbang

Video: DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server: 4 na Hakbang
Video: Arduino Nano, BME280 and SSD1306 OLED Weather Station 2024, Nobyembre
Anonim
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server
DIY Weather Station Gamit ang DHT11, BMP180, Nodemcu Sa Arduino IDE Higit sa Blynk Server

Github: DIY_Weather_Station

Hackster.io: Weather Station

Nakita mo sana ang Application ng Panahon di ba? Tulad ng, kapag binuksan mo ito nalalaman mo ang mga kondisyon ng panahon tulad ng Temperatura, Humidity atbp. Ang mga pagbabasa na iyon ay ang average na halaga ng isang malaking lugar, kaya kung nais mong malaman ang eksaktong mga parameter na nauugnay sa iyong silid, hindi mo lang magagawa umasa sa Application ng Panahon. Para sa hangaring ito ay hinahayaan na magpatuloy sa paggawa ng Weather Station na mabisa ang gastos, at maaasahan din at binibigyan kami ng tumpak na halaga.

Ang isang istasyon ng panahon ay isang pasilidad na may mga instrumento at kagamitan para sa pagsukat ng mga kondisyon sa atmospera upang magbigay ng impormasyon para sa mga pagtataya ng panahon at pag-aralan ang panahon at klima. Nangangailangan ito ng kaunting pagsisikap na mag-plug at mag-code. Kaya't magsimula tayo.

Tungkol sa Nodemcu:

Ang NodeMCU ay isang bukas na mapagkukunan ng IoT platform.

May kasama itong firmware na tumatakbo sa ESP8266 Wi-Fi SoC mula sa Espressif Systems, at hardware na batay sa module na ESP-12.

Ang term na "NodeMCU" bilang default ay tumutukoy sa firmware kaysa sa mga dev kit. Gumagamit ang firmware ng wika ng scripting ng Lua. Batay ito sa eLua na proyekto, at itinayo sa Espressif Non-OS SDK para sa ESP8266. Gumagamit ito ng maraming mga proyektong bukas na mapagkukunan, tulad ng lua-cjson, at mga spiff.

Kinakailangan ng mga sensor at Software:

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

2. DHT11

3. BMP180

4. Arduino IDE

Hakbang 1: Alamin ang Iyong Mga Sensor

Alamin ang Iyong Mga Sensor
Alamin ang Iyong Mga Sensor

BMP180:

Paglalarawan:

Ang BMP180 ay binubuo ng isang piezo-resistive sensor, isang analog sa digital converter at isang control unit na may E2PROM at isang serial I2C interface. Naghahatid ang BMP180 ng hindi nabayarang halaga ng presyon at temperatura. Ang E2PROM ay nakaimbak ng 176 bit ng indibidwal na data ng pagkakalibrate. Ginagamit ito upang mabayaran ang offset, pagpapakandili ng temperatura at iba pang mga parameter ng sensor.

  • UP = presyon ng data (16 hanggang 19 bit)
  • UT = data ng temperatura (16 bit)

Teknikal na Mga Detalye:

  • Vin: 3 hanggang 5VDC
  • Logic: 3 hanggang 5V na sumusunod
  • Saklaw ng sensing ng presyon: 300-1100 hPa (9000m hanggang -500m sa itaas ng antas ng dagat)
  • Hanggang sa 0.03hPa / 0.25m resolusyon-40 hanggang + 85 ° C saklaw ng pagpapatakbo, + -2 ° C temperatura kawastuhan
  • Ang board / chip na ito ay gumagamit ng I2C 7-bit address na 0x77.

DHT11:

Paglalarawan:

  • Ang DHT11 ay isang pangunahing, sobrang murang digital na temperatura ng digital at sensor ng halumigmig.
  • Gumagamit ito ng capacitive sensor ng kahalumigmigan at isang thermistor upang masukat ang nakapalibot na hangin, at dumura ng isang digital signal sa data pin (hindi kinakailangan ng mga analog input pin). Medyo simple nitong gamitin, ngunit nangangailangan ng maingat na tiyempo upang kumuha ng data.
  • Ang tanging tunay na downside ng sensor na ito ay makakakuha ka lamang ng bagong data mula dito isang beses bawat 2 segundo, kaya kapag ginagamit ang aming library, ang mga pagbabasa ng sensor ay maaaring hanggang sa 2 segundo.

Teknikal na Mga Detalye:

  • 3 hanggang 5V na kapangyarihan at I / O
  • Mabuti para sa 0-50 ° C na pagbabasa ng temperatura ± 2 ° C kawastuhan
  • Mabuti para sa 20-80% na pagbabasa ng kahalumigmigan na may 5% kawastuhan
  • 2.5 mA max kasalukuyang kasalukuyang paggamit sa panahon ng pag-convert (habang humihiling ng data)

Hakbang 2: Pagkakonekta

Pagkakakonekta
Pagkakakonekta

DHT11 kasama ang Nodemcu:

Pin 1 - 3.3V

Pin 2 - D4

Pin 3 - NC

Pin 4 - Gnd

BMP180 kasama ang Nodemcu:

Vin - 3.3V

Gnd - Gnd

SCL - D6

SDA - D7

Hakbang 3: I-setup ang Blynk

Image
Image
Setup Blynk
Setup Blynk

Ano ang Blynk?

Ang Blynk ay isang Platform na may iOS at Android apps upang makontrol ang Arduino, Raspberry Pi at mga gusto sa Internet.

Ito ay isang digital dashboard kung saan maaari kang bumuo ng isang graphic interface para sa iyong proyekto sa pamamagitan lamang ng pag-drag at pag-drop ng mga widget. Talagang simple upang i-set up ang lahat at magsisimula kang mag-tinkering nang mas mababa sa 5 minuto. Ang Blynk ay hindi nakatali sa ilang tukoy na board o kalasag. Sa halip, sinusuportahan nito ang hardware na iyong pinili. Kung ang iyong Arduino o Raspberry Pi ay naka-link sa Internet sa pamamagitan ng Wi-Fi, Ethernet o ang bagong chip na ito ng ESP8266, gagawin ka ni Blynk na online at handa na para sa Internet Of Your Things.

Para sa karagdagang impormasyon sa pag-set up ng Blynk: Detalyadong Blynk Setup

Hakbang 4: Code

Code
Code

// Mga komento para sa bawat linya ay ibinibigay sa.ino file sa ibaba

#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 = totoo; char auth = "Ilagay ang iyong Authication key mula sa Blynk app dito"; char ssid = "Ang iyong WiFi SSID"; char pass = "Iyong Password"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Pagtukoy sa pin at ang dhttype BlynkTimer timer; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Hindi makahanap ng wastong sensor ng BMP085, suriin ang mga kable!"); habang (1) {}} lumutang h = dht.readHumidity (); float t = dht.readTemperature (); kung (isnan (h) || isnan (t)) {Serial.println ("Nabigong basahin mula sa sensor ng DHT!"); bumalik; } dobleng gamma = log (h / 100) + ((17.62 * t) / (243.5 + t)); dobleng dp = 243.5 * gamma / (17.62-gamma); 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); } void setup () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); antala (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Inirerekumendang: