Mundarija:

BME280 sensori bilan ESP32 WiFi ob -havo stantsiyasi: 7 qadam (rasmlar bilan)
BME280 sensori bilan ESP32 WiFi ob -havo stantsiyasi: 7 qadam (rasmlar bilan)

Video: BME280 sensori bilan ESP32 WiFi ob -havo stantsiyasi: 7 qadam (rasmlar bilan)

Video: BME280 sensori bilan ESP32 WiFi ob -havo stantsiyasi: 7 qadam (rasmlar bilan)
Video: Lesson 37: Using BME280 Humidity, Barometric Pressure and Temperature Sensor 2024, Iyul
Anonim
Image
Image
BME280 sensorli ESP32 WiFi ob -havo stantsiyasi
BME280 sensorli ESP32 WiFi ob -havo stantsiyasi
BME280 sensori bilan ESP32 WiFi ob -havo stantsiyasi
BME280 sensori bilan ESP32 WiFi ob -havo stantsiyasi

Aziz do'stlar, yana bir darsga xush kelibsiz! Ushbu qo'llanmada biz Wi -Fi bilan ishlaydigan ob -havo stantsiyalari loyihasini qurmoqchimiz! Biz yangi, ta'sirchan ESP32 chipini Nextion displeyi bilan birinchi marta ishlatmoqchimiz.

Ushbu videoda biz buni qilamiz. Bu men bilgan ob -havo stantsiyasining yana bir loyihasi, lekin bu safar biz yangi ESP32 chipidan foydalanamiz! Biz harorat, namlik va barometrik bosimni o'lchaydigan yangi BME280 sensoridan ham foydalanamiz. Loyihani ishga tushirganimizda, u Wi -Fi tarmog'iga ulanadi va Openweathermap veb -saytidan mening ob -havo ma'lumotimni oladi. Keyin u 3,2 dyuymli Nextion sensorli displeyidagi prognozni va sensordan o'qishni ko'rsatadi! O'qishlar har ikki soniyada yangilanadi va har soatda ob -havo ma'lumoti! Ko'rib turganingizdek, ushbu loyihada biz bugungi kunda ishlab chiqaruvchilar uchun mavjud bo'lgan eng yangi texnologiyalardan foydalanamiz! Agar siz DIY faxriysi bo'lsangiz, bu loyihani besh daqiqada qurishingiz mumkin.

Agar siz yangi boshlovchi bo'lsangiz, ushbu loyihani amalga oshirishdan oldin bir nechta videolarni ko'rishingiz kerak. Siz ushbu videoga havolalarni ushbu yo'riqnomada topishingiz mumkin, xavotir olmang.

Boshlaylik!

1 -qadam: Barcha qismlarni oling

Barcha qismlarni oling
Barcha qismlarni oling

Ushbu loyihani yaratish uchun bizga quyidagi qismlar kerak bo'ladi:

  • ESP32 taxtasi ▶
  • BME280 I2C sensori ▶
  • 3.2 dyuymli displey ▶
  • Kichik stol paneli ▶
  • Ba'zi simlar ▶

Loyihaning qiymati taxminan 30 dollar.

ESP32 o'rniga biz arzonroq ESP8266 chipidan foydalanishimiz mumkin edi, lekin men u bilan tajriba orttirish uchun ESP32 dan foydalanishga qaror qildim va nima ishlashini va nima bo'lmasligini bilib oldim.

2 -qadam: ESP32

Image
Image
ESP32
ESP32

Bu men yangi ESP32 chipi bilan qurgan birinchi loyiham.

Agar siz u bilan tanish bo'lmasangiz, ESP32 chipi biz ilgari ko'p marta ishlatgan mashhur ESP8266 chipining vorisidir. ESP32 - bu hayvon! U 160 MGts chastotada ishlaydigan ikkita 32 yadroli yadro, katta hajmli xotira, WiFi, Bluetooth va 7 dollar atrofida boshqa ko'plab xususiyatlarni taklif etadi! Ajoyib narsalar!

Iltimos, men ushbu taxtaga tayyorlagan batafsil sharhimni tomosha qiling. Men ushbu ko'rsatmaga videoni ilova qildim. Bu nima uchun bu chip bizning narsalarimizni abadiy o'zgartirishini tushunishga yordam beradi!

3 -qadam: Nextion displeyi

Image
Image
Sensor BME280
Sensor BME280

Bundan tashqari, bu Nextion sensorli displey bilan qurgan birinchi loyiham.

Nextion displeylari - bu yangi turdagi displeylar. Ularning orqa tomonida o'zlarining ARM protsessorlari bor, ular displeyni boshqarish va foydalanuvchi interfeysini yaratish uchun javobgardir. Shunday qilib, biz ularni har qanday mikrokontroller bilan ishlatishimiz va ajoyib natijalarga erishishimiz mumkin.

Men ushbu Nextion displeyi haqida batafsil ko'rsatma tayyorladim, ularda ular qanday ishlashi, ulardan qanday foydalanish va kamchiliklari haqida batafsil ma'lumot berilgan. Siz bu yerni bosish orqali o'qishingiz mumkin:

4 -qadam: BME280 sensori

Sensor BME280
Sensor BME280

BME280 Bosch yangi ajoyib sensorida.

Hozirgacha men harorat va barometrik bosimni o'lchaydigan BMP180 sensoridan foydalanardim. BME280 sensori harorat, namlik va barometrik bosimni o'lchashi mumkin! Bu qanday zo'r! To'liq ob -havo stantsiyasini qurish uchun bizga bitta sensor kerak!

Bunga qo'shimcha ravishda, sensorning o'lchamlari juda kichik va ulardan foydalanish juda oson. Bugun biz foydalanmoqchi bo'lgan modul I2C interfeysidan foydalanadi, shuning uchun Arduino bilan aloqani juda osonlashtiradi. Ishlash uchun biz faqat quvvat va yana ikkita simni ulashimiz kerak.

Bu sensor uchun ko'plab kutubxonalar ishlab chiqilgan, shuning uchun biz uni loyihalarimizda juda oson ishlata olamiz! Sensorning narxi taxminan 5 dollar. Siz bu yerdan olishingiz mumkin ▶

QAYD: Bizga BME280 sensori kerak. Namlikni o'lchashni ta'minlamaydigan BMP280 sensori ham mavjud. Sizga kerak bo'lgan sensorni buyurtma qilishda ehtiyot bo'ling.

5 -qadam: qismlarni ulash

Qismlarni ulash
Qismlarni ulash
Qismlarni ulash
Qismlarni ulash
Qismlarni ulash
Qismlarni ulash

Sxemadan ko'rinib turibdiki, qismlarning ulanishi oddiy.

BME280 sensori I2C interfeysidan foydalanganligi uchun biz ESP32 bilan aloqa qilish uchun faqat ikkita simni ulashimiz kerak. Sensorni 26 va 27 -pinlarga uladim. Nazariy jihatdan, ESP32 kartasining har bir raqamli pinini I2C tashqi qurilmalari bilan ishlatish mumkin. Amalda, men bildimki, ba'zi pinlar ishlamaydi, chunki ular boshqa maqsadlar uchun ajratilgan. 26 va 27 -pinlar juda yaxshi ishlaydi!

Ma'lumotni displeyga yuborish uchun biz faqat bitta simni ESP32 TX0 piniga ulashimiz kerak. Men ekranning ayol simini ulash uchun pinni shunday burishim kerak edi, chunki ESP32 taxtasi bu taxta uchun juda katta.

Qismlarni ulab bo'lgach, biz kodni ESP32 -ga yuklashimiz kerak, biz esa GUIni Nextion displeyiga yuklashimiz kerak. Agar siz dasturni ESP32 kartasiga yuklashda muammoga duch kelsangiz, Arduino IDE -dagi yuklash tugmasini bosgandan so'ng BOOT tugmachasini bosib turing.

GUIni Nextion displeyiga yuklash uchun men siz bilan baham ko'rmoqchi bo'lgan WeatherStation.tft faylini bo'sh SD -kartaga nusxa ko'chiring. SD -kartani displeyning orqa qismidagi SD -karta uyasiga joylashtiring. Keyin displeyni yoqing va GUI yuklanadi. Keyin SD -kartani chiqarib oling va quvvatni qayta ulang.

Kodni muvaffaqiyatli yuklaganingizdan so'ng, loyiha Wi -Fi tarmog'iga ulanadi, ob -havo ma'lumotini openweathermap.org saytidan oladi va sensordan o'qishni ko'rsatadi. Keling, loyihaning dasturiy tomonini ko'rib chiqaylik.

6 -qadam: Loyihaning kodeksi

Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi

Ob -havo ma'lumotlarini tahlil qilish uchun bizga ajoyib Arduino JSON kutubxonasi kerak. Sensor uchun kutubxona ham kerak.

? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:

Keling, kodni ko'rib chiqaylik.

