Mundarija:
- 1 -qadam: Heroku -ni GitHub bilan bog'lash
- 2 -qadam: Amazon
- 3 -qadam: Arduino
- 4 -qadam: Komponent tavsifi
- 5 -qadam: ulanishlar
- 6 -qadam: Hamma narsani tekshirish
- 7 -qadam: VUI (ovozli foydalanuvchi interfeysi) diagrammasi
- 8 -qadam: demo
- 9 -qadam: sxematik
Video: Alexa va Arduino yordamida ovozli boshqaruv: 10 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Loyihaning asosiy maqsadi - harorat sensori yordamida qurilmani yoqish yoki o'chirish uchun kalitni (o'rni) boshqarish.
Materiallar ro'yxati
- 12V o'rni moduli ==> $ 4.2
- Arduino uno ==> $ 8
- DHT11 harorat sensori ==> 3 dollar
- ESP8266 moduli ==> $ 4.74
- N26 optokupl ==> $ 0,60
- LM1117 kuchlanish regulyatori ==> $ 0,60
- Non paneli ==> $ 2,2
- Jumper simlari ==> $ 2,5
- Tugmani bosing ==> $ 2,5
Loyihaning umumiy qiymati taxminan 30 dollarni tashkil qiladi. Ushbu loyiha uch qismga bo'lingan. Birinchidan, biz dastur yaratish uchun heroku -dan foydalanamiz. Ikkinchidan, biz o'z ishimizni amalga oshirish uchun Amazon Alexa ko'nikmasini yaratamiz (eng muhim qismi). Uchinchidan, biz o'z uskunamizni o'rnatamiz va uni Arduino IDE yordamida dasturlashtiramiz.
1 -qadam: Heroku -ni GitHub bilan bog'lash
Heroku - bu veb -ilovalarni joylashtirish modeli sifatida ishlatiladigan bir nechta dasturlash tillarini qo'llab -quvvatlaydigan xizmat sifatida (PaaS) bulutli platforma. Birinchidan, heroku saytiga o'ting, yangi hisob yarating yoki u erga kiring. Havola quyida keltirilgan
Heroku veb -sayti
Yangi ilovani yaratishni boshlaylik. Men ilovani joylashtirganimda "iottempswitch" nomini berdim, havola yaratiladi.
Ilova tuzilgandan so'ng GitHub. GitHub/ ga o'ting.
U erga kiring yoki hisob qaydnomangiz bo'lmasa, ro'yxatdan o'ting. Tizimga kirganingizdan so'ng, yangi ombor yarating. O'zingiz xohlagan nomni bering va keyin ombor yaratish -ni bosing. Keyingi sahifada README -ni bosing, bu sahifada siz boshqalar bilan bo'lishmoqchi bo'lgan tavsifni bering. Shundan so'ng, yangi faylni belgilash -ni bosing. Keyin yuklash tugmasini bosing.
Jildni sudrab tashlab yuborish yoki faylni tanlashning ikkita varianti bor. Quyidan kerakli fayllarni yuklab oling. Fayllarni tanlagandan so'ng, o'zgarishlarni bajaring. Heroku -da yaratgan ilovani oching, so'ng tarqatish bo'limiga o'ting. Shundan so'ng, GitHub tomonidan yaratilgan GitHub. Give ombor nomini bosing. Mening vaziyatimda bu Smart-Relay. Buni nusxa ko'chiring va bu erga joylashtiring. Sizning havolangiz ko'rsatilgandan so'ng, ulanishni bosing. Keyin filialni joylashtirishni bosing (qo'llanma). Joylashtirilgandan so'ng, siz qurilish jurnalida havolani ko'rishingiz yoki sozlamalarda havolani ko'rishingiz mumkin. Biz Amazon mahoratiga ega bo'lganimizda, bu havola keyinroq kerak bo'ladi.
2 -qadam: Amazon
Alexa mahorat so'nggi rasmlar
Amazon Developer saytida biz Amazon mahoratidan foydalanib, harorat va namlikni sozlash orqali kalitni ishga tushirishni boshqaramiz.
Amazon dasturchilar saytiga o'ting. Havola quyida keltirilgan.
Amazon dasturchilar sayti
- I4 -rasmda ko'rsatilgandek, yuqori o'ng burchakda Ishlab chiquvchilar konsoliga o'ting
- Alexa -ga o'ting, keyin Alexa Skill to'plamini tanlang va "Yangi mahorat qo'shish" tugmasini bosib yangi mahorat yarating.
Agar siz yangi ko'nikmalarni qo'shsangiz, siz mahorat haqida ma'lumot sahifasini ko'rasiz.
1. Malaka ma'lumoti (i7 rasmda ko'rsatilganidek)
biz mahorat turini, tilini, ismini, chaqiruv nomini berishimiz kerak.
Malaka turi ==> moslamani tanlang
- Ism ==> istalgan nomni tanlang.
- Masalan, Alexa bilan aloqa qilishda foydalanadigan chaqiruv nomi ==> Alexa, sensordan kalitni yoqish yoki Alexa-ni yoqishni so'rang, bu erda chaqiruv nomlari- sensor va yorug'lik.
- Til ==> Ingliz tili (Hindiston). Mamlakatingizga qarab tanlang
saqlash va keyin keyingisini bosing
2. O'zaro ta'sir modeli
Bu erda biz mahorat quruvchisidan foydalanamiz. Shunday qilib, ko'nikmalarni ishlab chiqaruvchini ishga tushiring. sahifani i8 rasmda ko'rsatilgandek ko'rasiz.
Birinchidan, biz yangi maqsadlarni yaratamiz. Qo'shish -ni bosing (chap tomonda) va "smartswitch" dan foydalanmoqchi bo'lgan ismingizni bering
- I9 -rasmda ko'rsatilgandek "o'lchov_tipi" uyasi nomini va "harorat" va "namlik" qiymatini bering.
- Shundan so'ng, "so'rov" uyasi turiga ism qo'shing va i10 rasmda ko'rsatilgandek, "nima" va "nima" uyasi qiymatlari qo'shiladi.
- Shundan so'ng, "switchstate" uyasi turini qo'shing va i11 rasmda ko'rsatilgandek uyasi qiymatlari "yoqilgan" va "o'chirilgan".
- I12 -rasmda ko'rsatilgandek, "tempscale" uyasi turini qo'shing va "fahrenheit" va "celcuis" uyasi qiymatlari.
- Bu erda biz yangi uyalar turini qo'shamiz, buning uchun biz mavjud uyalar turini ishlatamiz, buning uchun mavjud uyadan foydalanish tugmasini bosishimiz kerak. Agar mavjud slotda amazon.number qidiring va uni tanlang va qo'shing. Qo'shgandan so'ng, siz uni i13 rasmda ko'rsatilgandek uyalar turida ko'rasiz.
Shunday qilib, biz uyalar turlarini bajaramiz, biz foydalanayotgan uyalar turi - 5. Endi, keyingi bosqichga o'ting, biz yaratgan niyatni bosing, bu mening fikrimcha, bu aqlli. O'ng tomonda siz i14 rasmda ko'rsatilgandek niyat uyasini ko'rasiz.
- Yangi uyani yarating, unga "Switch_State" nomini bering va i15 rasmda ko'rsatilgandek ochiladigan tugma yordamida "switchstate" ga joylashtiring.
- Yangi uyani yarating, unga "Sensor_Values" nomini bering va i16 -rasmda ko'rsatilgandek "o'lchov_tipi" ga joylashtiring.
- Yangi uyani yarating, unga "so'rov" deb nom bering va i17 -rasmda ko'rsatilgandek "so'rov" ga joylashtiring.
- Shundan so'ng, "tmp_scale" yangi uyasini yarating va uni i18 rasmda ko'rsatilgandek "temppsale" ga xaritada joylashtiring.
- Yangi raqamlar uyasini yarating va uni i19 -rasmda ko'rsatilgandek "Amazon. Numbers" ga joylashtiring.
Endi biz niyat uyalarini tugatdik. Biz 5 ta niyat uyasidan foydalanmoqdamiz. Shundan so'ng biz i20 rasmda ko'rsatilgandek namuna iboralariga o'tamiz.
Bu misol so'zlarini qo'shing.
kalitni ishga tushirish moslamasini {Raqamlar} foizga {tmp_scale}
{query} - o'tish holati
{Switch_State} tugmachasi
tugmachani {Raqamlar} daraja {tmp_scale} ga o'rnating
kalitni almashtirish {Switch_State}
{query} almashtirish {Switch_State}
{query} - joriy {Sensor_Values}
Shundan so'ng, modelni saqlang va uni yarating. Model qurilishini kuting, shundan so'ng konfiguratsiyani bosing, qurilishdan so'ng siz i21 va i22 rasmda ko'rsatilgandek xabarni ko'rasiz.
3. Konfiguratsiya
HTTPS -ni tanlang va heroku ilovasini yaratishda yaratilgan havolani qo'shing. Mening holimda bu https://iottempswitch.herokuapp.com/. Havola qo'shilgandan so'ng, i23 rasmda ko'rsatilgandek keyingisini bosing.
4. SSL sertifikati Ikkinchi variantni tanlang va i24 rasmda ko'rsatilgandek keyingisini bosing.
biz o'z mahoratimizni muvaffaqiyatli yaratdik.
3 -qadam: Arduino
Arduino IDE -ni oching, keyin Fayl ==> Tanlov -ga o'ting
Qo'shimcha taxtalar menejerida URLni nusxa ko'chiring va joylashtiring va i26 rasmda ko'rsatilgandek ok tugmasini bosing.
arduino.esp8266.com/versions/2.4.0/package_…
- Kengash menejerini ochish uchun Tools ==> Board ==> Board Manager -ga o'ting.
- Boards Manager -ni oching va i27 -rasmda ko'rsatilgandek nodemcu -ni qidiring.
- Shundan so'ng ESP8266WiFi kutubxonasini yuklab oling. Kutubxona menejerini oching: Sketch ==> Kutubxonani qo'shish ==> Kutubxonalarni boshqarish.
- ESP8266WiFi kutubxonasini qidiring va o'rnating.
- Kengashni tanlang ==> Umumiy ESP8266 moduli.
- Kodni yuklashdan oldin bizga uchta kutubxona kerak.
Kerakli kutubxonalar
Ushbu kutubxonalarni Arduino kutubxonalari papkasiga o'tkazing
Siz SSID, PWD va heroku ilovasi havolasida uchta narsani o'zgartirishingiz kerak, shundan so'ng kodni yuklang. ESP moduli uchun kodni yuklashda flesh tugmachasini bosish kerak, keyin reset tugmasini bir marta bosish kerak va keyin flesh tugmasini qo'yib yuborish kerak. Kodni yuklaganingizdan so'ng, terminalni oching. chiqishini ko'rasiz.
4 -qadam: Komponent tavsifi
1. Relay nima
Röle - bu elektromagnit qurilma bo'lib, u ikkita sxemani elektr izolyatsiyalash va magnit bilan ulash uchun ishlatiladi. Ular juda foydali qurilmalar bo'lib, ular bir -biridan ikkinchisiga to'liq bo'linishi mumkin. Ko'pincha ular elektron zanjirni (past kuchlanishli) juda yuqori kuchlanishli elektr zanjiriga ulash uchun ishlatiladi. Masalan, o'rni 230V o'zgaruvchan tok tarmog'ini almashtirish uchun 5V shahar akkumulyator zanjirini yaratishi mumkin.
U qanday ishlaydi
O'rnimizni kalitini ikki qismga bo'lish mumkin: kirish va chiqish. Kirish qismida elektron zanjiridan kichik kuchlanish qo'llanilganda magnit maydon hosil qiladigan lasan mavjud. Bu kuchlanish ish kuchlanish deb ataladi. Tez -tez ishlatiladigan o'rni 6V, 9V, 12V, 24V va boshqalar kabi turli xil ish kuchlanishlarining konfiguratsiyasida mavjud. Chiqish qismi mexanik ravishda ulanadigan yoki uziladigan kontaktorlardan iborat. Asosiy rölede uchta kontaktor mavjud: odatda ochiq (NO), odatda yopiq (NC) va umumiy (COM). Hech qanday kirish holatida, COM NC ga ulangan. Ishlash voltaji qo'llanilganda, o'rni lasan quvvatlanadi va COM kontaktni NO ga o'zgartiradi. SPST, SPDT, DPDT va boshqalar kabi turli xil röle konfiguratsiyalari mavjud, ular har xil kontaktli kontaktlarga ega. Kontaktorlarning to'g'ri kombinatsiyasidan foydalanib, elektr zanjirini yoqish va o'chirish mumkin. O'rnimizni kalitining tuzilishi haqida ichki ma'lumotlarni oling.
COM terminali umumiy terminal hisoblanadi. Agar COIL terminallari nominal kuchlanish bilan quvvatlansa, COM va NO terminallari uzluksizlikka ega. Agar COIL terminallari quvvatlanmasa, COM va NO terminallarining uzluksizligi yo'q.
NC terminali odatda yopiq terminal hisoblanadi. Bu o'rni ishlash uchun etarli yoki etarli kuchlanishni olmasa ham, uni yoqish mumkin bo'lgan terminal.
NO terminali odatda ochiq terminal hisoblanadi. Bu o'z o'rni nominal zo'riqishini olganda kerakli chiqishni joylashtiradigan terminal. Agar COIL terminallariga kuchlanish bo'lmasa yoki kuchlanish etarli bo'lmasa, chiqish ochiq va hech qanday kuchlanish qabul qilmaydi. COIL terminallari nominal zo'riqishni yoki biroz pastroq bo'lganda, NO terminali etarli kuchlanishni oladi va qurilmani chiqishda yoqishi mumkin.
2. DHT harorat sensori
DHT11 - namlik va harorat sensori, u kalibrlangan raqamli chiqishni yaratadi. DHT11 Arduino, Raspberry Pi va boshqalar kabi har qanday mikro kontroller bilan interfeys bo'lishi mumkin va darhol natijalarga erishadi. DHT11 - bu past namlik va harorat sensori, bu yuqori ishonchlilik va uzoq muddatli barqarorlikni ta'minlaydi.
3. ESP8266 to'liq tavsifi
ESP8266 WiFi moduli - bu TCP/IP protokoli bilan jihozlangan, har qanday mikrokontrolderga Wi -Fi tarmog'ingizga kirishni ta'minlaydigan mustaqil SOC. ESP8266 boshqa ilovadan tarmoqqa ulanish funktsiyalarini joylashtirish imkoniyatiga ega, har bir ESP8266 moduli AT buyrug'i bilan oldindan dasturlashtirilgan holda keladi.
ESP8266 VoIP ilovalari uchun APSD-ni va Bluetooth-ning birgalikda ishlash interfeyslarini qo'llab-quvvatlaydi, u o'z-o'zidan sozlangan chastotali chastotani o'z ichiga oladi, bu uning barcha ish sharoitida ishlashiga imkon beradi va RFning tashqi qismlarini talab qilmaydi.
Xususiyatlari
- 802.11 b/g/n
- Wi-Fi Direct (P2P),
- Yumshoq AP-TCP/IP protokoli to'plami
- Integratsiyalashgan TR kaliti, balun, LNA, quvvat kuchaytirgichi va mos keladigan tarmoq
- Birlashtirilgan PLLlar, regulyatorlar, DCXO va quvvatni boshqarish birliklari
- 802.11b rejimida +19,5 dBm chiqish quvvati
- Oqim oqimi <10uA
- 1 MB flesh xotira
- Birlashtirilgan past quvvatli 32 bitli protsessor dastur protsessori sifatida ishlatilishi mumkin
- SDIO 1.1 / 2.0, SPI, UART
- STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU va A-MSDU agregatsiyasi va 0,4ms himoya oralig'i
- Uyg'oning va paketlarni <2ms ichida yuboring
- Kutish rejimida quvvat iste'moli <1,0 mVt (DTIM3)
Pin tavsifi i34 rasmda ko'rsatilgandek.
ESP modulini Arduino UNO bilan ulash uchun bizga Lm1117 3.3 kuchlanish regulyatori yoki har qanday regulyator kerak bo'ladi, chunki Arduino ESP8266 ga 3,3 v kuchlanish bera olmaydi.
Eslatma:- Kodni yuklashda flesh tugmachasini bosing, keyin reset tugmasini bir marta bosing va i29 rasmda ko'rsatilgandek flesh tugmasini qo'yib yuboring.
DHT11 sensori va rölesini ulash uchun biz ESP8266 modulining ikkita GPIO pinidan foydalanamiz. Kodni yuklaganingizdan so'ng siz RX, TX, GPIO0 pinlarini uzib qo'yishingiz mumkin. Men DHT11 sensori uchun GPIO0 va o'rni uchun GPIO2 dan foydalanganman. DHT11 sensori ESP8266 bilan yaxshi ishlaydi, lekin o'rni uchun bizga bitta qo'shimcha narsa kerak, ya'ni opto izolyator yoki opto ulash. I30, i31, i32 va i33 rasmlariga qarang.
5 -qadam: ulanishlar
ESP8266 ===> DHT11GPIO0 ===> Chiqish pimi
ESP8266 ===> RelayGPIO2 ===> Kirish
ARDUINO ===> ESP8266
Gnd ===> GndTX ===> TX
RX ===> RX
Qayta tiklash tugmasi ===> RST
Flash tugmasi ===> GPIO0
6 -qadam: Hamma narsani tekshirish
Biz o'z ilovamizni, mahoratimizni muvaffaqiyatli yaratdik va uskunamiz tayyor. Shunday qilib, tekshirish vaqti keldi.
Buning uchun sizning ESP8266 yoqilgan, chunki bizning serverimiz ESP8266 da ishlaydi. Bu erda men hech qanday sensorni ESP8266 ga ulamadim, men uning ishlayaptimi yoki yo'qligini tekshiryapman, lekin siz sensori, o'rni ESP8266 ga ulashingiz mumkin. U Heroku -ga ulangandan so'ng siz ulanganini ko'rasiz. Sinov uchun siz yaratgan Amazon mahoratiga o'ting, keyin test sahifasini bosing. Ishlayotgani tasdiqlangandan so'ng men sensorimni ESP8266 ga ulayman. Siz natijalarni i35, i36, 37, 38, 39, 40 rasmlarda ko'rsatilgandek ko'rishingiz mumkin.
Agar siz uni ESP8266 -ni ulamasdan ishlatsangiz, bu xatoni i41 -rasmda ko'rsatilgandek olasiz.
Siz foydalanishingiz mumkin bo'lgan ibora
kalitni ishga tushirish moslamasini {Raqamlar} foizga {tmp_scale}
Masalan:- kalitni 50 % namlikka sozlang
{query} - o'tish holati
o'chirish- o'chirish holati
{Switch_State} tugmachasi
sobiq yoqish/o'chirish tugmasi
tugmachani {Raqamlar} daraja {tmp_scale} ga o'rnating
sobiq kalit tugmachasini 76 daraja farenheitga o'rnating
sobiq kalitni ishga tushirish moslamasini 24 daraja Selsiyga qo'ying
kalitni almashtirish {Switch_State}
ex - kalitni yoqish/o'chirish
Natijalar uchun i41 dan i46 gacha rasmga qarang.
AlexaAlexa bilan gaplashayotganda, arduino -dan kalitni yoqish/o'chirishni so'rang
Alexa, arduino -dan kalit tetiğini 24 daraja Selsiyga o'rnatishni so'rang.
Alexa, arduino -dan namlik namlagichini 50 % ga sozlashni so'rang
Alexa, arduino -dan yoqishni/o'chirishni so'rang
7 -qadam: VUI (ovozli foydalanuvchi interfeysi) diagrammasi
8 -qadam: demo
1. Harorat va namlik uchun tetiği o'rnating.
2. Tetikni 20 daraja Selsiyga o'rnating.
3. Tetikni namlikning 80 foizigacha o'rnating.
9 -qadam: sxematik
Tavsiya:
Eski noutbukdan Alexa ovozli tanish yordamida suzuvchi aqlli sehrli oyna: 6 qadam (rasmlar bilan)
Alexa ovozli identifikatorli eski noutbukdan aqlli sehrli ko'zgu: "Elektronika" kursiga yoziling: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK youtube kanalida boshqa loyihalar va elektronika bo'yicha darsliklar: https://www.youtube.com/channel/UCelOO
NodeMCU yordamida ovozli buyruq yordamida qurilmalarni boshqarish: 7 qadam (rasmlar bilan)
NodeMCU yordamida ovozli buyruq yordamida qurilmalarni boshqarish: Men hammaga salom aytmoqchiman, men birinchi marta ko'rsatma beradigan loyihani yozyapman. Ingliz tili mening ona tilim emas, shuning uchun iloji boricha qisqa va tushunarli qilib yozishga harakat qilaman. Qurilmalarni ovozli buyruq bilan boshqarish g'alati narsa emas
Alexa ovozli boshqaruv DIY: 7 qadam (rasmlar bilan)
Alexa Voice Control DIY: Salom, bu mening birinchi o'rgatuvchim, bu erda men Amazon Alexa uchun Google Assistant bilan ham ishlaydigan ovozli boshqaruv kalitlarini qanday qilishni ko'rsataman. Iltimos, menga ovoz bering
Alexa yordamida ovozli faollashtirilgan ommaviy axborot vositalari: 9 qadam (rasmlar bilan)
Alexa yordamida ovozli faollashtirilgan media asboblari: Bu erda ishlab chiqarilgan qurilma sizning qurilmangizni televizor, kuchaytirgich, CD va DVD pleerlar kabi Alexa va Arduino yordamida ovozli buyruqlar yordamida boshqaradi. Ushbu qurilmaning afzalligi shundaki, siz faqat ovozli buyruqlarni berishingiz kerak. Bu qurilma barcha jihozlar bilan ishlashi mumkin
Arduino Uno va Bluetooth yordamida uyni avtomatlashtirish ovozli boshqaruv: 4 qadam
Arduino Uno va Bluetooth yordamida uyni avtomatlashtirish Ovozni boshqarish: Ushbu loyiha ovozli boshqaruv yordamida xonadagi chiroqlar va fanatni yoqish uchun bluetooth modulini Arduino va android mobil qurilmalari bilan bog'lashdan iborat