Mundarija:

ESP8266 NodeMCU BME280 o'lchagichlari va diagrammasi bilan: 5 qadam
ESP8266 NodeMCU BME280 o'lchagichlari va diagrammasi bilan: 5 qadam

Video: ESP8266 NodeMCU BME280 o'lchagichlari va diagrammasi bilan: 5 qadam

Video: ESP8266 NodeMCU BME280 o'lchagichlari va diagrammasi bilan: 5 qadam
Video: Подключение GY-BME-280 3.3v к ESP8266 NodeMcu V3, сравнение с классическим барометром 2024, Noyabr
Anonim
ESP8266 NodeMCU BME280 o'lchagichlari va diagrammasi bilan
ESP8266 NodeMCU BME280 o'lchagichlari va diagrammasi bilan
ESP8266 NodeMCU BME280 o'lchagichlari va diagrammasi bilan
ESP8266 NodeMCU BME280 o'lchagichlari va diagrammasi bilan

BME280 harorat, namlik va bosim sensori bilan jihozlangan ESP8266 NodeMCU ishlab chiqish paneli uchun ajoyib o'lchagichlar va jadval. Thingspeak sizning barcha ma'lumotlaringizni bulutda saqlaydi, ularni istalgan vaqtda, ko'p yillar davomida (umid qilamanki) olish mumkin. O'lchagichlar va jadvallar "Speak" da saqlanadigan ma'lumotlardan to'ldiriladi va har 5 daqiqada avtomatik yangilanadi.

Kerakli narsalar:

ESP8266 NodeMCU rivojlanish kengashi (Banggood.com Gonkongdan 3,79 dollar)

Bosch BME280 (Banggood.com Gonkongdan 5,63 dollar)

Breadboard jumper (Banggood.com Gonkongdan 3,09 dollar)

Non paneli (Banggood.com Gonkongdan 2,28 dollar)

Quvvat manbai, agar sizda mikro USB zaryadlovchi bo'lsa, bepul

Micro USB kabeli, agar sizda mavjud bo'lsa, bepul

Arduino IDE, bepul yuklab olish

Bu erda.ino va. HTML kodli fayllarni oling

1 -qadam: Thingspeak kanallaringizni yarating va sozlang

Thingspeak kanallaringizni yarating va sozlang
Thingspeak kanallaringizni yarating va sozlang

1. Bepul Thingspeak hisob qaydnomasini va https://thingspeak.com saytida yangi kanal yarating, "ESP8266-NodeMCU-12E-BME280" kanaliga qo'ng'iroq qiling.

2. Yangi kanalda namlik bosimi deb nomlangan 3 ta maydon aniq tartibda bo'lishi kerak (Birinchi harfning katta harfiga e'tibor bering).

3. "Kanal sozlamalari" bo'limida XXXXXX yangi "kanal identifikatori" ga e'tibor bering.

4. "API kalitlari" havolasini bosing va "API yozish" va "API kalitlarini o'qish" XXXXXXXXXXXXXXX ga e'tibor bering. Bundan tashqari, uni umumiy kanal sifatida baham ko'ring.

5. Ikkinchi "Thingspeak" kanalini yarating, u "Bugun" (yarim tundan boshlab) "High Low" ma'lumotlarni saqlaydi. Buni "BME280 Daily High Low Low Data" deb nomlang.

6. Bu yangi kanalda Tmax Tmin Hmax Hmin Pmax Pmin nomli 6 ta maydon bo'lishi kerak (birinchi harfning bosh harfiga e'tibor bering).

7. "BME280 Daily High Low Low Data" "kanal identifikatori", "o'qish" va "API kalitlarini yozish" ga yuqoridagi amallardagi kabi e'tibor bering.

2 -qadam: Arduino IDE, kutubxonalarni o'rnating va BME280 -ni sozlang

Arduino IDE, kutubxonalarni o'rnating va BME280 -ni sozlang
Arduino IDE, kutubxonalarni o'rnating va BME280 -ni sozlang

8. Arduino IDE & ESP8266 yadrosini o'rnatish bo'yicha ko'rsatmalarga rioya qiling

9. Arduino IDE -ni yoqing, shunda biz kerakli to'rtta kutubxonani o'rnatamiz.

10. Sizga "Adafruit Unified Sensor Driver" kutubxonasi kerak bo'ladi, uni Arduino IDE "Kutubxona menejeri" ga o'rnating. Menyu eskizlari kutubxonani o'z ichiga oladi Kutubxonalarni boshqaring Type = "Tavsiya etilgan" Mavzu = "Sensorlar" bo'yicha qidiruvni amalga oshiring, so'ngra qidiruv maydoniga Adafruit Unified Sensor Driver so'zlarini qo'ying. Siz xohlagan odamga "Adafruit tomonidan birlashtirilgan sensorli haydovchi Adafruit" yozilgan.

11. Bundan tashqari, siz "Adafruit BME280 kutubxonasi" ni Arduino IDE -dagi "Kutubxona menejeri" ga o'rnatishni ham talab qilasiz. Menyu eskizlari kutubxonani o'z ichiga oladi Kutubxonalarni boshqaring Type = "Tavsiya etilgan" Mavzu = "Sensorlar" bo'yicha qidiruvni amalga oshiring, so'ngra qidiruv maydoniga Adafruit BME280 kutubxonasi so'zlarini qo'ying. Siz xohlagan narsada "Adafruit BME280 kutubxonasi Adafruit" deb yozilgan.

12. Sizga kerak bo'lgan boshqa kutubxona - Wire.h, uni Arduino IDE -dagi "Kutubxona menejeri" ga o'rnating. Menyu, eskiz kutubxonani o'z ichiga oladi Kutubxonalarni boshqaring Turi bo'yicha "Qatnashgan" Mavzu = "Signalni kiritish/chiqarish" bo'yicha qidiruvni o'tkazing, so'ng Wire so'zini qidirish maydoniga qo'ying. Siz xohlaganingiz "Arduino tomonidan o'rnatilgan sim" deb aytadi, ehtimol tanlovning pastki qismida.

13. Yana bir kutubxona, ESP8266WiFi, uni Arduino IDE -dagi "Kutubxona menejeri" ga o'rnating. Menyu, eskiz kutubxonani o'z ichiga oladi Kutubxonalarni boshqaring Type = "Contributed" Mavzu = "Aloqa" bo'yicha qidiruvni amalga oshiring, so'ng ESP8266wifi so'zini qidirish maydoniga qo'ying. Siz xohlagan narsada "Ivan Groxotkov tomonidan o'rnatilgan ESP8266wifi" yozilgan.

14. BME280 uchun I2C manzili Adafruit_BME280_Library jildidagi Adafruit_BME280.h faylida (#define BME280_ADDRESS 0x77 qatorini qidiring) qattiq kodlangan. Adafruit-ning BME sensorli modullari 0x77 I2C manzilidan foydalanish uchun qattiq simli. Agar BME280 tashqi SDO pimi erga ulangan bo'lsa, biroz boshqacha I2C manzili (0x76) bo'lishi mumkin. Agar siz sensorli modullardan uchinchi tomondan foydalansangiz, uning manzili Adafruit kutubxonasidagi standart qiymatga mos kelmasligi mumkin. Masalan, eBay yoki Aliexpress -da mavjud bo'lgan BME280 sensorli modullarining ko'pchiligi uchun I2C manzili 0x76 bo'lishi kerak. Agar siz Adafruit_BME280.h faylida o'rnatilgan standart manzil yordamida sensordan javob olmasangiz, uni 0x76 ga o'zgartirishingiz kerak bo'ladi.

BME280 va ESP8266 ulanish nuqtalari. ESP8266 3.3V dan BME280 Vingacha, ESP8266 GND dan BME280 GND gacha, ESP8266 D4 dan BME280 SCL gacha, ESP8266 D3 dan BME280 SDAgacha. 15. Taqdim etilgan ESP8266-NodeMCU-12E-BME280.html faylini matn tahrirlovchisida oching va "ESP8266-NodeMCU-12E-BME280" (Siz yaratgan birinchi kanal) "Kanal identifikatori" va "API kalitini o'qish" ni kiriting. key1 va chan1 o'zgaruvchilari. Key2 va chan2 uchun "BME280 Daily High Low Data" (Siz yaratgan ikkinchi kanal) uchun "API kalitini o'qing" va "Kanal identifikatori" ni kiriting. Bundan tashqari, UTC bo'yicha vaqt mintaqasini ofsetini kiriting. Men uchun -5 kabi. Barcha qiymatlar "XXXXX" bitta tirnoq ichida bo'lishi kerak. Saqlash va matn muharriridan chiqish.

Kompyuteringizga USB kabeli bilan ESP8266 -ni ulang, so'ng USB port sifatida ketma -ket portni tanlang.

Linux foydalanuvchilari /dev /ttyUSB0 bilan "sudo chown yourusername /dev /ttyUSB0" yoki siz o'rnatishda port sifatida tanlaganingizdek, USB portining egalik huquqini o'zgartirishi mumkin.

3 -qadam: ESP8266 -ni Arduino IDE bilan dasturlash

ESP8266 ni Arduino IDE bilan dasturlash
ESP8266 ni Arduino IDE bilan dasturlash

16. Keyin biz ESP8266 ni dasturlashtiramiz. ESP8266 va kompyuter o'rtasida USB kabelini ulang.

Taqdim etilgan New_BME_Sensor.ino faylini Arduino IDE -ga yuklang. Sizning BME280 sensori ESP8266 dagi D3 (SDA) va D4 (SCL) ga ulangan bo'lishi kerak. Eskizning to'g'ri qismiga "ESP8266-NodeMCU-12E-BME280" (Siz yaratgan birinchi kanal) "Yozish kaliti" "Simsiz SSID" va "Parol" ni kiriting. Keyin menyuda "Sketch" va "Yuklash" bandini bosing. ESP8266 -ga eskizni yuklaganingizdan so'ng (Progress 100%ga etadi) siz ketma -ket monitorni ochishingiz mumkin (yuqori o'ngdagi belgi kattalashtiruvchi oynaga o'xshaydi) va sizning ma'lumotlaringiz 5 daqiqadan so'ng, har 5 daqiqada chop etilishini ko'rishingiz mumkin. Ma'lumotlar 5 daqiqali intervalda "tezlik" ga yuboriladi, shuning uchun sizda grafikli ma'lumotlarga ega bo'lishingizga biroz vaqt ketadi, lekin 5 daqiqadan so'ng o'lchov ko'rsatkichlari bo'lishi kerak.

Seriyali monitorda BME280 -dan to'g'ri o'qishlar olinganligiga ishonch hosil qiling.

Birinchi o'lchov noto'g'ri nan bo'lishi mumkin.

Keyingi o'qishga bir necha daqiqa kutib turing va o'qishlar yaxshi ko'rinishini tekshiring.

4 -qadam: Ma'lumotlarni to'g'rilash uchun Thingspeak -ga qayting

Ma'lumotlarni to'g'rilash uchun Thingspeak -ga qayting
Ma'lumotlarni to'g'rilash uchun Thingspeak -ga qayting

17. Endi, ma'lumotlar asta -sekin yuklanayotganda, yuklanayotgan narsalardan qo'shimcha ma'lumotlarni olish uchun biroz sozlashni amalga oshiring. Thingspeak veb -saytiga qayting va "BME280 Daily High Low Low" kanal sahifasida (siz yaratgan ikkinchi kanal) yashil "MATLAB Analizi" tugmasini bosing. "Maxsus (boshlang'ich kodi yo'q)" shablonini tanlang.

18. MATLAB tahlilini nomlang "Yarim tundan boshlab minimal maxni hisoblang".

19. MATLAB Analysis.txt kodini berilgan maydonga nusxalash. "ESP8266-NodeMCU-12E-BME280" (siz yaratgan birinchi kanal) uchun "kanal identifikatori" ni "readChannelID" ga kiriting. "BME280 Daily High Low Low Data" (Siz yaratgan ikkinchi kanal) kiriting "Kanal identifikatori" va "Yozish kaliti" ni WriteNewChannelID va WriteAPIKeyga yozing. Bilaman, bu chalkash tuyuladi (qayta o'qing). Saqlash -ni bosing va ishga tushiring. Agar siz buni to'g'ri qilgan bo'lsangiz va o'qilgan kanal hammaga ochiq bo'lsa, siz hech qanday xato ko'rmaysiz va u qiymatlarni muvaffaqiyatli chop etadi. E'tibor bering, agar kanalga hali hech qanday ma'lumot yuklanmagan bo'lsa, siz xato ko'rishingiz mumkin. Xatoga qaramay, davom eting. Agar xohlasangiz, qaytadan tashrif buyurishingiz mumkin Ma'lumotlar yuklanganidan so'ng uning ishlashiga ishonch hosil qilish uchun Saqlash va ishga tushirish -ni bosing.

20. Keyin, biz har 5 daqiqada bu kodni o'chirish uchun "Vaqt nazorati" ni yaratishimiz kerak va bizning ma'lumotlar "BME280 Daily High Low Data" kanaliga yoziladi (siz yaratgan ikkinchi kanal). "BME280 Daily High Low Low Data" ning asosiy sahifasidan (siz yaratgan ikkinchi kanal) yuqori qismidagi Ilovalarni tanlang. Harakatlar ostida "TimeControl" ni, so'ngra "New TimeControl" yashil tugmachasini tanlang. Unga "ESP8266 past haroratni yuborish" deb nom bering. Agar kerak bo'lsa, vaqt mintaqangizni tanlang va "Chastotalar" bo'limida "Takroriy" ni tanlang. Takrorlash ostida Daqiqani tanlang. Har 5 daqiqada ishlashga sozlang. Harakat MATLAB tahlili bo'lishi kerak va "kodni bajarish" - "yarim tundan beri minimal maksimalni hisoblash". Vaqtni tejashni tejang.

5 -qadam: Berilgan HTML faylini tahrirlang

Taqdim etilgan HTML faylini tahrirlang
Taqdim etilgan HTML faylini tahrirlang

HTML -fayllarni tahrirlang va "******** Meni 8dan 1 -ni o'zgartiring *********" degan izohlarni qidiring. Ularni xohlaganingizga o'zgartiring.

Eslatmalar:

Matn maydonlarining ba'zilari va haftalik jadval 24 soat va hafta bo'limi va jadvaliga to'liq kun va to'liq ma'lumot bo'lmaguncha to'g'ri to'ldirilmaydi. Ma'lumotlar to'plamiga ega bo'lganingizda, sichqonchaning g'ildiragi yordamida jadvallarni kattalashtirishingiz mumkin (Sozlamalarni tiklash uchun o'ng tugmasini bosing). Shuningdek, siz boshqa kanaldan boshqa sensordan to'rtinchi o'lchagichni (ekran tasvirlarida ko'rinib turganidek) olishingiz mumkin, lekin men tegishli qismlarni ajratib qo'ydim. Agar o'zingizni aqlli his qilsangiz, uni bog'lab qo'ying. Vaqtni bilishda ham ba'zi muammolar mavjud. Sizda eng dolzarb ma'lumotlar bo'lmaydi, lekin u har doim 5 daqiqadan kam bo'lishi kerak. Bu vaqtni boshqarish o'chirilganda, ma'lumotlar ESP8266 -dan yuborilganida va veb -sahifani yuklaganingizda / yangilaganingizda sodir bo'ladi.

Taqdim etilgan ESP8266-NodeMCU-12E-BME280.html faylini veb-brauzeringizda oching, shunda siz o'lchagichlar va jadval to'ldirilganligini ko'rasiz.

Bu erda.ino va. HTML kodli fayllarni oling

Tavsiya: