Мазмуну:
Video: DHT11, BMP180, Nodemcu колдонуп DIY аба ырайы станциясы Arduino IDE менен Blynk серверинде: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
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ти орнотуу
Blynk деген эмне?
Blynk - бул Arduino, Raspberry Pi жана интернеттеги жактырууларды көзөмөлдөө үчүн iOS жана Android колдонмолору бар платформа.
Бул виджеттерди сүйрөө жана таштоо аркылуу долбооруңуздун графикалык интерфейсин түзө турган санариптик такталар. Баарын жөндөө абдан жөнөкөй жана сиз 5 мүнөттөн аз убакыттан кийин ойлонуп баштайсыз. Blynk кандайдыр бир тактайга же калканга байланган эмес. Анын ордуна, бул сиз тандаган жабдыктарды колдойт. Сиздин Arduino же Raspberry Pi Интернетке Wi-Fi, Ethernet же бул жаңы ESP8266 чипи аркылуу туташканбы, Blynk сизди онлайнга жана нерселердин интернетине даяр кылат.
Blynkти орнотууда көбүрөөк маалымат алуу үчүн: Толук Blynk Орнотуусу
4 -кадам: Код
// Ар бир сап үчүн комментарийлер төмөнкү.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 (); }
Сунушталууда:
Кесиптик аба ырайы станциясы ESP8266 жана ESP32 DIY колдонуп: 9 кадам (сүрөттөр менен)
ESP8266 жана ESP32 DIY колдонгон профессионалдуу аба ырайы станциясы: LineaMeteoStazione - бул Sensirionдун профессионалдык сенсорлору, ошондой эле кээ бир Davis Instrument компоненттери (Rain Gauge, Anemometer) менен байланышта боло турган толук аба ырайы станциясы
Ардуино жана BME280ди колдонуп бөлмө аба ырайы станциясы: 4 кадам
Ардуино жана BME280ди колдонгон бөлмө аба ырайы станциясы: Буга чейин мен жергиликтүү аймактын температурасы менен нымдуулугун көрсөтүүчү жөнөкөй аба ырайы станциясын бөлүшкөм. Мунун көйгөйү жаңыртууга убакыт керек болчу жана маалыматтар так эмес болчу. Бул окуу куралында биз ички аба ырайынын мониторун жасайбыз
Аба ырайы станциясы Wemos D1 Mini, BME280 жана Sensate колдонуп: 6 кадам
Аба ырайы станциясы Wemos D1 Mini, BME280 жана Sensate колдонуп: Мурунку билдирүүлөрдө мен метеостанцияны куруунун ар кандай ыкмаларын бөлүшкөм. Эгерде сиз бул жерде текшере элек болсоңуз, анда шилтеме бар. Бул көрсөтмөдө мен Wemos жана IsoT платформасы аркылуу Sensate деп аталган жөнөкөй Аба ырайы станциясын кантип курууну көрсөтөм
Акыркы 1-2 күндүн ичинде трендди көрүү үчүн Arduino, BME280 жана дисплей менен аба ырайы станциясы: 3 кадам (сүрөттөр менен)
Акыркы 1-2 күндүн ичинде трендди көрүү үчүн Arduino, BME280 жана дисплей менен метеорологиялык станция: Саламатсызбы! Алар учурдагы абанын басымын, температурасын жана нымдуулугун көрсөтөт. Аларга акыркы 1-2 күндүн ичинде курстун презентациясы жетишпеди. Бул процесске ээ болмок
Аба ырайы шамы - Аба ырайы жана температура бир караганда: 8 кадам
Аба ырайы шамы - Аба ырайы жана Температура Бир Караганда: Бул сыйкырдуу шамды колдонуп, сиз учурдагы температураны жана шарттарды дароо сыртта айта аласыз