Mundarija:

ESP32 bilan MQTT kayfiyat chiroqlari: 4 qadam (rasmlar bilan)
ESP32 bilan MQTT kayfiyat chiroqlari: 4 qadam (rasmlar bilan)

Video: ESP32 bilan MQTT kayfiyat chiroqlari: 4 qadam (rasmlar bilan)

Video: ESP32 bilan MQTT kayfiyat chiroqlari: 4 qadam (rasmlar bilan)
Video: ESP32 Tutorial 47 - WS2812 CheerLights using MQTT over Internet | SunFounder's ESP32 IoT Learnig kit 2024, Iyul
Anonim
ESP32 bilan MQTT kayfiyat chiroqlari
ESP32 bilan MQTT kayfiyat chiroqlari

Meni anchadan beri LED chizig'iga sakrab o'tish vasvasasi bo'lgan edi, men yugurib chiqib, o'yinchoq uchun LED tasmasini oldim. Men bu kayfiyat chiroqlarini yasashni tugatdim. Ularni MQTT yordamida boshqarish mumkin, bu esa har xil aqlli narsalarni qo'shish imkonini beradi.

Agar sizda boshqa hech narsa yo'q bo'lsa va qo'lingizni iflos qilmoqchi bo'lsangiz, bu hafta oxiri uchun yaxshi loyihadir.

E'tibor bering, bu yo'riqnomaning maqsadi - bu mening loyihamni hujjatlashtirish va boshqalar bilan fikr almashish, lekin qat'iy ko'rsatmalar va usullarni taqdim etish emas. Shu bilan, o'qing!

Ta'minotlar

Elektronika:

  • 1x ESP32 ishlab chiqish taxtasi
  • 1 x 0,96 dyuymli I2C OLED -displey
  • 1x Buzzer
  • 1x Barrel uyasi
  • 1x 12V quvvat manbai (oqim tarmoqli uzunligiga bog'liq)
  • 1x LM2596 dollarlik konvertor
  • 1x umumiy anodli RGB LED tasmasi
  • 3x IRFZ44N MOSFET
  • 3x BC547 tranzistorlar
  • 3x 10 kΩ qarshilik
  • 4x100Ω qarshilik
  • 1x prototip taxtasi
  • 4x vintli terminallar
  • Erkak va ayol sarlavhalari
  • Tel (men bitta ipdan foydalanardim)

Boshqa uskunalar va asboblar:

  • Qoplama uchun kerakli material (men MDFdan foydalanganman)
  • Sensorli kontaktlar uchun tekis, o'tkazgichli material (men ingichka alyuminiy varaqdan foydalandim)
  • Arra, matkap, zımpara va boshqalar.
  • Lehimlash temir va do'stlar
  • Issiq elim

O'rnatilgan OLED-displeyli ESP32-ga bormaslikni qat'iy tavsiya qilaman, chunki uning muhofazasida to'g'ri chiziqni kesish juda qiyin bo'ladi.

1 -qadam: elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Qo'shilgan sxemada sensorli kirishlar bundan mustasno, barcha kerakli ulanishlar ko'rsatilgan. Agar sxemasi etarli bo'lmasa, bitta MOSFETni qanday ulash kerakligini ko'rsatadigan nisbatan noaniq non paneli mavjud.

Quvvat

LM2596 dollarlik konvertor ESP VIN uchun quvvat manbaidan 5V ga 12V pastga tushadi. Quvvat manbai LED tasmasi uzunligi uchun to'g'ri baholanganligiga ishonch hosil qiling. Mening 2 metr uzunlikdagi tasma 2 amperdan biroz ko'proq chizadi.

Pim va tashqi qurilmalar

Sensorli kirish uchun to'rtta sensorli pin ishlatiladi. Mening ESP32 kartamga OLED -displey o'rnatilgan, uning I2C -pinlari ulangan. Buning uchun har bir rang komponenti (qizil, yashil va ko'k) uchun bitta PWM -pin va bijoler ishlatiladi.

MOSFET chayqaladi

MOSFETlar PWM va nisbatan yuqori tokni tez almashtirish vaqtini boshqarish uchun tanlangan. Har bir rang komponenti uchun bitta MOSFET mavjud. Men alohida NPN BJT (BC547) ni tortish qarshiligi bilan birga IRFZ44N ni haydash uchun ishlatardim, chunki ESP32 dan 3.3V raqamli signallar MOSFETlar kerakli oqimni o'tkazishi uchun etarli bo'lmasligi mumkin. IRLZ44N kabi mantiqiy darajadagi MOSFETlar mavjud, lekin men ular haqida hamma narsani lehimlashni tugatgandan keyingina bilib oldim. Qanday bo'lmasin, ~ 2A chizilgan chizig'im yaxshi ishlaydi.

Lehimlash

Vintli terminallar LED chizig'iga ulanish uchun ishlatiladi, va agar men ularni hech narsadan ajratmasdan almashtirmoqchi bo'lsam, ESP32 -ni ulash uchun ayol sarlavhalar. Lehimlash taxminan ikki soat davom etdi va juda sodda edi. Men ham LED tasmasini uzunroq simlarga berdim.

Nima uchun men ESP32 ni tanladim

Uning bortida WiFi va Bluetooth bor (hozircha men faqat WiFi ishlatganman) va menda qichishayotgani yotardi. Sensorli kirish moslamasi interfeysi uchun ham qulay bo'lgan, chunki ular kontaktga faqat bitta simni o'tkazishi kerak. Agar xohlasangiz, ESP32 -ni osongina ESP8266 kabi mikrokontroller bilan almashtirish mumkin.

2 -qadam: kod

Men buni dasturlash uchun Arduino asboblar to'plamidan (aslida VS Code uchun Arduino kengaytmasi:)) foydalanardim. Agar siz hali ESP32 va Arduino IDE -ni ishga tushirishni o'rganishingiz mumkin bo'lsa, bu kabi ajoyib darsliklar mavjud.

To'rt xil rejim mavjud: statik rang, tasodifiy rang, qizil ogohlantirish va ko'k ogohlantirish. Yuqoriga, pastga, keyingi va Red Alert uchun to'rtta sensorli kirish mavjud. Touch uzilishlardan foydalanadi.

Men WiFi -ni boshqarish uchun MQTT -ni ishlarga qo'shdim. Men veb-ilovaning katta uchligini (HTML, CSS, JS) his qilmoqchiman, shuning uchun men kayfiyat chiroqlarini boshqarish uchun MQTT brokeri bilan bog'lanadigan Star Trek mavzusidagi (lekin juda chirkin) veb-sahifani yaratdim.

Mening barcha kodlarimni fayllar nomini o'zgartirishni xohlagan tezkor ma'lumotnoma bilan birga topish mumkin. Arduino bilan ochishdan oldin barcha fayllarni "ESP32MQTTMoodLighting" nomli papkaga o'tkazing.

E'tibor bering, mening kodim ishlaydi, lekin, ehtimol, eng zo'r emas. Lekin bu muhim emas, chunki siz baribir o'zingiz yozasiz, to'g'rimi?:)

3 -qadam: Qoplama va yig'ish

Qoplama va yig'ish
Qoplama va yig'ish
Qoplama va yig'ish
Qoplama va yig'ish
Qoplama va yig'ish
Qoplama va yig'ish
Qoplama va yig'ish
Qoplama va yig'ish

Qulflash paytida men qo'llarimga yopishtira oladigan yagona material - bu 5 mm MDF qatlami. Men oddiy arra bilan katta kesiklar qildim va hamma narsaga yaxshi qum berdim. Ikki qavatli emal bo'yoq asosiy tayyorgarlikni tugatdi.

Orqa panel

Men qutimni osongina ochilishini xohlardim, shuning uchun men barcha elektron qurilmalarimni to'rtta M2 tenglikni tenglamasi bilan orqa panelga o'rnatdim. Mening taxtamda allaqachon M2 teshiklari bor edi. Mening qarama -qarshiliklarimning pastki qismida MDFga o'rnatmoqchi bo'lgan kichik tishli dastgohlar bor edi. Ammo menda M2 matkap uchi yo'q edi. Shunday qilib, har bir teshikning o'rnini belgilab, men teshiklarni qo'lda ochish uchun kichik tekis tornavida ishlatardim. Qimmat, lekin samarali. Teshiklarning diametri tiqilinchning tishli qismidan bir oz kichikroq edi. Teshiklarni teshiklarga bir necha marta aylantirdim, bu ularni kengaytirdi va deyarli tiqib qo'ydi.

Oxir -oqibat, qarama -qarshiliklar o'z teshiklariga mahkam o'rnashib, perforator taxtasini joyida ushlab turishdi. Mening MDF juda qalin bo'lgani uchun, boshqa tomonga hech narsa ko'rinmadi.

Men elektr rozetkasi uchun teshik ochdim va diodli simlar o'tadigan teshik qildim, pastda vintli terminallar joylashgan.

Old panel

OLED displeyni kesish

Men OLED -ni kesishni bir nechta boshlang'ich teshiklari bilan boshladim va ularni o'lchamiga kiritdim. Bu nihoyatda g'ayrioddiy va noto'g'riligi bilan yakunlandi. Bunda o'lchovlarning ikki marta tekshirilmaganligi muhim rol o'ynagan bo'lishi mumkin, lekin o'rnatilgan OLED-ga ega ishlab chiqish platasini ishlatmaslik bilan o'zingizni muammolardan qutqaring. Displeyni teshikka o'rnatish ancha oson.

Ulagich

Men bir nechta erkak va ayol sarlavhalaridan ulagich yasadim. Bir uchi old paneldagi sensorli kontaktlarga ulangan simlarga ulangan bo'lsa, boshqa tomonida ESP sensorli kirishiga ishlaydigan simlar bor edi. Agar shunday bo'lsa, lehim bo'g'inlarini bezovta qilmasdan, old panelni orqa tomondan butunlay olib tashlash mumkin edi. Agar siz old panelga boshqa biror narsani o'rnatgan bo'lsangiz, buning uchun ulagich ham yasashingiz mumkin.

Sensorli prokladkalar

Sensorli kontaktlar alyuminiydan qilingan. Men kerakli to'rtta prokladkani olish uchun kesib tashladim va qirralarning qirrali emasligini tekshirdim. Keyin old panelga simlar uchun etarlicha katta teshiklar qildim. Lehimni prokladkalarga yopishtirish uchun, men oksidlangan qatlamni olib tashlash uchun bir tomonining kichik qismini zımpara bilan artdim, so'ngra zarrachalarni olib tashlash uchun tez artib qo'ydim. Har bir simni old paneldagi mos keladigan teshikdan o'tkazib, har birini o'z yostig'iga lehimladim. Lehimning orqa tomonida juda katta bo'rtma hosil qilmasligiga ishonch hosil qiling, chunki bu yostiqchaning panel bilan bir tekisda o'tirishiga yo'l qo'ymaydi.

Nihoyat, har bir yostiqning orqa qismiga issiq elim qo'shing va ularni old panelga suring. Haddan tashqari qo'shib qo'yish pedlarni paneldan yuqoriga ko'tarilishiga olib keladi. Yostiqlar ostidan chiqarilishi mumkin bo'lgan ortiqcha elimlarni tozalang.

Qolgani

Yon panellar juda oddiy. Vintli terminallarga tez kiradigan teshik, bunga qaraganda ancha qiyinroq edi. Men yon panellarni old panelga issiq yopishtirdim.

Velcro ikki chekkasida old qismini orqa panelga tutadi. Bo'shliqlar zil ovozining chiqib ketishiga imkon beradi. Agar siz mendan ko'ra yaxshiroq ish qilsangiz, 5 yoshli maktabgacha yoshdagi hunarmandchilikka o'xshamasligingiz kerak:)

Mening LED tasim orqasiga yopishqoq edi (ishonchim komilki, sizniki ham). Men minani shunday o'rnatdimki, yorug'lik devordan o'chadi.

4 -qadam: ulang

Uni ulang!
Uni ulang!

Sizda MQTT tomonidan boshqariladigan kayfiyat nuri to'liq bo'lishi kerak. Men o'z stolimni stolga o'rnatdim, u erda ba'zida monoton ishlarga rang qo'shiladi. Kecha odamlarni hayratda qoldirish uchun ideal vaqt.

Umid qilamanki, siz ushbu ko'rsatmalarni o'qishni yoqtirdingiz va o'z loyihalaringiz uchun bir nechta g'oyalarni oldingiz. Yuqorida aytib o'tganimdek, men boshlang'ichman va bu mening birinchi ko'rsatmam. Men har qanday maslahat va sharhlarni qadrlayman.

Tavsiya: