Mundarija:

Alexa va Arduino yordamida ovozli boshqaruv: 10 qadam (rasmlar bilan)
Alexa va Arduino yordamida ovozli boshqaruv: 10 qadam (rasmlar bilan)

Video: Alexa va Arduino yordamida ovozli boshqaruv: 10 qadam (rasmlar bilan)

Video: Alexa va Arduino yordamida ovozli boshqaruv: 10 qadam (rasmlar bilan)
Video: MKS SGEN L V1.0 - Basics 2024, Iyul
Anonim
Alexa va Arduino yordamida ovozli boshqaruv
Alexa va Arduino yordamida ovozli boshqaruv

Loyihaning asosiy maqsadi - harorat sensori yordamida qurilmani yoqish yoki o'chirish uchun kalitni (o'rni) boshqarish.

Materiallar ro'yxati

  1. 12V o'rni moduli ==> $ 4.2
  2. Arduino uno ==> $ 8
  3. DHT11 harorat sensori ==> 3 dollar
  4. ESP8266 moduli ==> $ 4.74
  5. N26 optokupl ==> $ 0,60
  6. LM1117 kuchlanish regulyatori ==> $ 0,60
  7. Non paneli ==> $ 2,2
  8. Jumper simlari ==> $ 2,5
  9. 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 -ni GitHub bilan bog'lash
Heroku -ni GitHub bilan bog'lash
Heroku -ni GitHub bilan bog'lash
Heroku -ni GitHub bilan bog'lash
Heroku -ni GitHub bilan bog'lash
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

Amazon
Amazon
Amazon
Amazon
Amazon
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
Arduino
Arduino
Arduino
Arduino
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

Komponent tavsifi
Komponent tavsifi
Komponent tavsifi
Komponent tavsifi
Komponent tavsifi
Komponent tavsifi
Komponent tavsifi
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

Hamma narsani tekshirish
Hamma narsani tekshirish
Hamma narsani tekshirish
Hamma narsani tekshirish
Hamma narsani tekshirish
Hamma narsani tekshirish
Hamma narsani tekshirish
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

VUI (ovozli foydalanuvchi interfeysi) diagrammasi
VUI (ovozli foydalanuvchi interfeysi) diagrammasi

8 -qadam: demo

Image
Image

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: