Мазмуну:

DHT11, BMP180, Nodemcu колдонуп DIY аба ырайы станциясы Arduino IDE менен Blynk серверинде: 4 кадам
DHT11, BMP180, Nodemcu колдонуп DIY аба ырайы станциясы Arduino IDE менен Blynk серверинде: 4 кадам

Video: DHT11, BMP180, Nodemcu колдонуп DIY аба ырайы станциясы Arduino IDE менен Blynk серверинде: 4 кадам

Video: DHT11, BMP180, Nodemcu колдонуп DIY аба ырайы станциясы Arduino IDE менен Blynk серверинде: 4 кадам
Video: IoT based ESP32 Wi-Fi Weather Station using DHT11 and BMP180 Sensor 2024, Ноябрь
Anonim
DHT11, BMP180, Nodemcu колдонуп DIY аба ырайы станциясы Blynk серверинде Arduino IDE менен
DHT11, BMP180, Nodemcu колдонуп DIY аба ырайы станциясы Blynk серверинде Arduino IDE менен
DHT11, BMP180, Nodemcu менен Blynk Serverде Arduino IDE колдонуп DIY аба ырайы станциясы
DHT11, BMP180, Nodemcu менен Blynk Serverде Arduino IDE колдонуп DIY аба ырайы станциясы
DHT11, BMP180, Nodemcu менен Blynk Serverде Arduino IDE колдонуп DIY аба ырайы станциясы
DHT11, BMP180, Nodemcu менен Blynk Serverде Arduino IDE колдонуп DIY аба ырайы станциясы
DHT11, BMP180, Nodemcu менен Blynk Serverде Arduino IDE колдонуп DIY аба ырайы станциясы
DHT11, BMP180, Nodemcu менен Blynk Serverде Arduino IDE колдонуп DIY аба ырайы станциясы

Github: DIY_Weather_Station

Hackster.io: Аба ырайы бекети

Аба ырайы колдонмосун көрмөк белеңиз? Мисалы, сиз аны ачканыңызда, Температура, Нымдуулук сыяктуу аба ырайынын шарттары менен таанышасыз. Бул көрсөткүчтөр чоң аймактын орточо мааниси, андыктан сиз бөлмөңүзгө тиешелүү так параметрлерди билгиңиз келсе, Аба ырайы колдонмосуна таяныңыз. Бул үчүн аба ырайынын станциясына өтүүгө өтөлү, ал үнөмдүү, ошондой эле ишенимдүү жана бизге так бааны берет.

Метеостанция - бул аба ырайынын божомолун берүү жана аба ырайы менен климатты изилдөө үчүн атмосфералык шарттарды өлчөөчү приборлор жана жабдуулар бар объект. Кошуу жана коддоо үчүн бир аз аракет талап кылынат. Андыктан баштайлы.

Nodemcu жөнүндө:

NodeMCU - ачык булак IoT платформасы.

Бул Espressif системаларынын ESP8266 Wi-Fi SoC системасында иштеген программалык камсыздоону жана ESP-12 модулуна негизделген жабдыктарды камтыйт.

Демейки боюнча "NodeMCU" термини комплектке эмес, түзмөктөргө тиешелүү. Камтылган программа Lua скрипт тилин колдонот. Бул eLua долбооруна негизделген жана ESP8266 үчүн Espressif OS эмес SDKге курулган. Ал lua-cjson жана spiffs сыяктуу көптөгөн ачык булак долбоорлорду колдонот.

Сенсорлор жана Программалык камсыздоо талаптары:

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

2. DHT11

3. BMP180

4. Arduino IDE

1 -кадам: Сенсорлоруңузду билиңиз

Сенсорлоруңузду билиңиз
Сенсорлоруңузду билиңиз

BMP180:

Description:

BMP180 пьезо-резистивдүү сенсордон, аналогдук санариптик которгучтан жана E2PROM менен башкаруу бирдигинен жана сериялык I2C интерфейсинен турат. BMP180 басымдын жана температуранын компенсацияланбаган баасын берет. E2PROM жеке калибрлөө маалыматынын 176 битин сактады. Бул ордун толтуруу үчүн колдонулат, температурага көз карандылык жана сенсордун башка параметрлери.

  • UP = басым маалыматы (16дан 19 битке чейин)
  • UT = температура маалыматы (16 бит)

Техникалык мүнөздөмөлөр:

  • Vin: 3төн 5VDCге чейин
  • Логика: 3төн 5Вга чейин
  • Кысым сезүү диапазону: 300-1100 гПа (деңиз деңгээлинен 9000мден -500мге чейин)
  • 0.03hPa чейин / 0.25m токтому -40 үчүн +85 ° C иш диапазону, +-2 ° C температуранын тактыгы
  • Бул такта/чип I2C 7-бит дарегин 0x77 колдонот.

DHT11:

Description:

  • DHT11 негизги, өтө арзан баалуу санарип температура жана нымдуулук сенсору.
  • Бул сыйымдуу нымдуулук сенсорун жана термисторду колдонуп, айланадагы абаны өлчөйт жана маалымат төөнөгүчүнө санарип сигналын чачат (аналогдук кирүү казыктары кереги жок). Аны колдонуу абдан жөнөкөй, бирок маалыматтарды кармоо үчүн кылдат убакытты талап кылат.
  • Бул сенсордун бирден -бир кемчилиги - бул сизден жаңы маалыматтарды ар бир 2 секундда гана ала аласыз, андыктан биздин китепкананы колдонуп жатканда сенсордун көрсөткүчтөрү 2 секундга чейин жетиши мүмкүн.

Техникалык мүнөздөмөлөр:

  • 3 5V кубаттуулугу жана I/O
  • 0-50 ° C температура көрсөткүчтөрү үчүн ± 2 ° C тактык үчүн жакшы
  • 5% тактык менен 20-80% нымдуулук көрсөткүчтөрү үчүн жакшы
  • Которуу учурунда 2,5 мА максималдуу учурдагы колдонуу (маалыматтарды сурап жатканда)

2 -кадам: Байланыш

Байланыш
Байланыш

DHT11 Nodemcu менен:

Pin 1 - 3.3V

Pin 2 - D4

Pin 3 - NC

Pin 4 - Gnd

Nodemcu менен BMP180:

Vin - 3.3V

Гнд - Гнд

SCL - D6

SDA - D7

3 -кадам: Blynkти орнотуу

Image
Image
Blynkти орнотуу
Blynkти орнотуу

Blynk деген эмне?

Blynk - бул Arduino, Raspberry Pi жана интернеттеги жактырууларды көзөмөлдөө үчүн iOS жана Android колдонмолору бар платформа.

Бул виджеттерди сүйрөө жана таштоо аркылуу долбооруңуздун графикалык интерфейсин түзө турган санариптик такталар. Баарын жөндөө абдан жөнөкөй жана сиз 5 мүнөттөн аз убакыттан кийин ойлонуп баштайсыз. Blynk кандайдыр бир тактайга же калканга байланган эмес. Анын ордуна, бул сиз тандаган жабдыктарды колдойт. Сиздин Arduino же Raspberry Pi Интернетке Wi-Fi, Ethernet же бул жаңы ESP8266 чипи аркылуу туташканбы, Blynk сизди онлайнга жана нерселердин интернетине даяр кылат.

Blynkти орнотууда көбүрөөк маалымат алуу үчүн: Толук Blynk Орнотуусу

4 -кадам: Код

Code
Code

// Ар бир сап үчүн комментарийлер төмөнкү.ino файлында берилген

#кошуу #аныктоо BLYNK_PRINT Сериал #кошуу #кошуу #кошуу #кошуу #кошуу Adafruit_BMP085 bmp; #аныктоо I2C_SCL 12 #аныктоо I2C_SDA 13 float dst, bt, bp, ba; char dstmp [20], btmp [20], bprs [20], balt [20]; bool bmp085_present = true; char auth = "Blynk колдонмосунан аутентификация ачкычыңызды бул жерге коюңуз"; char ssid = "Сиздин WiFi SSID"; char pass = "Сиздин сырсөзүңүз"; #аныктоо DHTPIN 2 #аныктоо DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // пин жана dhttype BlynkTimer таймерин аныктоо; void sendSensor () {if (! bmp.begin ()) {Serial.println ("Жарактуу BMP085 сенсору табылган жок, зымдарды текшериңиз!"); while (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("DHT сенсорунан окулбай калды!"); кайтуу; } кош гамма = журнал (h / 100) + ((17.62*t) / (243.5 + t)); кош dp = 243.5*гамма / (17.62-гамма); 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); кечигүү (10); timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Сунушталууда: