- Reikalinga medžiaga:
- 1 dalis: „Raspberry Pi“ nustatymas naudojant SSH ir VNC
- 2 dalis: Nustatykite „Amazon“ kūrėjo paskyrą ir konfigūruokite „Alexa“ balso paslaugas „Raspberry Pi“:
- 3 dalis: „PubNub“ ir IFTTT nustatymas „Alexa Pi“ namų automatizavimui :
- 3-2 dalis: IFTTT nustatymas „Amazon Alexa Service“:
- 4 dalis. Techninės įrangos jungtys ir grandinės schema:
- 5 dalis: „Python“ kodas, skirtas valdyti šviesos diodą:
Ar kada pagalvojai apie garsiakalbį, kurį galima valdyti balsu !!! Ką daryti, jei mes galime tokiu būdu valdyti savo buitinę techniką ir padaryti ją protingesnę? Padėjėjai balsu tampa vis populiaresni, kai mes einame į AI ir DI pagrįstų sistemų erą. Jūs girdėjote apie „ Google“ padėjėją, „Apple Siri“ ir „Amazon Alexa“ . Tai visos yra „Voice“ pagrįstos dirbtinio intelekto sistemos, kuo jos skiriasi viena nuo kitos, yra jų ekosistemos, ir būtent čia labiausiai išsiskiria „ Amazon Alexa“. „Google“, „Apple“ ir „Amazon“, visos šios bendrovės jau išleido savo išmaniuosius garsiakalbius, tačiau „Amazon“ pirmoji pristatė išmaniuosius garsiakalbius. „Amazon“ aidas, „Echo Dot Spot“ ir kt. Yra išmanieji garsiakalbiai, kuriuos galima rasti rinkoje.
„Amazon“ teikia API naudodama savo populiarų balso paslaugą „ Alexa“. Jis yra atviro kodo ir pasiekiamas „Github“. Be to, galite įdiegti arba integruoti „Alexa“ pasirinktiniuose įrenginiuose, pvz., „Raspberry Pi“, ir gauti visą „Amazon Echo“ funkciją tame įrenginyje.
Naudodamiesi „ Alexa“ balso paslauga galime groti muziką, gauti informacijos apie orą, užsisakyti bilietus ir dar daugiau. Viskas, ką jums reikia padaryti, tai „paklausti“. Šioje pamokoje pamatysime, kaip galime valdyti „Raspberry Pi GPIO“ naudodami „Alexa Voice“ paslaugas, kad švytėtų šviesos diodas.
Reikalinga medžiaga:
Aparatinės įrangos reikalavimai:
- „Raspberry Pi 3“ arba „Raspberry Pi 2“ B modelio ir SD kortelė (8 GB ar daugiau)
- Išorinis garsiakalbis su 3,5 mm AUX kabeliu
- Bet kuri interneto kamera arba USB 2.0 mikrofonas
- Relės modulis
- LED
Pastaba: internetinėje kameroje yra įmontuotas mikrofonas, todėl mes jį naudosime vietoje USB 2.0 mikrofono.
Programinės įrangos programos ir žiniatinklio reikalavimai:
- Užregistruokite „Alexa Voice Services“ paskyrą
- Užregistruokite „PubNub“ paskyrą
- Užregistruokite sąskaitą IFTTT
Mes taip pat manome, kad jūsų „Raspberry pi“ jau yra įdiegta su „Raspbian“ OS ir yra prijungta prie interneto. Turėdami tai vietoje, pradėkime pamoką. Jei esate „Raspberry Pi“ naujokas, pirmiausia pereikite prie „Raspberry pi“ pradžios.
Visa pamoka daugiausia suskirstyta į 5 dalis, kurios yra tokios:
- Jei neturite monitoriaus, turime nustatyti „Raspberry Pi“ su SSH ir VNC, taip pat patikrinkite USB mikrofono ryšį.
- Nustatykite „Amazon“ kūrėją ir įdiekite „Alexa“ į „Raspberry Pi“
- „PubNub“ ir IFTTT nustatymas „Alexa Home Automation“
- Aparatinės įrangos ryšys
- „Alexa Pi GPIO Control“ Python kodas
Jei tiesiog norite valdyti šviesos diodą balsu, taip pat patikrinkite mūsų „Bluetooth“ pagrindu valdomą balsu valdomą LED projektą.
1 dalis: „Raspberry Pi“ nustatymas naudojant SSH ir VNC
Pirma, mes sujungsime Raspberry Pi su SSH ir VNC. Norėdami sekti instrukcijas oficialioje „Raspberry Pi“ svetainėje, nuorodos pateikiamos žemiau.
SSH: SSh nuoroda
VNC: VNC nuoroda
Jei turite „Monitor“, galite palikti šį veiksmą ir pereiti tiesiai prie 2 žingsnio, kuris yra „Alexa Voice Service“ (AVS) nustatymas. Prieš tai turime patikrinti mikrofono ryšį.
Internetinės kameros mikrofono tikrinimas naudojant „Raspberry Pi“:
1. Atidarykite „Raspberry Pi“ terminalą ir įveskite „ arecord -l“ komandą. Tai parodys aparatūros įrenginius, prijungtus prie „Raspberry Pi“, kaip parodyta žemiau:
1 kortelė yra jūsų internetinės kameros mikrofonas, kurį ketiname naudoti. Jei jis nerodomas, jūsų interneto kamera gali būti sugedusi.
2. Dabar patikrinkite, ar mikrofonas veikia, paleisdami garso įrašo komandą taip:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Norėdami paleisti įrašytą garsą, įveskite šią komandą:
omxplayer -p -o vietinis /home/pi/Desktop/test.wav
Jei „Raspberry Pi“ su monitoriumi prijungėte naudodami HDMI kabelį, pagal numatytuosius nustatymus garso išvestis yra per monitoriaus garsiakalbį (jei jame yra įmontuotas garsiakalbis). Taigi, norėdami pakeisti jį į 3,5 mm, turite įvesti šią komandą:
sudo raspi-config ir eikite į Iš anksto parinktį.
Iš sąrašo pasirinkite „Audio“ -> pasirinkite „Force 3.5mm Force“ -> pasirinkite Gerai ir paleiskite iš naujo „Raspberry Pi“.
Dabar turėtumėte išgirsti garsą iš 3,5 mm lizdo.
PASTABA: Jei norite padidinti arba sumažinti mikrofono įvesties balso garsumą, įveskite alsamixer tipą. Pasirinkite garso plokštę iš terminalo paspausdami F6.
Paspauskite F4, kad pakeistumėte „Mic dB“ stiprinimą ir nustatytumėte jį taip, kaip norite.
Jei turite USB 2.0 mikrofoną, atlikite tuos pačius veiksmus, kad patikrintumėte mikrofoną. Čia mes naudojome „Webcam“, skirtą USB mikrofonui.
2 dalis: Nustatykite „Amazon“ kūrėjo paskyrą ir konfigūruokite „Alexa“ balso paslaugas „Raspberry Pi“:
Mes tai jau išsamiai paaiškinome savo ankstesnėje mokymo programoje, kurioje sukūrėme „Amazon Echo“ išmanųjį garsiakalbį. Čia mes sutelkėme dėmesį į „ Raspberry Pi GPIO“ valdymą su „Alexa“, todėl dar kartą nepaaiškiname viso proceso, todėl perskaitykite ankstesnį straipsnį ir paruoškite savo garsiakalbį naudodami „Alexa“ balso paslaugas, įdiegtas jūsų „Raspberry pi“.
Norėdami išbandyti Alexą, tiesiog pažadinkite ją sakydami savo vardą! Patikrinkite demonstracinį vaizdo įrašą, pateiktą mokymo programos pabaigoje.
Galite paklausti jos apie jūsų miesto temperatūrą, kad patikrintumėte, ar ji veikia, ar ne.
3 dalis: „PubNub“ ir IFTTT nustatymas „Alexa Pi“ namų automatizavimui :
Norint valdyti „Raspberry Pi GPIO“ naudojant šią „Alexa Pi“, mums reikia „ PubNub python SDK“ ir IFTTT pagalbos. Mes duosime komandas IFTTT per „Alexa“, o „PubNub“ duoda signalą RPi įjungti / išjungti šviesos diodą. Taigi pirmiausia įdiegsime „PubNub“ į „Raspberry Pi“.
3-1 dalis: „PubNub Python SDK“ diegimas:
„PubNub“ teikia susirašinėjimo API, kad būtų galima paskelbti / užsiprenumeruoti bet kokį pranešimą savo pasauliniame tinkle. Čia mes naudojame IFTTT ir „Alexa“, kad paskelbtume pranešimą „PubNub“, kad Raspberry Pi GPIO būtų žemas / aukštas. Šį pranešimą gavo „Raspberry Pi“ ir Pi atitinkamai įjungs arba išjungs šviesos diodą. Norėdami nustatyti „PubNub“ „Raspberry Pi“, atlikite toliau nurodytus veiksmus.
1 veiksmas: atidarykite terminalą savo RPi ir paleiskite šią komandą, kad įdiegtumėte SDK:
sudo pip install pubnub == 3.9.0
Įdiekite tik 3.9.0 versiją, kita versija neveiks su „Python“ scenarijumi, kurį vykdysime paskutiniame.
2 žingsnis: Dabar eikite į „ PubNub“ ir prisijunkite naudodami savo kredencialus.
3 žingsnis:. Gaukite Paskelbimo ir Prenumeratos raktus, kuriuos naudosime vėliau.
3-2 dalis: IFTTT nustatymas „Amazon Alexa Service“:
IFTTT yra nemokama internetinė paslauga, leidžianti vartotojams sukurti paprastų sąlyginių teiginių, vadinamų „receptais“, grandines, kurios suveikia pakeitus kitas interneto paslaugas, tokias kaip „Gmail“, „Facebook“, „Instagram“ ir. IFTTT yra santrumpa „If This Then That“.
Šiam projektui IFTTT naudojamas „Raspberry Pi GPIO LOW / HIGH“ sukurti pagal kalbos komandą, kurią gavo „Alexa“ tarnyba, veikianti RPi.
Norėdami sukurti programėlę, atlikite šiuos veiksmus:
1 žingsnis: - Prisijunkite prie IFTTT naudodami savo kredencialus arba prisiregistruokite, jei neturite paskyros.
2 žingsnis: - „ Mano programėlėse“ spustelėkite „ Nauja programėlė“
3 žingsnis: - Spustelėkite + tai
4 žingsnis: - Ieškokite „Amazon Alexa“ ir spustelėkite jį, prisijunkite naudodami savo „Amazon“ kūrėjo paskyros informaciją.
5 žingsnis: - Pasirinkite gaiduką, pasakykite konkrečią frazę
6 žingsnis: - kaip frazę nurodykite „ įjungti šviesą“ , spustelėkite „ Sukurti paleidiklį“.
7 žingsnis: - Spustelėkite + tai
8 žingsnis: - Ieškokite „ Webhook“, spustelėkite jį ir pasirinkite Pateikti interneto užklausą
9 žingsnis: - „ Webhooks“ pateikia „REST WEB“ užklausą, naudokite „PubNub“ gautus skelbimo ir prenumeratos raktus ir pakeiskite šį URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
10 žingsnis: - Įklijuokite modifikuotą URL į URL teksto laukelį.
11 žingsnis: - Nustatykite metodą kaip GET, turinį kaip programą / „Json“ ir spustelėkite išsaugoti.
12 žingsnis: - atlikite tuos pačius veiksmus, kad sukurtumėte veiksmą „ užgesinti šviesą “ ir pakeiskite URL taip.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
13 žingsnis: - Dabar mes pasirengę su visais žiniatinklio komponentais demonstracijai.
4 dalis. Techninės įrangos jungtys ir grandinės schema:
Šiam projektui atlikti reikalingas paprastas šviesos diodas. Žemiau yra " Raspberry Pi GPIO" valdymo grandinės schema ir aparatūros jungtys su "Amazon Alexa".
Savo python scenarijuje naudosime GPIO18, todėl prijunkite savo LED 18 relę. Tai galite pakeisti python scenarijuje.
5 dalis: „Python“ kodas, skirtas valdyti šviesos diodą:
Šios instrukcijos pabaigoje raskite visą „Python“ scenarijų.
Turite redaguoti „Pub“ ir „Sub“ raktus naudodami „pubnub“ raktus pitono kode.
# Inicializuokite „Pubnub“ raktus pub_key = "***************************" " sub_key =" *********** ************* "
Dabar paleiskite scenarijų
python alexaRpi.py
Dabar mes visi pasirengę demonstracijai. Prieš tęsdami įsitikinkite, kad naudojate visas tris 1 dalies paslaugas (tris terminalus).
Norėdami duoti bet kokią komandą, turite pažadinti „Alexa“ paslaugą skambindami „Alexa“ kiekvieną kartą, kai norite išsiųsti komandą. Išgirsite pyptelėjimą. Išgirdę pypsėjimą, pasakykite „ Alexa Trigger“ Įjunkite šviesą. Per akimirką galite pamatyti, kaip šviesa įsijungia. Ir tada, jei sakote „ Alexa Trigger Turn off Light “, šviesa turėtų išsijungti.
Viskas…. Galite dar pridėti relę, kad valdytumėte kintamosios srovės prietaisą, net jūs galite valdyti daugelį prietaisų naudodami daugiau relių ir daugiau „Raspberry pi“ GPIO kaiščių.
Žemiau patikrinkite visą kodą ir demonstracinį vaizdo įrašą. Čia taip pat patikrinkite visus mūsų namų automatikos projektus.