Birinchidan, biz Wi -Fi tarmog'ining SSID va parolini o'rnatishimiz kerak. Keyinchalik, operweathermap.org veb -saytidan bepul APIKEY -ga kirishimiz kerak. O'z API kalitini yaratish uchun siz veb -saytda ro'yxatdan o'tishingiz kerak. Hozirgi ob -havo ma'lumotlari va prognozlarini olish bepul, lekin agar siz pul to'lashga tayyor bo'lsangiz, veb -sayt ko'proq imkoniyatlarni taklif qiladi. Keyinchalik, biz joylashuvimiz identifikatorini topishimiz kerak. Manzilingizni toping va manzilingizni URL manzilidan topishingiz mumkin bo'lgan identifikatorni nusxalash.

Keyin shahar identifikatorini CityID o'zgaruvchisiga kiriting. Shuningdek, ushbu o'zgaruvchiga o'z shahringizning balandligini kiriting. Bu qiymat sensordan aniq barometrik bosim ko'rsatkichlari uchun kerak.

const char* ssid = "yourSSID"; const char* parol = "sizning parolingiz"; String CityID = "253394"; // Sparta, Gretsiya qatori APIKEY = "yourAPIkey"; ALTITUDE 216.0 ni belgilang // Spartadagi balandlik, Gretsiya

Endi biz davom etishga tayyormiz.

Avval biz sensorni ishga tushiramiz va WiFi tarmog'iga ulanamiz. Keyin biz serverdan ob -havo ma'lumotlarini so'raymiz.

Biz ob -havo ma'lumoti bilan JSON formatida javob olamiz. Ma'lumotni JSON kutubxonasiga yuborishdan oldin men muammolarga olib keladigan ba'zi belgilarni qo'lda o'chirib tashlayman. Keyin JSON kutubxonasi o'z zimmasiga oladi va biz o'zimizga kerakli ma'lumotlarni o'zgaruvchilarda osongina saqlashimiz mumkin. Ma'lumotlarni o'zgaruvchilardan saqlaganimizdan so'ng, ularni ekranda ko'rsatish va serverdan yangi ma'lumotlarni so'rashdan oldin bir soat kutish kifoya. Men taqdim etadigan yagona ma'lumot - ob -havo ma'lumoti, lekin agar xohlasangiz, qo'shimcha ma'lumotni ko'rsatishingiz mumkin. Bu erda hammasi o'zgaruvchiga saqlangan. Keyin sensordan harorat, namlik va barometrik bosimni o'qiymiz va ma'lumotlarni Nextion displeyiga yuboramiz.

Displeyni yangilash uchun biz ketma -ket portga ba'zi buyruqlarni yuboramiz:

void showConnectingIcon () {Serial.println (); String buyrug'i = "weatherIcon.pic = 3"; Serial.print (buyruq); endNextionCommand (); }

Nextion GUI fon, ba'zi matn qutilari va ob -havo ma'lumotlariga qarab o'zgaradigan rasmdan iborat. Qo'shimcha ma'lumot olish uchun, iltimos, Nextion displeyini o'qing. Agar xohlasangiz, o'zingizning GUI -ni tezda loyihalashingiz va undagi boshqa narsalarni ko'rsatishingiz mumkin.

Har doimgidek, ushbu yo'riqnomaga biriktirilgan loyiha kodini topishingiz mumkin

7 -qadam: Yakuniy fikrlar va yaxshilanishlar

Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar

Ko'rib turganingizdek, bugungi kunda tajribali ishlab chiqaruvchi bir necha soat ichida bir necha satrli kod va atigi uch qismdan iborat ajoyib loyihalarni qura oladi! Ikki yil oldin bunday loyihani amalga oshirish imkonsiz bo'lardi!

Albatta, bu loyihaning faqat boshlanishi. Men unga ko'p funktsiyalarni qo'shmoqchiman, masalan, grafikalar, sensorli funksiyalar, ehtimol kattaroq displey va, albatta, 3D bosilgan chiroyli ko'rinish. Men ham yaxshiroq ko'rinadigan GUI va piktogramma tuzaman. Menda amalga oshirish uchun juda yangi g'oyalar bor!

Bugungi loyiha haqidagi fikringizni eshitishni istardim. Loyihaga qanday xususiyatlarni qo'shishimni xohlaysiz? Sizga tashqi ko'rinishi yoqadimi? Uning qanday rivojlanishini ko'rishni xohlaysiz? Iltimos, o'z fikrlaringizni quyidagi izohlar bo'limiga joylashtiring; Men sizning fikrlaringizni o'qishni yaxshi ko'raman!

Simsiz tanlov
Simsiz tanlov
Simsiz tanlov
Simsiz tanlov

Simsiz tanlovda ikkinchi o'rinni egalladi

Tavsiya: