Мазмұны:

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

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

Бейне: DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы: 4 қадам
Бейне: Использование карты Micro SD и регистрация данных с Arduino | Пошаговый курс Arduino, урок 106 2024, Қараша
Anonim
DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы
DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы
DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы
DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы
DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы
DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы
DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы
DHT11, BMP180, Nodemcu көмегімен Blynk серверінде Arduino IDE қолданатын DIY ауа райы станциясы

Github: DIY_Weather_Station

Hackster.io: метеостанция

Сіз ауа райы туралы қосымшаны көрер едіңіз бе? Мысалы, сіз оны ашқан кезде сіз температура, ылғалдылық сияқты ауа райы жағдайын білесіз. Бұл көрсеткіштер үлкен аумақтың орташа мәні болып табылады, сондықтан сіз өзіңіздің бөлмеңізге қатысты нақты параметрлерді білгіңіз келсе, Ауа райы қосымшасына сүйеніңіз. Ол үшін метеостанция жасауға көшейік, ол үнемді, сонымен қатар сенімді және бізге дәл баға береді.

Метеостанция - бұл ауа райы болжамын алуға, ауа райы мен климатты зерттеуге арналған атмосфералық жағдайды өлшеуге арналған аспаптар мен қондырғылары бар қондырғы. Қосу және кодтау үшін аз күш қажет. Ендеше бастайық.

Нодемку туралы:

NodeMCU - бұл ашық IoT платформасы.

Ол Espressif Systems 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:

Сипаттама:

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

  • UP = қысым туралы деректер (16-19 бит)
  • UT = температура деректері (16 биттік)

Техникалық ерекшеліктері:

  • Вин: 3 -тен 5 вольтке дейін
  • Логика: 3-5 В сәйкес
  • Қысымды сезу диапазоны: 300-1100 гПа (теңіз деңгейінен 9000м -500м биіктікте)
  • 0,03гПа / 0,25м ажыратымдылыққа дейін-40-тан +85 ° C дейін жұмыс диапазоны, +-2 ° С температураның дәлдігі
  • Бұл тақтада/чипте I2C 7-биттік 0x77 адресі қолданылады.

DHT11:

Сипаттама:

  • DHT11-бұл цифрлық температура мен ылғалдылықтың қарапайым, өте арзан бағасы.
  • Ол сыйымдылықтағы ылғалдылық сенсоры мен термисторды қолданып, айналадағы ауаны өлшейді және деректер түйреуішіне цифрлық сигналды шығарады (аналогтық кіріс түйреуіштері қажет емес). Оны пайдалану өте қарапайым, бірақ деректерді алу үшін мұқият уақытты қажет етеді.
  • Бұл сенсордың бірден -бір кемшілігі - сіз жаңа деректерді әр 2 секунд сайын ғана ала аласыз, сондықтан біздің кітапхананы пайдаланған кезде сенсордың көрсеткіштері 2 секундқа дейін болуы мүмкін.

Техникалық ерекшеліктері:

  • 3 -тен 5В -қа дейінгі қуат және енгізу -шығару
  • 0-50 ° C температура көрсеткіштері үшін ± 2 ° C дәлдік үшін жақсы
  • 5% дәлдікпен 20-80% ылғалдылық көрсеткіштері үшін жақсы
  • Конверсия кезінде 2,5 мА токты максималды пайдалану (деректерді сұрау кезінде)

2 -қадам: байланыс

Байланыс
Байланыс

Nodemcu бар DHT11:

Ілмекші - 3.3В

2 -түйреуіш - D4

3 -түйреуіш - NC

4 түйреуіш - Gnd

Nodemcu бар BMP180:

Вин - 3.3В

Gnd - Gnd

SCL - D6

SDA - D7

3 -қадам: Blynk орнатыңыз

Image
Image
Blynk орнату
Blynk орнату

Блинк дегеніміз не?

Blynk - бұл Arduino, Raspberry Pi және интернеттегі ұнатуларды басқаруға арналған iOS және Android қосымшалары бар платформа.

Бұл виджеттерді апарып тастау арқылы жобаңызға графикалық интерфейс құруға болатын сандық бақылау тақтасы. Барлығын орнату өте қарапайым, және сіз 5 минуттан аз уақыт ішінде ойнай бастайсыз. Блинк белгілі бір тақтаға немесе қалқанға байланған жоқ. Оның орнына, бұл сіз таңдаған аппараттық құрал. Сіздің 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 = ақиқат; char auth = «Blynk қосымшасынан аутентификация кілтін осында қойыңыз»; char ssid = «Сіздің WiFi SSID»; char pass = «Сіздің құпия сөзіңіз»; #DHTPIN 2 анықтау #DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // PIN және 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 сенсорынан оқу мүмкін болмады!»); қайтару; } қос гамма = журнал (с / 100) + ((17,62*т) / (243,5 + т)); қос 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 (); }

Ұсынылған: