Mundarija:

Veb-sayt boshqaradigan Rojdestvo daraxti (har kim uni boshqarishi mumkin): 19 qadam (rasmlar bilan)
Veb-sayt boshqaradigan Rojdestvo daraxti (har kim uni boshqarishi mumkin): 19 qadam (rasmlar bilan)

Video: Veb-sayt boshqaradigan Rojdestvo daraxti (har kim uni boshqarishi mumkin): 19 qadam (rasmlar bilan)

Video: Veb-sayt boshqaradigan Rojdestvo daraxti (har kim uni boshqarishi mumkin): 19 qadam (rasmlar bilan)
Video: PSIXOLOGLARDAN 15 HAQIQATLAR. HECH KIM bilmagan SIRLAR 2024, Noyabr
Anonim
Veb-sayt boshqaradigan Rojdestvo daraxti (har kim uni boshqarishi mumkin)
Veb-sayt boshqaradigan Rojdestvo daraxti (har kim uni boshqarishi mumkin)

Veb -sayt boshqariladigan Rojdestvo daraxti qanday ko'rinishini bilmoqchimisiz?

Mana mening Rojdestvo daraxti loyihamni ko'rsatadigan video. Jonli translyatsiya hozircha tugadi, lekin men nima bo'layotganini tasvirlaydigan video tayyorladim:

Bu yil, dekabr oyining o'rtalarida, men to'shagimda yotardim, ish haftasining o'rtasida uxlashga harakat qilardim. Va uxlashning o'rniga, Rojdestvo uchun qanday ajoyib loyiha qilish kerakligi haqida o'yladim. Va keyin menga ajoyib fikr keldi.

Men Rojdestvo bezaklaridan dangasa bo'lganim uchun, Rojdestvo chiroqlarini boshqalarga boshqarishga ruxsat berish yaxshi bo'lardi, shuning uchun men bu haqda tashvishlanmayman.

"Agar men Rojdestvo daraxti chirog'ini hech kim veb -sayt interfeysi orqali boshqaradigan bo'lsa, nima qilsam bo'ladi?"

(ikki hafta uyqusiz tunlarni qo'shing)

Shunday qilib, men bunga erishdim.

ESP8266 Arduino orqali Internetga ulangan yigirma RGB LEDli Rojdestvo daraxti.

Bir do'stim (rahmat JP) menga veb -sayt ochishga yordam berdi (chunki men veb -sayt bilan bog'liq narsalarni yaxshi biladigan dasturchi emasman).

Va biz youtube -da mening daraxtimning 24/7 jonli translyatsiyasini o'rnatdik, shunda siz har doim nima yoqayotganingizni yoki o'chirayotganingizni ko'rishingiz mumkin bo'ladi.

Bu loyiha bu yil uchun juda mos keladi, chunki ko'pchiligimiz blokirovka ostida bo'lganmiz, do'stlar va oila bilan uchrashib, muloqot qila olmadik. Nega Rojdestvo daraxti orqali birlashmang?:)

Bu yo'riqnomada men ushbu loyiha qanday amalga oshirilganligini batafsil tushuntirib beraman.

1 -qadam: mahorat darajasi

Mahorat darajasi
Mahorat darajasi

Ushbu loyiha ko'proq dasturiy ta'minotga mo'ljallangan. Ammo qo'rqmang, Google tog'asining omad va yordami juda katta yordam beradi:)

Sizda 3 ta ko'nikma bo'lishi kerak (yoki siz ularni xavotirlanmasdan o'rganasiz): veb -server qismi, Arduino qismi va Rojdestvo daraxti!

Tavsiya etilgan bilimlar:

• Kompyuter va dasturlashning asosiy ko'nikmalari

• Linux terminalining asosiy bilimlari

• Kompyuter tarmog'ining asosiy bilimlari

• Elektronikaning asosiy bilimlari

• Google va boshqa "maxsus" qobiliyatlardan foydalanish ko'nikmalari

• Rojdestvo daraxti o'rnatishni bilishi kerak:)

Agar sizda texnologiya va dasturlash borasida tushuncha bo'lsa, siz ushbu yo'riqnomaga muvofiq sozlashni o'rganishingiz kerak.

2 -qadam: Asboblar va komponentlar

Rojdestvo daraxti yonida sizga kerak bo'ladi: • Rojdestvo daraxti (d'oh …)

