Mundarija:

Arduino asosidagi ovozli boshqariladigan IOT o'rni kaliti (Google Home va Alexa qo'llab-quvvatlanadi): 11 qadam
Arduino asosidagi ovozli boshqariladigan IOT o'rni kaliti (Google Home va Alexa qo'llab-quvvatlanadi): 11 qadam

Video: Arduino asosidagi ovozli boshqariladigan IOT o'rni kaliti (Google Home va Alexa qo'llab-quvvatlanadi): 11 qadam

Video: Arduino asosidagi ovozli boshqariladigan IOT o'rni kaliti (Google Home va Alexa qo'llab-quvvatlanadi): 11 qadam
Video: Kattalar uchun o’yinchoq 2024, Noyabr
Anonim
Arduino asosidagi ovozli boshqariladigan IOT röleyi (Google Home va Alexa qo'llab-quvvatlanadi)
Arduino asosidagi ovozli boshqariladigan IOT röleyi (Google Home va Alexa qo'llab-quvvatlanadi)

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

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

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.

  1. Wemos drayverlarini kompyuterga o'rnating, Wemos bilan gaplashish mumkin
  2. Wemos taxtasi mavjud bo'lishi uchun Arduino IDE -ni yangilang
  3. Hamma narsa to'g'ri ishlayotganiga ishonch hosil qilish uchun "Blink" tez testini o'tkazing
  4. Blynk -ni sozlang (bilaman, bu chalkash, lekin bu "miltillash testidan" farq qiladi)
  5. Blynk -dan dastur kodini oling
  6. Wemos/Arduino kodini Blynk ma'lumoti bilan yangilang
  7. Kodni Wemos sozlamalariga yuklang.

3 -qadam: Wemos -ni dasturlash - haydovchilarni o'rnatish

Wemos -ni dasturlash - haydovchilarni o'rnatish
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

Wemos -ni dasturlash - Arduino IDE -ni yangilang
Wemos -ni dasturlash - Arduino IDE -ni yangilang
Wemos -ni dasturlash - Arduino IDE -ni yangilang
Wemos -ni dasturlash - Arduino IDE -ni yangilang
Wemos -ni dasturlash - Arduino IDE -ni yangilang
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…

  1. 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

  2. Arduino IDE -ni ishga tushiring va "Sozlamalar" oynasini oching.
  3. 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.
  4. "Asboblar"> "Kengash"> "Kengashlar menejeri" bo'limida "menejerlar menejeri" ni oching, "esp8266" ni qidiring va ko'rsatilgan esp8266 platformasini o'rnating.
  5. 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.
  6. Kompyuter va Wemos o'rtasida USB kabelini ulang
  7. Asboblar menyusida "Port" endi faol ekanligini va to'g'ri ko'rinishini tasdiqlang.

5 -qadam: Wemosni dasturlash - Blink testi

Wemos dasturlash - Blink testi
Wemos 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.

  1. Boring: Fayl> Misollar> ESP8266> Ko'zni yuming va Wemos qurilmasi uchun miltillash eskizini yuklang.
  2. 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

Wemos -ni dasturlash - Blynk -ni sozlash
Wemos -ni dasturlash - Blynk -ni sozlash
Wemos -ni dasturlash - Blynk -ni sozlash
Wemos -ni dasturlash - Blynk -ni sozlash
Wemos -ni dasturlash - Blynk -ni sozlash
Wemos -ni dasturlash - Blynk -ni sozlash

Keyingi qadamlarda biz Blynk -da hisob qaydnomasini o'rnatishimiz va biz yaratgan sxemani boshqarish uchun token olishimiz kerak.

  1. Ilovani yuklab oling va hisob yarating (bepul)
  2. Yangi loyiha yarating
  3. Uskuna sifatida Wemos D1 ni tanlang Qurilmani tanlang
  4. Loyihaga nom bering va ulagich turini WiFi sifatida saqlang
  5. Loyiha yaratish -ni bosing
  6. 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.
  7. Bo'sh tuval ekraniga o'tsangiz, chapga suring va vidjet menyusini olasiz. Loyihaga "tugma" qo'shish uchun "Tugma" ni tanlang
  8. Tugmani tanlang, keyin pinni bosing va "Raqamli" va "D1" ni pi sifatida tanlang va "OK" tugmasini bosing.
  9. 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

Image
Image

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.

  1. IFTTT -da yangi applet yarating
  2. "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.
  3. "Keyin bu" qismi uchun Webhooks -ni qidiring va foydalaning
  4. "Veb -so'rov yuborish" -ni tanlang.
  5. Siz foydalanmoqchi bo'lgan URL uchun:

    "https://blynk-cloud.com/XXXXYYYZZZZ/update/d5?value=1"

  6. 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: