- Perfect material:
- 1. del: Nastavitev Raspberry Pi s SSH in VNC
- 2. del: Nastavite svoj račun razvijalca za Amazon in konfigurirajte glasovne storitve Alexa na Raspberry Pi:
- 3. del: Nastavitev PubNub in IFTTT za avtomatizacijo doma Alexa Pi :
- Del 3-2: Nastavitev IFTTT za storitev Amazon Alexa:
- 4. del: Strojne povezave in vezje:
- 5. del: Pythonova koda za nadzor LED:
Ste že kdaj pomislili na zvočnik, ki ga lahko nadzirate s svojim glasom !!! Kaj pa, če lahko na ta način nadzorujemo svoje gospodinjske aparate in jih naredimo pametnejše? Glasovni pomočniki postajajo vse bolj priljubljeni, ko gremo v obdobje sistemov, ki temeljijo na umetni inteligenci in IoT. Slišali ste za Google Assistant, Apple Siri in Amazon Alexa . Vse to so sistemi z glasovno inteligenco, ki se med seboj razlikujejo, so njihovi ekosistemi in tu Amazon Alexa najbolj izstopa. Google, Apple in Amazon, vsa ta podjetja so že predstavila svoje pametne zvočnike, toda Amazon je prvi predstavil pametne zvočnike. Amazon echo, Echo Dot Spot itd. So pametni zvočniki, ki so na voljo na trgu.
Amazon ponuja API za uporabo svoje zelo priljubljene glasovne storitve Alexa. Je odprtokodna in na voljo na Githubu. Nadalje lahko Alexa namestite ali integrirate v naprave po meri, kot je Raspberry Pi, in v tej napravi dobite celotno funkcionalnost Amazon Echo.
Z glasovno storitvijo Alexa lahko predvajamo glasbo, dobimo informacije o vremenu, rezerviramo vozovnice in še veliko več. Vse, kar morate storiti, je 'vprašati'. V tej vadnici bomo videli, kako lahko nadzorujemo Raspberry Pi GPIO s pomočjo storitev Alexa Voice, da sveti LED.
Perfect material:
Zahteve glede strojne opreme:
- Raspberry Pi 3 ali Raspberry Pi 2 Model B in SD kartica (8 GB ali več)
- Zunanji zvočnik s 3,5 mm AUX kablom
- Vsaka spletna kamera ali mikrofon USB 2.0
- Relejni modul
- LED
Opomba: Spletna kamera ima vgrajen mikrofon, zato jo bomo uporabili namesto mikrofona USB 2.0.
Programske aplikacije in spletne zahteve:
- Registrirajte račun pri Alexa Voice Services
- Registrirajte račun v PubNub
- Registrirajte račun pri IFTTT
Predvidevamo tudi, da je vaš Raspberry pi že nastavljen z OS Raspbian in je povezan z internetom. Ko so ti nameščeni, nadaljujmo z vadnico. Če ste novi v Raspberry Pi, najprej pojdite skozi Uvod v Raspberry pi.
Celotna vadnica je v glavnem razdeljena na 5 delov, ki so naslednji:
- Če nimate monitorja, moramo Raspberry Pi nastaviti s SSH in VNC, preverite tudi povezavo USB mikrofona.
- Nastavite svojega razvijalca za Amazon in namestite Alexa na Raspberry Pi
- Nastavitev PubNub in IFTTT za Alexa Home Automation
- Povezava strojne opreme
- Koda Pythona za Alexa Pi GPIO Control
Če preprosto želite z glasom upravljati LED, preverite tudi naš projekt LED z glasovnim nadzorom, ki temelji na Bluetoothu.
1. del: Nastavitev Raspberry Pi s SSH in VNC
Najprej bomo Raspberry Pi povezali s SSH in VNC. Za te vadnice na uradni spletni strani Raspberry Pi so navedene povezave spodaj.
Za SSH: povezava SSh
Za VNC: VNC povezava
Če imate Monitor, lahko ta korak zapustite in nadaljujete neposredno do 2. koraka, ki je Nastavitev glasovne storitve Alexa (Avs). Pred tem moramo preveriti povezljivost mikrofona.
Preverjanje mikrofona spletne kamere z Raspberry Pi:
1. Odprite terminal Raspberry Pi in vnesite ukaz arecord -l. To bo prikazalo strojne naprave, ki so povezane z Raspberry Pi, kot je prikazano spodaj:
Kartica 1 je mikrofon vaše spletne kamere, ki ga bomo uporabili. Če ni prikazana, je spletna kamera morda okvarjena.
2. Zdaj preverite, ali mikrofon deluje, tako da zaženete ukaz za snemanje zvoka kot:
arecord /home/pi/Desktop/test.wav -D sysdefault: KARTICA = 1
3. Za predvajanje posnetega zvoka vnesite ta ukaz:
omxplayer -p -o local /home/pi/Desktop/test.wav
Če ste Raspberry Pi z monitorjem povezali s kablom HDMI, je privzeto zvočni izhod skozi zvočnik monitorja (če je v njem vgrajen zvočnik). Torej, če ga želite spremeniti na 3,5 mm, morate vnesti naslednji ukaz:
sudo raspi-config in pojdite na možnost Advance.
Na seznamu izberite Zvok -> izberite Force 3.5mm -> izberite Ok in znova zaženite Raspberry Pi.
Zdaj bi morali slišati zvok iz 3,5-milimetrskega priključka.
OPOMBA: Če želite povečati ali zmanjšati glasnost vhodnega glasu za mikrofon, v terminalu vnesite alsamixer . S tipko F6 izberite zvočno kartico s terminala.
Pritisnite F4, da spremenite ojačanje mikrofona dB in ga nastavite, kot želite.
Če imate mikrofon USB 2.0, sledijo enaki koraki za preverjanje mikrofona. Tu smo uporabili spletno kamero za mikrofon USB.
2. del: Nastavite svoj račun razvijalca za Amazon in konfigurirajte glasovne storitve Alexa na Raspberry Pi:
To smo že podrobno razložili v prejšnji vadnici, kjer smo zgradili pametni zvočnik Amazon Echo. Tu se osredotočamo na nadzor Raspberry Pi GPIO z Alexa, tako da ne bomo več razlagali celotnega postopka, zato preberite prejšnji članek in pripravite zvočnik z glasovnimi storitvami Alexa, nameščenimi na vašem Raspberry pi.
Če želite preizkusiti Alexa, jo samo zbudite z izgovarjanjem njenega imena! Na koncu vadnice preverite predstavitveni video.
Lahko jo vprašate o temperaturi vašega mesta, da preveri, ali deluje ali ne.
3. del: Nastavitev PubNub in IFTTT za avtomatizacijo doma Alexa Pi :
Za nadzor Raspberry Pi GPIO s tem Alexa Pi potrebujemo pomoč PubNub python SDK in IFTTT. IFTTT-ju bomo prek Alexa dajali ukaze, PubNub pa RPi-ju daje signal, da vklopi / izklopi LED. Torej bomo najprej namestili PubNub na Raspberry Pi.
Del 3-1: Namestitev PubNub Python SDK:
PubNub ponuja API za sporočanje za objavo / naročanje vseh sporočil v njihovem globalnem omrežju. Tu uporabljamo IFTTT in Alexa za objavo sporočila na PubNub, zaradi česar je Raspberry Pi GPIO nizek / visok. To sporočilo prejme Raspberry Pi in Pi bo ustrezno vklopil ali izklopil LED. Sledite spodnjim korakom za nastavitev PubNub-a na Raspberry Pi:
1. korak: Odprite terminal na RPi in zaženite naslednji ukaz za namestitev SDK:
sudo pip namestite pubnub == 3.9.0
Namestite samo različico 3.9.0, druga različica ne bo delovala s skriptom python, ki ga bomo izvajali v zadnjem.
2. korak: Zdaj pojdite na PubNub in se prijavite s svojimi poverilnicami.
3. korak:. Pridobite ključe za objavo in naročanje, ki jih bomo uporabljali kasneje.
Del 3-2: Nastavitev IFTTT za storitev Amazon Alexa:
IFTTT je brezplačna spletna storitev, ki uporabnikom omogoča ustvarjanje verig preprostih pogojnih stavkov, imenovanih "recepti", ki se sprožijo na podlagi sprememb drugih spletnih storitev, kot so Gmail, Facebook, Instagram in. IFTTT je okrajšava od "If This Then That".
Za ta projekt se IFTTT uporablja za izdelavo Raspberry Pi GPIO LOW / HIGH na podlagi govornega ukaza, ki ga je prejela storitev Alexa, ki deluje na RPi.
Sledite tem korakom, da ustvarite programček:
1. korak: - Prijavite se v IFTTT s svojimi poverilnicami ali se prijavite, če nimate računa.
2. korak: - V mojih apletih kliknite Nov programček
3. korak: - kliknite + to
4. korak: - Poiščite Amazon Alexa in kliknite nanjo, se prijavite s svojimi podatki o računu razvijalca za Amazon.
5. korak: - Izberite sprožilec, izgovorite določeno besedno zvezo
6. korak: - Kot stavek navedite » prižgite luč« , kliknite na Ustvari sprožilec.
7. korak: - kliknite + to
8. korak: - Poiščite spletne kljuke, kliknite nanjo in izberite Izdelaj spletno zahtevo
9. korak: - Webhooks nudi REST WEB zahtevo, uporabi ključe za objavo in naročanje, pridobljene iz PubNub, in spremeni naslednji URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
10. korak: - Spremenjeni URL prilepite v besedilno polje URL-ja.
11. korak: - Metodo nastavite na GET, Content kot application / json in kliknite shrani.
12. korak: - Z istimi koraki ustvarite sprožilec za » izklop luči « in spremenite URL v naslednje.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status"-0
Korak 13: - Zdaj smo pripravljeni z vsemi spletnimi komponentami za predstavitev.
4. del: Strojne povezave in vezje:
Za ta projekt za preskušanje potrebujemo preprosto LED. Spodaj je diagram vezja in strojne povezave za nadzor Raspberry Pi GPIO z Amazon Alexa.
V našem skriptu python bomo uporabili GPIO18, zato priključite rele LED 18. To lahko spremenite v skriptu python.
5. del: Pythonova koda za nadzor LED:
Na koncu te vadnice poiščite celoten skript Python.
Ključ Pub in Sub morate urediti s ključi pubnub v pythonovi kodi.
# Inicializirajte tipke za objavo pub_key = "***************************" sub_key = "*********** ************* "
Zdaj zaženite skript
python alexaRpi.py
Zdaj smo pripravljeni na predstavitev. Pred nadaljevanjem se prepričajte, da uporabljate vse tri storitve iz dela 1 (trije terminali).
Če želite dati kateri koli ukaz, morate prebuditi storitev Alexa tako, da vsakič, ko želite poslati ukaz, pokličite »Alexa«. Slišali boste pisk. Ko zaslišite pisk, recite » Alexa Trigger Turn the Light. ”Lučko lahko vidite v trenutku. In če izgovorite » Alexa Trigger Turn off the Light «, se mora lučka ugasniti.
To je to… Nadalje lahko dodate rele za krmiljenje naprave z izmeničnim tokom, tudi več naprav lahko nadzirate z uporabo več relejev in več GPIO nožic Raspberry pi.
Spodaj preverite celotno kodo in predstavitveni video. Tukaj preverite tudi vse naše projekte avtomatizacije domov.