- Megfelelő anyag:
- 1. rész: A Raspberry Pi beállítása SSH-val és VNC-vel
- 2. rész: Állítsa be az Amazon fejlesztői fiókját, és állítsa be az Alexa Voice Services szolgáltatást a Raspberry Pi alkalmazásban:
- 3. rész: A PubNub és az IFTTT beállítása az Alexa Pi otthoni automatizáláshoz :
- 3-2. Rész: Az IFTTT beállítása az Amazon Alexa Service szolgáltatáshoz:
- 4. rész: Hardvercsatlakozások és kapcsolási rajz:
- 5. rész: Python kód a LED vezérléséhez:
Gondolt már valaha olyan hangszóróra, amelyet a hangja vezérelhet !!! Mi van, ha háztartási készülékeinket így tudjuk irányítani, és okosabbá tudjuk tenni ezeket a készülékeket? A hangsegédek egyre népszerűbbek, amikor az AI és az IoT alapú rendszerek korszaka felé tartunk. Hallott a Google Segédről, az Apple Siriről és az Amazon Alexáról . Ezek mind Voice alapú AI rendszerek, ezek különböznek egymástól az ökoszisztémájukon, és itt az Amazon Alexa a legjobban kiemelkedő. A Google, az Apple és az Amazon, mindezek a vállalatok már elindították okos hangszóróikat, de az Amazon volt az első, aki bevezette az intelligens hangszórókat. Az Amazon visszhangja, az Echo Dot Spot stb. A piacon elérhető intelligens hangszórók.
Az Amazon biztosítja az API-t a népszerű, Alexa hangszolgáltatás használatához. Nyílt forráskódú és elérhető a Githubon. Továbbá telepítheti vagy integrálhatja az Alexát olyan egyedi eszközökre, mint a Raspberry Pi, és megszerezheti az eszköz teljes Amazon Echo funkcióját.
Az Alexa hangszolgáltatás használatával zenélhetünk, információkat szerezhetünk az időjárásról, jegyeket foglalhatunk és még sok minden mást. Csak annyit kell tennie, hogy „kérdezzen”. Ebben az oktatóanyagban meglátjuk, hogyan vezérelhetjük a Raspberry Pi GPIO-t az Alexa Voice szolgáltatások segítségével egy LED világítására.
Megfelelő anyag:
Hardverkövetelmények:
- Raspberry Pi 3 vagy Raspberry Pi 2 B modell és SD kártya (8 GB vagy több)
- Külső hangszóró 3,5 mm-es AUX kábellel
- Bármilyen webkamera vagy USB 2.0 mikrofon
- Relé modul
- VEZETTE
Megjegyzés: A webkamera beépített mikrofonnal rendelkezik, ezért ezt az USB 2.0 mikrofon helyett fogjuk használni.
Szoftveralkalmazások és webkövetelmények:
- Regisztráljon egy fiókot az Alexa Voice Services szolgáltatásban
- Regisztráljon egy fiókot a PubNub-nál
- Regisztráljon egy fiókot az IFTTT-nél
Feltételezzük azt is, hogy a Raspberry pi már be van állítva egy Raspbian operációs rendszerrel, és csatlakozik az internethez. Ezekkel a helyükön folytassuk az oktatóanyaggal. Ha még nem ismeri a Raspberry Pi alkalmazást, akkor először tanulmányozza át a Raspberry pi használatának megkezdését.
Az egész oktatóanyag főleg 5 részre oszlik, amelyek a következők:
- Ha nem rendelkezik monitorral, akkor be kell állítanunk a Raspberry Pi-t SSH-val és VNC-vel, valamint ellenőrizzük az USB-mikrofon csatlakozását is.
- Állítsa be az Amazon fejlesztőt, és telepítse az Alexát a Raspberry Pi-re
- A PubNub és az IFTTT beállítása az Alexa Home Automation számára
- Hardver kapcsolat
- Python kód az Alexa Pi GPIO Control számára
Ha egyszerűen a hangjával szeretné vezérelni a LED-et, akkor ellenőrizze a Bluetooth alapú, hangvezérelt LED-projektünket is.
1. rész: A Raspberry Pi beállítása SSH-val és VNC-vel
Először összekapcsoljuk a Raspberry Pi-t az SSH-val és a VNC-vel. Ehhez kövesse az oktatóanyagokat a Raspberry Pi hivatalos webhelyén, az alábbiakban pedig a linkek találhatók.
SSH esetén: SSh link
VNC esetén: VNC link
Ha van Monitorja, akkor elhagyhatja ezt a lépést és folytathatja közvetlenül a 2. lépéssel, amely az Alexa Voice Service (Avs) beállítása. Előtte ellenőriznünk kell a mikrofon csatlakozását.
Webkamera mikrofon ellenőrzése Raspberry Pi-vel:
1. Nyissa meg a Raspberry Pi terminált, és írja be az arecord -l parancsot. Ez az alábbiak szerint jeleníti meg a Raspberry Pi-hez csatlakoztatott hardvereszközöket:
Az 1. kártya az Ön webkamerájának mikrofonja, amelyet használni fogunk. Ha nem jelenik meg, a webkamera hibás lehet.
2. Most ellenőrizze, hogy működik-e a mikrofon, a hangrögzítés parancs futtatásával
arecord /home/pi/Desktop/test.wav -D sysdefault: KÁRTYA = 1
3. A rögzített hang lejátszásához írja be ezt a parancsot:
omxplayer -p -o helyi /home/pi/Desktop/test.wav
Ha HDMI-kábellel csatlakoztatta a Raspberry Pi-t a monitorhoz, akkor alapértelmezés szerint a hangkimenet a monitor hangszóróján keresztül történik (ha beépített hangszóró van benne). Tehát, hogy 3,5 mm-re változtassa, be kell írnia a következő parancsot:
sudo raspi-config és lépjen az Advance opcióra.
Válassza a Hang lehetőséget a listából -> válassza a Kényszerítés 3,5 mm-t -> válassza az Ok lehetőséget, és indítsa újra a Raspberry Pi alkalmazást.
Most 3,5 mm-es csatlakozóból kell hallania a hangot.
MEGJEGYZÉS: Ha növelni vagy csökkenteni szeretné a mikrofon bemeneti hangerejét, írja be a terminál alsamixer típusát. Válassza ki a hangkártyát a terminálról az F6 megnyomásával.
Nyomja meg az F4 billentyűt a Mic dB erősítés megváltoztatásához és a kívánt beállításhoz.
Ha USB 2.0 mikrofonnal rendelkezik, akkor a mikrofon ellenőrzéséhez ugyanazok a lépések következnek. Itt a webkamerát használtuk az USB mikrofonhoz.
2. rész: Állítsa be az Amazon fejlesztői fiókját, és állítsa be az Alexa Voice Services szolgáltatást a Raspberry Pi alkalmazásban:
Ezt már részletesen ismertettük korábbi oktatóanyagunkban, ahol egy Amazon Echo intelligens hangszórót építettünk. Itt összpontosítunk a Raspberry Pi GPIO vezérlésére az Alexa-val, így nem magyarázzuk el újra az egész folyamatot, ezért olvassa el az előző cikket, és készítse elő a hangszórót a Raspberry pi-re telepített Alexa hangszolgáltatásokkal.
Alexa teszteléséhez csak ébressze fel a nevének kimondásával! Ellenőrizze a bemutató végén megadott bemutató videót.
Megkérdezheti tőle a város hőmérsékletét, hogy ellenőrizze, működik-e vagy sem.
3. rész: A PubNub és az IFTTT beállítása az Alexa Pi otthoni automatizáláshoz :
A Raspberry Pi GPIO vezérléséhez az Alexa Pi használatával a PubNub python SDK és az IFTTT segítségére van szükségünk. Az Alexa-n keresztül parancsokat adunk az IFTTT-nek, a PubNub pedig jelet ad az RPi-nek a LED be- és kikapcsolásához. Tehát először a PubNub-ot telepítjük a Raspberry Pi-re.
3-1. Rész: A PubNub Python SDK telepítése:
A PubNub egy üzenetküldő API-t biztosít bármely üzenet közzétételéhez / előfizetéséhez a globális hálózatukon. Itt az IFTTT-t és az Alexát használjuk az üzenet közzétételére a PubNub-ban, hogy a Raspberry Pi GPIO alacsony / magas legyen. Ezt az üzenetet a Raspberry Pi kapta meg, és Pi ennek megfelelően be- vagy kikapcsolja a LED-et. Kövesse az alábbi lépéseket a PubNub beállításához a Raspberry Pi alkalmazásban:
1. lépés: Nyissa meg a terminált az RPi-n, és futtassa a következő parancsot az SDK telepítéséhez:
sudo pip install pubnub == 3.9.0
Csak a 3.9.0 verziót telepítse, a másik verzió nem fog működni a python szkriptel, amelyet az utolsóban fogunk futtatni.
2. lépés: Most lépjen a PubNub oldalra, és jelentkezzen be a hitelesítő adatokkal.
3. lépés:. Szerezze be a később közzétett közzétételi és feliratkozási kulcsokat .
3-2. Rész: Az IFTTT beállítása az Amazon Alexa Service szolgáltatáshoz:
Az IFTTT egy ingyenes webalapú szolgáltatás, amely lehetővé teszi a felhasználók számára, hogy egyszerű feltételes utasításokat, úgynevezett „recepteket” hozzanak létre, amelyeket más webszolgáltatások, például a Gmail, a Facebook, az Instagram és a változások váltanak ki. Az IFTTT az „If This Then That” rövidítése.
Ehhez a projekthez az IFTTT-t használják a Raspberry Pi GPIO LOW / HIGH elkészítésére az RPi-n futó Alexa szolgáltatás által kapott beszédparancs alapján.
Kövesse az alábbi lépéseket egy kisalkalmazás létrehozásához:
1. lépés: - Bejelentkezés IFTTT a hitelesítő adatait vagy Regisztráció ha nem rendelkezik fiókkal rajta.
2. lépés: - A Saját kisalkalmazásokon kattintson az Új kisalkalmazások elemre
3. lépés: - Kattintson a + erre gombra
4. lépés: - Keressen az Amazon Alexában, és kattintson rá, jelentkezzen be az Amazon fejlesztői fiókjának adataival.
5. lépés: - Válassza ki a ravaszt, Mondjon egy konkrét kifejezést
6. lépés: - Adja meg a „ kapcsolja be a villanyt” kifejezést, kattintson a Trigger létrehozása gombra.
7. lépés: - Kattintson a + gombra
8. lépés: - Keresés Webhooks, kattints azt és a Select Make a Web Request
9. lépés: - A Webhooks biztosítja a REST WEB kérést, használja a PubNub által kapott Közzététel és Feliratkozás kulcsokat, és módosítsa a következő URL-t.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
10. lépés: - Illessze be a módosított URL-t az URL szövegmezőbe.
11. lépés: - Állítsa be a Módszert GET, Tartalom alkalmazásként / json, és kattintson a Mentés gombra .
12. lépés: - Ugyanazokat a lépéseket követve hozza létre a ravaszt a „ fény kikapcsolásához ”, és módosítsa az URL-t a következőkre.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
13. lépés: - Most már készen állunk a bemutató összes web-összetevőjével.
4. rész: Hardvercsatlakozások és kapcsolási rajz:
Ehhez a projekthez egy egyszerű LED-re van szükségünk tesztelés céljából. Az alábbiakban bemutatjuk a Raspberry Pi GPIO vezérlésének kapcsolási rajzát és hardver kapcsolatait az Amazon Alexa segítségével.
A GPIO18-at fogjuk használni a python szkriptünkben, ezért csatlakoztassa a 18-as LED-et.
5. rész: Python kód a LED vezérléséhez:
Az oktatóanyag végén keresse meg a teljes Python szkriptet.
Szerkesztenie kell a Pub és Sub kulcsokat a pubnub kulcsokkal a python kódban.
# Alaphelyzetbe a Pubnub Keys pub_key = "***************************" sub_key = „*********** ************* "
Most futtassa a Script-et
python alexaRpi.py
Most mindannyian készen állunk a bemutatóra. Mielőtt folytatná, győződjön meg arról, hogy az 1. részből származó három szolgáltatást (a három terminált) futtatja.
Bármely parancs megadásához fel kell ébresztenie az Alexa szolgáltatást úgy, hogy minden alkalommal, amikor parancsot akar küldeni, felhívja az „Alexa” szolgáltatást. Hangjelzést hall. Miután meghallotta a sípoló hangot, mondja: „ Alexa Trigger Kapcsolja be a villanyt. ”Láthatja, hogy a fény egy pillanat alatt bekapcsol. És akkor, ha azt mondja, hogy „ Alexa Trigger kapcsolja ki a fényt ”, akkor a fénynek ki kell kapcsolnia.
Ez az…. Továbbá hozzáadhat egy relét a váltóáramú készülék vezérléséhez, még akkor is, ha számos készüléket vezérelhet, ha több relét és több Raspberry pi GPIO tűt használ.
Ellenőrizze az alábbi teljes kódot és bemutató videót. Itt ellenőrizheti az összes otthoni automatizálási projektünket is.