• NodeMCU mikro-boshqaruv paneli

(siz ESP32 yoki boshqa Wi-Fi yoki chekilgan tarmoqli platalardan ham foydalanishingiz mumkin)

• Manzil bo'yicha RGB LED tasmasi. manzilli RGB LED tasmasi ko'plab Arduino GPIO -larini tejaydi (https://www.sparkfun.com/products/11020)

• NodeMCU uchun dasturiy ta'minot (bu yo'riqnomada keltirilgan)

Server tomonida sizga kerak bo'ladi:

• Umumiy IPga ega virtual xususiy server. Bu erda siz DigitalOcean -da 100 dollar bepul olasiz

• Siz istalgan ro'yxatga oluvchi tashkilotda ro'yxatdan o'tishingiz mumkin bo'lgan domen (ixtiyoriy), masalan

• Maxsus kod (ushbu ko'rsatma bilan ta'minlangan)

3 -qadam: Virtual mashinani sozlash (kompyuter) 1 -QISM

Virtual mashinani sozlash (kompyuter) 1 -qism
Virtual mashinani sozlash (kompyuter) 1 -qism

Keling, to'g'ridan -to'g'ri kodlashga o'tamiz:)

Bizga veb -sayt va NodeMCU bilan bog'laydigan server kerak.

DigitalOcean -dagi serverlar bizga umumiy IP -manzili bo'lgan virtual mashinaga ega bo'lishga imkon beradi, ya'ni biz xizmatlarni ishga tushirishimiz va ularga butun dunyo bo'ylab kirishimiz mumkin.

DigitalOcean oylik obunasini to'laganingizdan so'ng (siz 60 kunlik bepul sinovdan foydalanishingiz mumkin), loyiha yarating va unga Rojdestvo daraxti yoki xohlagan narsangiz deb nom bering.

Endi siz virtual mashinani (masofadan turib kirish mumkin bo'lgan kompyuterni) "Bir tomchidan boshlash" tugmasini bosish orqali yaratishingiz mumkin (bu asosan DigitalOcean -ning virtual mashina nomi).

Konfiguratsiya sahifasi paydo bo'ladi va siz odatdagidek qolishingiz mumkin: Ubuntu tasviri, asosiy rejasi va blokirovkasi yo'q (oyiga 5 $)

4 -qadam: Virtual mashinani sozlash (kompyuter) 2 -QISM

Virtual mashinani sozlash (kompyuter) 2 -QISM
Virtual mashinani sozlash (kompyuter) 2 -QISM
Virtual mashinani sozlash (kompyuter) 2 -QISM
Virtual mashinani sozlash (kompyuter) 2 -QISM

Ma'lumotlar markazi - bu sizning serveringiz yaratiladigan joy.

Sizga va potentsial foydalanuvchilaringizga eng yaqinini tanlang. Bu eng past javob vaqtini beradi.

Bundan tashqari, "Autentifikatsiya" bo'limida sizdan virtual mashinangizga kirish uchun parolni kiritish talab qilinadi.

"Yakunlash va yaratish" bo'limida 1 tomchining standart qiymatini saqlang, xost nomini tanlang (yana Rojdestvo daraxti), agar sukut bo'yicha tanlanmagan bo'lsa, ilgari yaratilgan loyihangizni tanlang va tomchi yaratish -ni bosing. Bu bir necha daqiqa davom etadi. Chapdagi navigatsiya bo'limida loyihangizni bosish orqali siz tomchini ko'rasiz.

5 -qadam: Virtual mashinani sozlash (kompyuter) 3 -QISM

Virtual mashinani sozlash (kompyuter) 3 -QISM
Virtual mashinani sozlash (kompyuter) 3 -QISM
Virtual mashinani sozlash (kompyuter) 3 -QISM
Virtual mashinani sozlash (kompyuter) 3 -QISM
Virtual mashinani sozlash (kompyuter) 3 -QISM
Virtual mashinani sozlash (kompyuter) 3 -QISM
Virtual mashinani sozlash (kompyuter) 3 -QISM
Virtual mashinani sozlash (kompyuter) 3 -QISM

Tomchi tomondagi o'ngdagi uchta nuqtani bosish orqali siz Access konsolini bosishingiz mumkin, bu sizning virtual kompyuteringizga kirishga imkon beradi.

Yangi kichik brauzer oynasi ochiladi. Endi bu Windows 10 yoki Ubuntu -dagi grafik interfeysli kompyuter kabi ish stoli muhiti emas.

Biroq, hamma narsa konsol interfeysi orqali amalga oshirilishi mumkin.

Bu ko'rinadigan darajada qo'rqinchli emas:)

6 -qadam: Virtual mashinani sozlash (kompyuter) 4 -QISM

Virtual mashinani sozlash (kompyuter) 4 -QISM
Virtual mashinani sozlash (kompyuter) 4 -QISM
Virtual mashinani sozlash (kompyuter) 4 -QISM
Virtual mashinani sozlash (kompyuter) 4 -QISM

Siz DigitalOcean bulutida o'zingizning virtual mashinangizni muvaffaqiyatli yaratdingiz.

Keyingi bosqichlarda siz Apache deb nomlangan veb -serverni o'rnatasiz va o'z veb -sahifangizni o'rnatasiz.

Filezilla mijozini bu erdan yuklab oling https://filezilla-project.org/download.php?platfo… (yoki 32 bitli operatsion tizim uchun 32 bitli versiyani toping) va o'rnating. Bu FTP (fayl uzatish protokoli) mijozi.

Siz virtual mashinadan fayllarga kirishingiz va ularni uzatishingiz mumkin bo'ladi.

O'rnatgandan so'ng, fayl → sayt menejeri → yangi sayt -ni bosing va yuqoridagi rasmdagi kabi ma'lumotlarni kiriting.

Protokol: SFTP (Xavfsiz fayl uzatish protokoli)

Xost: Serveringizning IP -manzili, DigitalOcean loyihasida toping.

Foydalanuvchi - bu ildiz va parol - bu sizning tomchini yaratishda.

OK ni bosing va virtual mashinangizga ulaning.

Siz ogohlantirilasiz, xost kaliti noma'lum. Ikkinchi rasmga rioya qiling.

Loyiha uchun mahalliy papka yarating va bu erdan yuklab oladigan loyiha fayllaringizni chiqarib oling.

Siz har safar kodni sinash yoki yangilashni xohlaganingizda, kompyuteringizdagi fayllarni tahrir qilasiz va ularni virtual mashinangizga o'tkazasiz.

7 -qadam: veb -serverni o'rnating

Veb -serverni o'rnating
Veb -serverni o'rnating

Foydalanuvchi nomi va parolingiz bilan tomchi konsolingizga kiring.

Bizda grafik interfeys yo'q, biz virtual mashinani boshqarish uchun buyruqlardan foydalanamiz. Ubuntu (Linux) da ishlatadigan ba'zi umumiy buyruqlar:

• pwd - joriy katalogimni chop etish

• ls - joriy katalogimdagi fayllar va papkalarni ro'yxatga olish

• cd / - / katalogiga o'tish (papka, shu jumladan linuxning asosiy kataloglarini o'z ichiga oladi, bin, boot, dev, root, home, var va boshqalar)

Yugurish deganda, buyruqni kiriting va enter tugmasini bosing.

Endi biz tizimni yangilash uchun apt -get update -y ni ishga tushiramiz.

Apache veb -serverini o'rnatish uchun apt install apache2 -y ni ishga tushiring.

Apache-ning xush kelibsiz ekrani brauzerdan https:// virtual-machine-ip-da bo'lishi kerak.

Virtual-machine-ip-ni virtual mashinangiz ip-ga almashtiring, masalan 165.12.45.123. Siz https:// ni o'tkazib yuborishingiz mumkin, chunki u avtomatik ravishda qo'shiladi.

Tabriklaymiz!

Eslatma:

Agar siz veb -saytingizga IP -manzildan emas, balki nom orqali kirishni xohlasangiz (men https://blinkmytree.live/ dan foydalanganman), GoDaddy yoki shunga o'xshash (namecheap.com va hokazo) domen provayderiga o'ting va ko'rsatmalarga amal qiling. bu erda:

Ba'zi domen nomlari juda arzon. Mening domenim yiliga atigi 2 dollar turadi. Albatta pulga arziydi:)

8 -qadam: Veb -ilovalar tizimini o'rnatish

Bizning konsolimizga qayting. Qo'rqma:)

Filezilla -dan foydalanib /home ichida ilova nomli papka yarating, shunda /home /app sizning papkangiz bo'ladi

Ilovaning ichki papkasiga o'tish uchun cd /home /app -ni ishga tushiring.

Npm paket menejerini o'rnatish uchun apt install npm -y ni ishga tushiring. Bu bir necha daqiqa davom etadi.

Npm init -y buyrug'ini ishlating, u paket.json faylini yaratadi, u ilova haqidagi asosiy paket ma'lumotlarini kuzatadi/eslab qoladi.

Npm ni ishga tushiring -modullarni o'rnatish uchun express cors express ni saqlang, express

Cors - bu saytlararo kirishni sozlash uchun modul va ekspress - bu veb -ilovalar uchun asos.

Npm - bu biz ishlatgan paketlar menejeri va biz node.js JavaScript ish vaqtidan dasturni dasturlash interfeysini (API) dasturlash uchun foydalanamiz, u http -server bilan birgalikda LEDlarga ranglarni qo'llash bo'yicha HTTP so'rovlarini qabul qiladi, ularning qiymatlarini (ranglarini) belgilaydi. xotirada saqlang va qiymatlarni NodeMcu -ga so'rang.

Eslatma: NodeMcu -dagi tugun node.js.dagi tugun bilan hech qanday aloqasi yo'q. NodeMcu -ni har qanday Internetga ulangan arduino ishlab chiqish platasi, NXP ishlab chiqish kartasi yoki maxsus Microchip/NXP/Renesas/STM/Atmel PCB bilan almashtirish mumkin. Node.js. Net framework, PHP yoki boshqa platformalar bilan almashtirilishi mumkin. Ammo soddalik uchun biz NodeMCU va Node.js.dan foydalanmoqdamiz.

Keling, node.js -da kichik dasturni ishga tushira olsak, test o'tkazaylik

Notepad/notepad ++ yoki boshqa tahrirlovchiga ega bo'lgan index.js nomli fayl yarating yoki mahalliy papkangizda (Visual Studio Code https://code.visualstudio.com/) ishlating.

Bu kodni unga kiriting:

var http = talab ('http');

http.createServer (funktsiya (req, res) {

res.writeHead (200, {'Kontent turi': 'matn/oddiy'});

res.end ('Salom dunyo!');

}). tinglang (8080);

Uni saqlang va FileZilla-dagi faylga ikki marta bosish/sudrash bilan index.js papkasida/home/app-ga o'tkazing.

Index.js tugunini ishga tushiring va uni ishda qoldiring.

Endi biz o'z sahifamizga brauzerimizdan https:// virtual-machine-ip: 8080 manzilida kirishimiz mumkin. Hello World yozuvi bilan oq sahifa paydo bo'ladi.

Tabriklaymiz, siz node.js -da veb -server yaratdingiz!

9 -qadam: dasturiy ta'minotni tayyorlang

Konsolga o'ting va ctrl+C tugmalar birikmasini bosib dasturni to'xtating.

Index.js faylini

Veb -sayt uchun barcha fayllarni bu erdan yuklab olishingiz mumkin:

drive.google.com/file/d/1oIFdipoJxg6PF5klO…

Bizning Rojdestvo daraxti kodini html papkasidan Filezilla yordamida uzoq varaqqa/var/www/html/nusxa ko'chiring. Biroz vaqt kerak bo'ladi. Agar sizdan so'ralsa, index.html -ni yangisi bilan almashtiring.

IP -ni yana sevimli veb -brauzeringizga qo'ying.

Siz hozirgina veb-ilovangizni oldingi qismini https:// virtual-machine-ip-da mavjud qildingiz.

10-qadam: Orqa kodni tushunmaslik va uni ishlash

Noma'lum orqa kod va uni ishlash
Noma'lum orqa kod va uni ishlash

Eslatma: sizning orqa kodingiz /home /appda

Esingizda bo'lsin, siz kodni mahalliy tahrir qilganingizdan so'ng, uni FileZilla -dan foydalanib serveringizga yuklashni unutmang va tugunli ilovani qayta ishga tushiring (konsol: ctrl+c, strelka yuqoriga (index.js oxirgi tugmachasini ko'rsatadi), kiriting)

Kod ishlashi uchun avval bir nechta ma'lumotlarni kiritish kerak bo'ladi.

Birinchidan, index.js -dagi hostname o'zgaruvchisini o'z domeningiz yoki IP -ga o'zgartirishingiz kerak bo'ladi (shunga o'xshash narsa: 165.13.45.123).

Ikkinchidan, men sizga kodni tushunishga yordam beraman. Kodda yozgan izohlarimni o'tkazib yubormaslikka ishonch hosil qiling.

Index.js faylida biz ekspress moduli yordamida ilova yaratayotganimizni ko'rishingiz mumkin. Keyin biz unga CORS qoidalarini qo'llaymiz, API -larni qo'shamiz va http -serverni ishga tushiramiz. Bu server GET http so'rovlari orqali veb-sahifaga xizmat qilmaydi, lekin u GET http so'rovi orqali boshqariladigan holatlarga xizmat qiladi va qabul qilingan PUT http so'rovlari bo'yicha boshqariladigan holatlarni yangilaydi.

API - ilovalar o'rtasida ma'lumot almashishning odatiy usuli. Biz o'zimiz ishlatadigan REST API -lari eng ko'p ishlatiladi. Ular fuqaroligi yo'q va doimiy aloqaga ega emaslar (shorturl.at/aoBC3, PUT so'rovlari ilova holatining o'zgaruvchan (xotira) holatini yangilaydi, GET so'rovlari mijozga oddiy holatlarni yuboradi.

Mijozga javob odatda JSON belgisida bo'ladi, lekin 30 ta LED holatining oddiy javobi uchun biz 30 ta vergul bilan ajratilgan qiymatlarni yuboramiz.

11-qadam: Old kodni tushunish va uni ishlash 1-QISM

Eslatma: sizning oldingi kodingiz/var/www/html

Esingizda bo'lsin, siz kodni mahalliy tahrir qilganingizdan so'ng, uni FileZilla yordamida serveringizga yuklashni unutmang. Node.js -dan farqli o'laroq, Apache avtomatik ravishda o'zini qayta ishga tushiradi, lekin siz o'z sahifangizni brauzeringizda qayta yuklashingiz kerak bo'ladi. Sahifangiz keshini yangilash va o'chirish uchun ctrl+f5 tugmalar birikmasidan foydalaning.

Kod ishlashi uchun siz ozgina ma'lumotlarni kiritishingiz kerak bo'ladi. Birinchidan, index.html ichidagi send_request funktsiyasidagi url o'zgaruvchisini blinkmytree.live -dan o'z domeningizga yoki IP -ga o'zgartirishingiz kerak bo'ladi, masalan: 165.13.45.123.

Ikkinchidan, kodni tushunish uchun sizga ko'rsatma beraman. Kodda yozgan sharhlarimni o'tkazib yubormaslikka ishonch hosil qiling. Sahifa - bu HTML hujjati. CSS -ning barcha qoidalarini (sahifa uslubi va kontent joylashuvi) chetga surib, biz muhim kontentning funktsional imkoniyatlarini ko'rib chiqamiz. CSS haqida ko'proq bilish uchun https://www.w3schools.com/css/ saytiga qarang.

Biz ushbu asosiy xususiyatlarni (tezkor usullar mutaxassislari foydalanuvchilar haqidagi hikoyalarni aytadilar) sahifada bo'lishini xohlardik:

• Sahifaga o'rnatilgan jonli video

• Rojdestvo daraxti ustiga bosiladigan LEDlar, ularni Gimp tasvir muharriri boshqargan (https://www.gimp.org/).

• Lider holatlarni o'zgartirishni kutayotgan server bilan haqiqiy muloqot.

12-qadam: Old kodni tushunish va uni ishlash 2-QISM

Old kodni tushunish va uni ishlash 2-QISM
Old kodni tushunish va uni ishlash 2-QISM

Rojdestvo daraxti bizda LEDlar va ranglar soniga ega bo'lgandan so'ng, biz maydonlarni yaratishimiz va ularga amallarni qo'llashimiz kerak, shuning uchun rasmni tanlash bo'limidagi rangli LEDni bosganimizda, rang tanlanadi va bitta biz LEDni bosamiz, buyruq serverga yuboriladi, u erda Arduino o'z qiymatini tanlaydi.

Eng yangi HTML standarti bo'lgan HTML5 -da tasvir xaritasi degan narsa bor. Bu bizga tasvirdagi maydonlarni aniqlashga imkon beradi, biz unga harakat tinglovchilarini qo'llashimiz mumkin.

Belgilashimiz kerak bo'lgan joylar ko'p bo'lgani uchun, biz https://www.image-map.net/ vositasidan foydalanib, bu maydonlarni aniqladik va HTML kodini sahifamizga ko'chirdik.

Buni qilganimizdan so'ng, biz onclick hodisasini o'zi chaqiradigan funktsiya va LED raqamining parametrlari bilan har bir maydonga qo'yishimiz mumkin. Yuqoridagi skrinshotni ko'ring.

13-qadam: Old kodni tushunish va uni ishlash 3-QISM

Old kodni tushunish va uni ishlash 3-QISM
Old kodni tushunish va uni ishlash 3-QISM

HTML tanasining oxirida, mintaqada, biz onclick hodisalarida chaqiradigan funktsiyalarni aniqlash uchun JavaScript -ni joylashtiramiz. Butun dunyoda biz XMLHttpRequest ni belgilaymiz, biz uni PUT so'rovini yuborish uchun ishlatamiz

Bizda ikkita funksiya bor:

set_color funktsiyasi (val)

send_request funktsiyasi (id)

API so'rovini sinab ko'rish uchun men "Postman" https://www.postman.com/ nomli keng tarqalgan dasturiy vositasini tavsiya qilaman. Bu bizga API so'rovini serverga dasturlash qobiliyatisiz yuborish imkonini beradi. Bu serverni masxara qilish va so'rovlarni qabul qilish imkonini beradi.

14-qadam: Old kodni tushunish va uni ishlash 4-QISM

Old kodni tushunish va uni ishlash 4-QISM
Old kodni tushunish va uni ishlash 4-QISM

Sizning arizangiz ishlaydi.

Bilingki, raqamlar teskari, ya'ni 20 - 1 va 1 - 20, buning sababi shundaki, daraxtdagi LEDlar pastdan boshlanadi, lekin foydalanuvchi tajribasini yaxshilash uchun biz boshini yuqoriga olib chiqamiz.

Agar xohlasangiz, siz hali ham YouTube -da jonli translyatsiya yaratishingiz va YouTube -ning video kodini o'z kodingiz bilan almashtirishingiz kerak bo'ladi.

15 -qadam: Arduino kodi

Arduino kodi
Arduino kodi

ESP8266 biroz o'zgartirilgan HTTP mijozining asosiy eskizini ishga tushiradi, API qo'ng'irog'i orqali veb -saytimdan ma'lumotlarni oladi.

Agar siz ham xuddi men kabi RGB adresli manzilni ishlatmoqchi bo'lsangiz, LED tasmasini boshqarish uchun kutubxonalarni o'rnatishingiz kerak bo'ladi.

github.com/adafruit/Adafruit-WS2801-Librar…

Men qo'shgan eskizda siz wi-fi nomingiz va parolingizni veb-saytingizga url kiritishingiz kerak bo'ladi (sharhlarga qarang)

Biz asosan http javobini C tipidagi satrga aylantiramiz, shuning uchun biz strtok funktsiyasidan foydalanib satrni vergulga bo'lishimiz va leds jadvalini serverdan o'qilgan qiymatlar bilan to'ldirishimiz mumkin. Biz funktsiyani chaqirgandan ko'ra, biz jadval orqali o'tamiz va qiymatlarga asoslanib, foydalanuvchi kutgan rangni to'g'ri rangga aylantiramiz.

Hammasi shu!

Tabriklaymiz, siz erishdingiz!

16 -qadam: RGB LED zanjiri

RGB LED zanjiri
RGB LED zanjiri

Uh, oh. Endi hamma kodlashdan biroz tanaffus olish vaqti keldi:)

ESP8266da LEDlarni alohida boshqarish uchun GPIO pinlari ko'p bo'lmaganligi sababli, men bu adreslanadigan RGB LED zanjiridan foydalandim:

www.sparkfun.com/products/11020

Shunday qilib, barcha 20 ta RGB svetodiodlarini (jami 60 ta LED) faqat ikkita pin - "ma'lumotlar" va "soat" va ESP8266 dan to'g'ridan -to'g'ri 5V quvvat bilan boshqarish mumkin.

Ipni NodeMcu -ga ulash oson. NodeMcu -da Vinga 5V (USB -dan 5V), sariq -12 -pin, yashil sim -14 -pin, erga - erga.

Siz individual RGB rangini va yorqinligini sozlashingiz mumkin. Ranglarni aralashtirish orqali siz har bir LED uchun juda ko'p ranglarni ishlab chiqarishingiz mumkin.

Bu LEDlar bilan har qanday ajoyib FX effektlari uchun juda ajoyib kutubxona ham bor. Agar sizga yoqsa, sinab ko'ring:

github.com/r41d/WS2801FX

17 -qadam: Rojdestvo daraxti bezang

Rojdestvo daraxti bezang!
Rojdestvo daraxti bezang!

Buni chiroyli qilib qo'ying va barcha LEDlar ko'rinadigan va daraxt ustida yaxshi yoyilganligiga ishonch hosil qiling.

18 -qadam: Yakuniy teginishlar

Yakuniy teginishlar
Yakuniy teginishlar

Daraxt tayyor bo'lganda, chiroyli suratga oling va bosiladigan joylarning tasvir xaritasini yaratish bosqichini takrorlang (LED pozitsiyalari).

Bu LEDlar bilan aloqa qilishning eng intuitiv usuli.

Agar biror narsani murakkablashtirishni xohlamasangiz, oddiy tugmalardan foydalanishingiz mumkin.

Shuningdek, siz YouTube -da daraxtingizning jonli translyatsiyasini boshlashingiz kerak (agar siz real vaqtda nima bo'layotganini ko'rishni xohlasangiz) va oqimni saytingizga joylashtiring.

19 -qadam: Veb -saytingizga qoyil qoling

Saytingizga qoyil qoling
Saytingizga qoyil qoling

Agar siz shu paytgacha etib kelgan bo'lsangiz, siz ajoyibsiz:) Do'stlaringizni taklif qiling (va meni albatta: P) va ularni iloji boricha daraxtingizga bosishga majbur qiling:)

n

Bu juda murakkab loyiha uchun juda uzoq ko'rsatma edi. Lekin oxir -oqibat bunga arziydi: D.

Rahmat! Agar men ishlayotgan narsalar bilan aloqada bo'lishni istasangiz:

Siz mening YouTube kanalimga obuna bo'lishingiz mumkin:

www.youtube.com/c/JTMakesIt

Siz ham meni Facebook va Instagramda kuzatib borishingiz mumkin

www.facebook.com/JTMakesIt

www.instagram.com/jt_makes_it

men hozir ishlayotgan narsalar, sahna ortida va boshqa qo'shimchalar haqida buzg'unchilar uchun! PS:. Agar sizga haqiqatan ham yoqqan bo'lsa, menga bu erdan qahva ham sotib olishingiz mumkin, shuning uchun men kelajakdagi loyihalar uchun ko'proq kuchga ega bo'laman (bu menga 2 haftalik uyqu vaqtini berdi, chunki men bu g'oyani juda kech oldim):)

www.buymeacoffee.com/JTMakesIt

Va "Hamma narsa ketadi" tanlovida ushbu ko'rsatmaga ovoz berishni unutmang:)

Tavsiya: