- 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 svetlobe:
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, vendar jih je Amazon prvi predstavil. 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, da vprašate. V prejšnji vadnici smo z Amazon Alexa nadzorovali Raspberry Pi GPIO. V tej vadnici si oglejmo, kako z uporabo sistema Alexa Alexa in Raspberry Pi zgraditi sistem za avtomatizacijo domofona z glasom. Videli bomo, kako lahko uporabimo Raspberry Pi za zagon storitve Alexa Voice in nadzor žarnice.
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 / AC žarnica
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 Home Automation
Začnimo torej !!
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 gospodinjskih aparatov 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 gradnjo sistema za avtomatizacijo doma s tem Alexa Pi potrebujemo pomoč PubNub python SDK in IFTTT. IFTTT bomo prek Alexa dajali ukaze, PubNub pa RPi signalizira, da vklopi / izklopi luč. 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 za vklop / izklop releja. To sporočilo prejme Raspberry Pi in Pi bo ustrezno vklopil ali izklopil luč. Sledite spodnjim korakom za nastavitev PubNub-a na Raspberry Pi:
1. 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. Zdaj pojdite na PubNub in se prijavite s svojimi poverilnicami.
3. 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 sprožitev ukazov za vklop / izklop luči na podlagi govornega ukaza, ki ga prejme 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 potrebujemo relejni modul in žarnico z izmeničnim tokom ali katero koli drugo komponento izmeničnega toka ali pa lahko za preskus uporabite preprosto LED. Spodaj je diagram vezja in strojne povezave za nadzor naprave AC z Amazon Alexa.
V našem skriptu python bomo uporabili GPIO18, zato priključite rele na GPIO 18. To lahko spremenite v skriptu python.
5. del: Pythonova koda za nadzor svetlobe:
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… V skriptu python lahko dodate več naprav za izmenični tok, tako da jih dodate z drugimi GPIO nožicami RPi, s svojim sistemom pametne avtomatizacije doma pa lahko nadzirate številne naprave.
Spodaj preverite celotno kodo in predstavitveni video. Tukaj preverite tudi vse naše projekte avtomatizacije domov.