Mundarija:
- 1 -qadam: Barcha qismlarni oling
- 2 -qadam: ESP32
- 3 -qadam: Nextion displeyi
- 4 -qadam: BME280 sensori
- 5 -qadam: qismlarni ulash
- 6 -qadam: Loyihaning kodeksi
- 7 -qadam: Yakuniy fikrlar va yaxshilanishlar
Video: BME280 sensori bilan ESP32 WiFi ob -havo stantsiyasi: 7 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
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
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
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
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
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
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
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
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 tanlovda ikkinchi o'rinni egalladi
Tavsiya:
Arduino bilan DIY nafas olish sensori (Supero'tkazuvchilar trikotaj sensori): 7 qadam (rasmlar bilan)
Arduino bilan DIY nafas olish sensori (Supero'tkazuvchilar trikotaj sensori): Bu DIY sensori o'tkazgichli trikotaj cho'zish sensori shaklini oladi. U ko'kragingizni/oshqozoningizni o'rab oladi, va ko'kragingiz/oshqozoningiz kengayib, qisqarganda sensori ham, shuning uchun Arduino -ga uzatiladigan kirish ma'lumotlari ham kengayadi. Shunday qilib
Uy avtomatizatsiyasi, WiFi va ESP-NOW bilan ishlaydigan batareyali eshik sensori: 5 qadam (rasmlar bilan)
Uy avtomatizatsiyasi, WiFi va ESP-NOW bilan ishlaydigan batareyali eshik sensori: Bu ko'rsatmada men sizga uy avtomatizatsiyasi bilan batareyali eshik sensori qanday yasalganini ko'rsataman. Men boshqa yaxshi sensorlar va signalizatsiya tizimlarini ko'rdim, lekin men buni o'zim qilmoqchi edim. Maqsadlarim: dooni aniqlaydigan va xabar beradigan sensor
RaspberryPI va BME280 yordamida Apple HomeKit harorat sensori (BME280) yarating: 5 qadam
RaspberryPI va BME280 yordamida Apple HomeKit harorat sensori (BME280) yarating: So'nggi bir necha oy mobaynida men IOT qurilmalari bilan o'ynadim va o'z uyim va yozgi uylarimning holatini kuzatish uchun 10 ga yaqin sensorlar joylashtirdim. Men dastlab AOSONG DHT22 mo''tadil namlik sensori ishlatishni boshlagan edim
Arduino bilan ishlaydigan chang zarralarini nazorat qilish stantsiyasi: 4 qadam (rasmlar bilan)
Arduino bilan ishlaydigan chang zarralarini kuzatish stantsiyasi: Siz o'zingizning uyingizdagi changning ifloslanishini 50 dollardan past narxda kuzatib boradigan asboblarni o'z qo'llaringiz bilan Internet -tarmog'ini osongina qura olasiz va chang darajasi juda yuqori bo'lganda xonani ventilyatsiya qilishingiz mumkin. tashqarida va agar shunday bo'lsa, sizga xabar bering
Yotoqxona elektr stantsiyasi/NiMH zaryadlash stantsiyasi: 3 qadam
Yotoqxona elektr stantsiyasi/NiMH zaryadlash stantsiyasi: Menda elektr stantsiyasi bor. Men bitta dastgohga zaryadlangan hamma narsani siqib chiqarmoqchi edim va unda lehimlash uchun joy bo'lishi kerak edi. Quvvatli narsalar ro'yxati: uyali telefon (buzilgan, lekin u mening telefonim batareyalarini zaryad qiladi, shuning uchun u har doim ulanadi va zaryadlanadi)