Mundarija:
- Ta'minotlar
- 1 -qadam: O'chirish sxemasini yarating
- 2 -qadam: Wemos -ni dasturlash - umumiy nuqtai
- 3 -qadam: Wemos -ni dasturlash - haydovchilarni o'rnatish
- 4 -qadam: Wemos -ni dasturlash - Arduino IDE -ni yangilang
- 5 -qadam: Wemosni dasturlash - Blink testi
- 6 -qadam: Wemos -ni dasturlash - Blynk -ni sozlash
- 7 -qadam: Wemosni dasturlash - Blynk kutubxonasini o'rnatish
- 8 -qadam: Wemos - eskizni dasturlash
- 9 -qadam: Wemosni dasturlash - Oxirgi qadam
- 10 -qadam: Blynkni IFTTT va Google Home yoki Alexa yordamida boshqarish
- 11 -qadam: Xulosa
Video: Arduino asosidagi ovozli boshqariladigan IOT o'rni kaliti (Google Home va Alexa qo'llab-quvvatlanadi): 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Ushbu loyihada Arduino-ga asoslangan, ovoz bilan boshqariladigan, IOT o'rni kalitini qanday yasash kerakligi tasvirlangan. Bu iOS va Android uchun ilova yordamida masofadan turib yoqish va o'chirish, shuningdek IFTTT -ga ulash va Google Home va/yoki Alexa yordamida ovoz bilan boshqarish mumkin bo'lgan estafeta. Biz qurilmani yaratish, ilovani ulash va IOTning turli xizmatlariga ulanish uchun zarur bo'lgan barcha qadamlarni ko'rib chiqamiz.
Ta'minotlar
- Wemos D1 Mini Lite ESP8285 (Amazonda bir necha dollar)
- Arduino/Raspberry Pi uchun 5V o'rni moduli
- 2N2222 NPN tranzistorli
- 47K ohmli qarshilik
- 1K ohmli qarshilik
1 -qadam: O'chirish sxemasini yarating
Birinchi qadam - kontaktlarning zanglashiga olib chiqish. Men odatdagidek simlar va an'anaviy simlar sxemasini qo'shdim. Men birinchi sxemani prototipli taxtada qildim, keyin uni doimiyroq sozlash uchun PCBga o'tkazdim va uni 3D bosilgan loyiha qutisiga joylashtirdim.
O'rnimizni optik izolyatsiyalangan H/L 5V o'rni bo'lib, demak, birinchi navbatda, tetik sxemasi o'z o'rni faollashuvidan optik jihatdan ajratilgan, bu esa o'rni Wemos mikrokontroleriga qaytarish bilan bog'liq bo'lgan barcha muammolarni bartaraf qiladi. Yaxshi xavfsizlik. Ikkinchidan, u baland/past o'zgaruvchan, ya'ni uni rasmda ko'rilgan sariq o'tish moslamasini, signal baland bo'lganda (+5V) yoki signal past bo'lsa (0V) ishga tushirish orqali sozlash mumkin.. Wemos -ning o'zi raqamli pimlardan 3,3V uzatadi va biz D1 -ni tetik manbai sifatida ishlatamiz, demak biz uni biroz kuchaytirishimiz kerak, shuning uchun biz o'rni ishga tushirish uchun +5V raqamli signalga yaqinlashamiz. Shu bilan bir qatorda, siz 3,3V o'rni ishlatishingiz va kontaktlarning zanglashiga olib keladigan tranzistorli kuchaytirgich komponentini olib tashlashingiz va to'g'ridan -to'g'ri D1dan o'rni signal piniga o'tishingiz mumkin. Menda 3,3V o'rni yo'q edi, shuning uchun biz ko'proq tarqalgan 5V o'rni va kuchaytirgich sxemasidan foydalanamiz.
O'rnimizni DC+ va DC- o'rni ishlashi uchun zarur kuchlanishni ta'minlaydigan Wemosning 5V va GND pinlariga ulanadi. O'rnimizni kichik voltajdan tortib to tarmoq voltajigacha baholanadi, lekin men buni past kuchlanishli simli dasturni boshqarish uchun ishlataman. Agar siz buni tarmoq kuchlanishini nazorat qilish uchun ishlatayotgan bo'lsangiz, iltimos, nima qilayotganingizni, malakali ekanligingizga va tegishli ehtiyot choralarini ko'rganingizga ishonch hosil qiling. Agar yo'q bo'lsa, uni chiziqli kuchlanish dasturlarini boshqarish uchun ishlatmang.
Wemos -dagi pin D1 47K ohmli rezistorga ulanadi, u NPN tranzistorining bazasiga kiradi. Emitent erga qaytadi. Kollektor o'rni bo'yicha signal kirishiga ulangan. O'rnimizni pastdan ishga tushirish uchun o'rnatiladi, shuning uchun D1 signal berganda, 3,3v signal taxminan 5V ga kuchayadi va o'rni ochiq bo'ladi. D1 past bo'lganda, o'rni uchun signal past bo'ladi va o'rni yopiladi va kontaktlarning zanglashiga olib keladi.
Men vaqtinchalik sxemani rasmlar taxtasida suratga olishni unutganman, lekin agar u foydali bo'lsa, yuqoridagi Fritzing diagrammasiga o'xshardi. Men o'zimning oxirgi doimiy davramning bir nechta rasmlarini qo'shdim, shuning uchun siz qanday qilib ulanganligini ko'rishingiz mumkin, agar sizga ba'zi tushuncha kerak bo'lsa yoki men foydalanadigan aniq komponentlar haqida ma'lumot kerak bo'lsa.
2 -qadam: Wemos -ni dasturlash - umumiy nuqtai
Wemos menga yoqadigan narsalardan biri shundaki, ularni xuddi shu IDE yordamida Arduino kabi dasturlash mumkin. Bu erda bir necha qadam bor.
- Wemos drayverlarini kompyuterga o'rnating, Wemos bilan gaplashish mumkin
- Wemos taxtasi mavjud bo'lishi uchun Arduino IDE -ni yangilang
- Hamma narsa to'g'ri ishlayotganiga ishonch hosil qilish uchun "Blink" tez testini o'tkazing
- Blynk -ni sozlang (bilaman, bu chalkash, lekin bu "miltillash testidan" farq qiladi)
- Blynk -dan dastur kodini oling
- Wemos/Arduino kodini Blynk ma'lumoti bilan yangilang
- Kodni Wemos sozlamalariga yuklang.
3 -qadam: Wemos -ni dasturlash - haydovchilarni o'rnatish
Bu erga o'ting (bu havola vaqti -vaqti bilan o'zgarib turadi, men uni yangilab turishga harakat qilaman):
www.wemos.cc/en/latest/ch340_driver.html
Va OS uchun to'g'ri haydovchi paketini yuklab oling. Keyin zipni katalogga chiqarib oling va uni o'rnatish uchun "SETUP" dasturini ishga tushiring.
Men buni birinchi marta qilganimda, men o'rnatmaganimda g'alati xatoga yo'l qo'ydim. Men boshqa birovning bu va uning yechimi haqidagi yozuvini ko'rdim, bu men uchun ishlagan. Agar sizda xato bo'lsa, "O'chirish" tugmachasini ishlatib ko'ring va keyin "O'rnatish" ni qayta ishlating. Umid qilamanki, bu men uchun bo'lgani kabi muammoni hal qiladi.
4 -qadam: Wemos -ni dasturlash - Arduino IDE -ni yangilang
Agar siz Arduino IDE -ni o'rnatmagan bo'lsangiz, hozir buni qilishning eng yaxshi vaqti. Siz uni www.arduino.cc saytidan yuklab olishingiz mumkin
Mana bu bosqichda nima qilishimiz kerakligi haqida ma'lumot.
wiki.wemos.cc/tutorials:get_started:get_st…
-
Keling, yangi taxtani o'rnatamiz, shunda u Arduino IDE -da variant sifatida ko'rinadi. 2-4 bosqichlari keyingi github sahifasidagi o'rnatish qo'llanmasidan olingan.
github.com/esp8266/Arduino
- Arduino IDE -ni ishga tushiring va "Sozlamalar" oynasini oching.
- Kengash menejerining qo'shimcha URL manzili maydoniga "https://arduino.esp8266.com/stable/package_esp8266com_index.json" kiriting. Siz bir nechta URL manzillarini vergul bilan ajratib qo'shishingiz mumkin.
- "Asboblar"> "Kengash"> "Kengashlar menejeri" bo'limida "menejerlar menejeri" ni oching, "esp8266" ni qidiring va ko'rsatilgan esp8266 platformasini o'rnating.
- Bu erda siz Tools → Board: xxx -da Wemos platalarini ko'rasiz. Wemos D1 Mini -ni tanlang. Mening holatimda, rasmdan ko'rinib turibdiki, o'ziga xos ism "LOLIN (WEMOS) D1 R2 & mini" edi.
- Kompyuter va Wemos o'rtasida USB kabelini ulang
- Asboblar menyusida "Port" endi faol ekanligini va to'g'ri ko'rinishini tasdiqlang.
5 -qadam: Wemosni dasturlash - Blink testi
Oldinga borishdan oldin, biz Wemos kengashi bilan aloqa o'rnatishga ishonch hosil qilishimiz kerak va hamma narsa yaxshi ko'rinadi. Buning eng oson yo'li - USB kabelini ulash va oddiy dasturni Wemos -ga ulash. Blink - bu eng oson misol va meni yangi taxtalar bilan ishlashda ko'p qiyinchiliklardan qutqardi, men buni doim birinchi bo'lib qilaman.
- Boring: Fayl> Misollar> ESP8266> Ko'zni yuming va Wemos qurilmasi uchun miltillash eskizini yuklang.
- Eskizni tuzing va yuklang
Agar ko'k LED sekundiga bir marta miltillay boshlasa, keyingi bosqichga o'ting. Agar yo'q bo'lsa, orqaga qayting va oldingi qadamlarni tuzating. Haydovchilar va boshqaruv menejerida muammo borligini tekshiring. Menda ESP8266 uchun taxta to'plami bilan bog'liq ba'zi muammolar bor edi va sodir bo'layotgan versiyalar bilan g'alati narsa tufayli uni butunlay o'chirib tashlashim va qayta o'rnatishim kerak edi. Taslim bo'lmang, va Internetdagi qidiruvlar sizning do'stingiz bo'lishi mumkin!
Hammasi yaxshi deb hisoblasangiz, keyingi bosqichga o'ting.
6 -qadam: Wemos -ni dasturlash - Blynk -ni sozlash
Keyingi qadamlarda biz Blynk -da hisob qaydnomasini o'rnatishimiz va biz yaratgan sxemani boshqarish uchun token olishimiz kerak.
- Ilovani yuklab oling va hisob yarating (bepul)
- Yangi loyiha yarating
- Uskuna sifatida Wemos D1 ni tanlang Qurilmani tanlang
- Loyihaga nom bering va ulagich turini WiFi sifatida saqlang
- Loyiha yaratish -ni bosing
- Bu vaqtda Blynk hisob qaydnomangizni yaratishda foydalangan elektron pochta manzilingizga Auth Token elektron pochta orqali yuboriladi. Buni keyinroq saqlang, biz keyingi bosqichda eskizga qiymatlarni kiritamiz.
- Bo'sh tuval ekraniga o'tsangiz, chapga suring va vidjet menyusini olasiz. Loyihaga "tugma" qo'shish uchun "Tugma" ni tanlang
- Tugmani tanlang, keyin pinni bosing va "Raqamli" va "D1" ni pi sifatida tanlang va "OK" tugmasini bosing.
- Bu vaqtda hamma narsa tayyor bo'lishi kerak. Buni faollashtirish uchun siz yuqori o'ng burchakdagi uchburchak belgisini tanlashni xohlar edingiz, lekin biz eskiz yuklanmaguncha va konfiguratsiya qilinmaguncha u ishlamaydi, bu keyingi qadam!
7 -qadam: Wemosni dasturlash - Blynk kutubxonasini o'rnatish
Blynk asosidagi eskizni yuklash uchun biz ularning kutubxonasini o'rnatishimiz kerak. Tafsilotlarni bu erda topishingiz mumkin.
github.com/blynkkk/blynk-library/releases
Shuningdek, ba'zi bir ma'lumot olish uchun ularning asosiy veb-saytini bu erda ko'ring (https://blynk.io/en/getting-started)
Avvaliga bu meni chalkashtirib yubordi, lekin tuyulganidan osonroq. Faylni Arduino katalogiga oching. Men uchun bu / user / Documents / Arduino ichida edi. U erda allaqachon "kutubxonalar" deb nomlangan papka bor edi. Zip faylida "kutubxona" va "asboblar" katalogi mavjud. Siz uni Arduino katalogiga ochganingizda, u tarkibini kutubxonalarga qo'shib qo'yadi va agar u mavjud bo'lmasa asboblar yaratadi.
8 -qadam: Wemos - eskizni dasturlash
Bu nuqtada deyarli ishimiz tugadi. Eskiz juda oddiy, u to'g'ridan -to'g'ri Blynkdan va asosan Blynk xizmati va taxtani bog'laydi. Siz bu erda ularning quruvchisidan foydalanishingiz mumkin:
examples.blynk.cc/?board=WeMos%20D1&shield=ESP8266%20WiFi&example=Widgets%2FTerminal
Yoki siz uchun mos bo'lishi kerak bo'lgan ushbu namunadan foydalanishingiz mumkin. Wi -Fi tarmog'i uchun avtorizatsiya tokenining qiymatlari va hisob ma'lumotlarini almashtirganingizga ishonch hosil qiling.
/*************************************************************
Blynk-ning so'nggi kutubxonasini bu yerdan yuklab oling: https://github.com/blynkkk/blynk-library/releases/latest Blynk-bu Arduino, Raspberry Pi va boshqalarni Internet orqali boshqarish uchun iOS va Android ilovalari o'rnatilgan platforma. Vidjetlarni sudrab tashlab, barcha loyihalaringiz uchun grafik interfeyslarni osongina qurishingiz mumkin. Yuklamalar, hujjatlar, qo'llanmalar: https://www.blynk.cc Sketch generatori: https://examples.blynk.cc Blynk hamjamiyati: https://community.blynk.cc Bizni kuzatib boring: https://www.fb. com/blynkapp Blynk kutubxonasi MIT litsenziyasi ostida litsenziyalangan Ushbu misol kodi jamoat mulki hisoblanadi. ************************************************ *********** Siz WidgetTerminal obyekti yordamida istalgan ma'lumotlarni yuborishingiz/qabul qilishingiz mumkin. Ilova loyihasini sozlash: Virtual Pin V1 ga biriktirilgan terminal vidjeti ************************************* **********************//*Chop etishlarni o'chirish va joyni tejash uchun buni sharhlang*/ #define BLYNK_PRINT Serial #include #include // Siz avtorizatsiyani olishingiz kerak Blynk ilovasidagi token. // Loyiha sozlamalariga o'ting (yong'oq belgisi). char auth = "YourAuthToken"; // Wi -Fi ma'lumotlari. // Ochiq tarmoqlar uchun parolni "" ga o'rnating. char ssid = "Sizning tarmog'ingiz nomi"; char pass = "Sizning parolingiz"; // Virtual ketma -ket terminalni Virtual Pin V1 WidgetTerminal terminaliga (V1) ulang; // Terminaldan qurilmangizga buyruqlar yuborishingiz mumkin. BLYNK_WRITE (V1) {// terminal vidjetingiz bilan bir xil Virtual PIN -kodni ishlating, agar siz terminal vidjetiga "Marko" yozsangiz - u javob beradi: "Polo:" if (String ("Marko") == param.asStr ()) {terminal.println ("Siz aytdingiz:" Marko ""); terminal.println ("Men aytdim:" Polo "); } else {// Uni qaytarib yuboring terminal.print ("Siz aytdingiz:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Hamma narsa yuborilganligiga ishonch hosil qiling terminal.flush (); } void setup () {// Debug konsoli Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Siz shuningdek serverni belgilashingiz mumkin: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Bu sizning uskunangiz Blynk Server terminal.println (F ("Blynk v" BLYNK_VERSION: Qurilma ishga tushirilgan) ga ulanganida // Blynk Software versiyasini Terminal vidjetiga bosib chiqaradi. terminal.println (F ("-------------")); terminal.println (F ("Marko" yozing va javob oling yoki yozing ")); terminal.println (F ("boshqa hamma narsa va uni qaytarib chop etish"))); terminal.flush (); } void loop () {Blynk.run (); }
9 -qadam: Wemosni dasturlash - Oxirgi qadam
Eskiz yuklangandan so'ng, eskizni kompilyatsiya qiling va yuklang, shunda siz sozlamangizni sinab ko'rishga tayyor bo'lishingiz kerak!
Blynk ilovasini oching, Wemos loyihangiz uchun o'ng yuqori burchakdagi uchburchakni bosing
Keyin tugmani bosing! Siz o'rni chertganini eshitishingiz kerak va o'rni taxtasidagi holat LEDlari o'rni holati o'zgarganligini ko'rsatadi.
Endi siz o'rni oddiy kalitni talab qiladigan past kuchlanishli har qanday dasturga ulashingiz va uni Blynk ilovangizdan boshqarishingiz mumkin. Biz qilishimiz kerak bo'lgan oxirgi narsa - IFTTT -ni bog'lash va Blynk tizimini boshqarish uchun Google yoki Alexa -dan foydalanish, shuning uchun biz buni Blynk ilovamizdan qilishimiz shart emas.
10 -qadam: Blynkni IFTTT va Google Home yoki Alexa yordamida boshqarish
Men siz IFTTT bilan yaxshi tanish deb o'ylayman. Agar yo'q bo'lsa, IFTTT -dan qanday foydalanish va undan foydalanishni o'rganishga yordam beradigan ajoyib darsliklar mavjud. Bu juda kuchli va agar siz hali tanish bo'lmagan bo'lsangiz, o'rganishni xohlaysiz.
- IFTTT -da yangi applet yarating
- "Agar shunday bo'lsa" sifatida Google yordamchisini tanlang va tetik sifatida "oddiy iborani" ishlating. Men uchun, bu mening kaminimni yoqadigan yoki o'chiradigan bo'lgani uchun, mening iboram "kaminni yoq" edi.
- "Keyin bu" qismi uchun Webhooks -ni qidiring va foydalaning
- "Veb -so'rov yuborish" -ni tanlang.
-
Siz foydalanmoqchi bo'lgan URL uchun:
"https://blynk-cloud.com/XXXXYYYZZZZ/update/d5?value=1"
- Usulni GET -ga, kontent turini urlcoded -ga o'rnating va siz BODY -ni bo'sh qoldirib, keyin saqlashingiz mumkin.
Bir necha daqiqa kutib turing, keyin davom eting va iborani Google uy qurilmangizda sinab ko'ring. Tayyor bo'lishga ikki daqiqa vaqt ketishini payqadim.
DIQQAT: bu erda yana bir narsaga e'tibor qaratish lozim. E'tibor bering, men API qo'ng'irog'ida "d5" dan foydalanmoqdaman, lekin bortdagi D1 piniga ulanganman. Taxminan GPIO PIN -kodi va ekranga bosilgan raqamlar bir xil emasligini aniqlashga bir kun vaqt ketdi. To'g'ridan -to'g'ri URL qo'ng'iroqlari bilan qiymatlarni o'zgartirgandan va volt o'lchagich bilan turli pimlardagi kuchlanishni sinab ko'rganimdan so'ng, men d1 -ga API orqali qo'ng'iroq kuchlanishni o'zgartirdi, lekin bortda D1 emas. d5/GPIO 5 aslida bortdagi D1 ga mos keladi. Men bu sozlamani kiritganimdan so'ng, hamma narsa yaxshi ishladi!
Alexa -ni ulash Google uyiga o'xshaydi, buning o'rniga IFTTT -da Alexa xizmatidan foydalaning.
11 -qadam: Xulosa
Bu vaqtda sizda Wemos D1 mini lite yordamida ovozli boshqariladigan IOT rölesi bo'lishi kerak. Xursand bo'ling va omad tilaymiz!
Shunga qaramay, elektr energiyasi xavfli, shuning uchun tegishli ehtiyot choralarini ko'ring va agar malakangiz bo'lmasa, iltimos qilmang.
Tavsiya:
Alexa -ga asoslangan ovozli boshqariladigan raketa tashuvchisi: 9 qadam (rasmlar bilan)
Alexa -ga asoslangan ovozli boshqariladigan raketa tashuvchisi: Qish mavsumi yaqinlashganda; chiroqlar bayrami nishonlanadigan yilning shu vaqti keladi. Ha, biz butun dunyo bo'ylab nishonlanadigan haqiqiy hind festivali bo'lgan Diwali haqida gapirayapmiz. Bu yil Diwali allaqachon tugadi va odamlarni ko'rish
Ikki tugmachali o'rni kaliti: 3 qadam
Ikkita tugmachali o'rni kaliti: Ushbu maqolada siz qanday qilib yoqish va o'chirish tugmachasini o'chirishni ko'rsatasiz, bu sxemani ikkita kalit yordamida bajarish mumkin. Siz bitta kalitni bosasiz va lampochka yonadi. Siz boshqa kalitni bosasiz va lampochka o'chadi. Biroq, bu Ins
RFID Arduino Uno o'rni kaliti, I2C displeyli: 4 qadam
RFID Arduino Uno Relay Switch, I2C displeyli: Salom, bu mening birinchi loyiham, mening ismim Oskar, men 13 yoshdaman. Bu loyiha oddiy emas, I2C displey bilan ishlaydi
Uy avtomatizatsiyasi ESP-01 bilan WiFi yorug'lik kaliti va tugmachali o'rni moduli: 7 qadam
Uy avtomatizatsiyasi ESP-01 va tugmachali o'rni moduli bilan WiFi yorug'lik o'chirgichi: Shunday qilib, oldingi ko'rsatmalarda biz ESP Flasher yordamida Tasmota bilan ESP-01ni dasturlashtirdik va ESP-01ni wifi tarmoqlariga uladik. Endi biz uni dasturlashni boshlashimiz mumkin. Wi -Fi yoki tugma yordamida yorug'lik kalitini yoqish/o'chirish uchun
Ovozli faollashtirilgan o'rni kaliti (Arduino): 6 qadam (rasmlar bilan)
Ovozli faollashtirilgan o'rni (Arduino): Hammaga salom! Ushbu loyihada men sizga Arduino loyihalaringiz uchun ovozli buyruqlarni qanday bajarishni ko'rsataman. Ovozli buyruqlardan foydalanib, men sizga o'rni almashtirish modulini qanday boshqarishni ko'rsataman