Tartalomjegyzék:
- 1. lépés: Kezdeti beállítás
- 2. lépés: Az Ngrok beállítása
- 3. lépés: Python -szkript a fénykapcsoló vezérléséhez
- 4. lépés: Python -szkript a ventilátorvezérléshez
- 5. lépés: A LIRC csomag telepítése és konfigurálása
- 6. lépés: Python -szkript a TV -vezérléshez
- 7. lépés: Jelentkezzen be az AWS -fiókba
- 8. lépés: TV Alexa készség beállítása
- 9. lépés: Világít az Alexa Skill Setup
- 10. lépés: rajongó Alexa készség beállítása
- 11. lépés: Építse fel az áramkört
- 12. lépés: Alexa parancsol
Videó: Irányítsd a nappalit Alexával és Raspberry Pi -vel: 12 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Irányítsd nappalid TV -jét, fényeit és ventilátorát az Alexa (Amazon Echo vagy Dot) és a Raspberry Pi GPIO segítségével.
1. lépés: Kezdeti beállítás
Egy Raspberry Pi 2 -t és egy Raspbian Jessie -képet használtam, amelyeket a https://www.raspberrypi.org/downloads/raspbian/ webhelyről töltöttek le
Bejelentkezés után írja be a következő parancsokat a szükséges csomagok és python könyvtárak telepítéséhez:
sudo apt-get update && sudo apt-get upgrade -ysudo apt-get install python2.7-dev python-dev python-pip sudo pip install Lombik lombik-ask sudo apt-get install lirc
2. lépés: Az Ngrok beállítása
Látogasson el a https://ngrok.com/download oldalra, és töltse le a legújabb Linux ARM kiadást zip -ként, és bontsa ki a saját könyvtárban:
bontsa ki a /home/pi/ngrok-stable-linux-arm.zip fájlt
Nyisson meg egy új terminált, és írja be a következő parancsot:
sudo./ngrok http 4000
Nyisson meg egy új terminált, és írja be a következő parancsot:
sudo./ngrok http 4500
Nyissa meg a harmadik új terminált, és írja be a következő parancsot:
sudo./ngrok http 5000
3. lépés: Python -szkript a fénykapcsoló vezérléséhez
Nyisson meg egy új terminál szekciót, és hozzon létre egy új python fájlt light_control.py néven:
nano light_control.py
Másolja/illessze be a következő kódot az új fájlba:
lombik importálásból Lombikfrom flask_ask import Kérdés, utasítás, convert_errors import RPi. GPIO mint GPIO import naplózás importálás os GPIO.setmode (GPIO. BCM) app = Lombik (_ name_) ask = Ask (app, '/') logging.getLogger (" setLevel (logging. DEBUG) @ask.intent ('LightControlIntent', mapping = {'status': 'status'}) def light_control (állapot): try: pinNum = 27, kivétel e: return utasítás ('A PIN -kód érvénytelen.') GPIO.setup (pinNum, GPIO. OUT), ha az állapot ['on', 'high']: GPIO.output (pinNum, GPIO. LOW), ha az állapot ['off', ' low ']: GPIO.output (pinNum, GPIO. HIGH) return utasítás (' Turning {} the Living Room Lights'.format (status)) if _name_ == '_main_': port = 4000 app.run (host = ') 0.0.0.0 ', port = port)
Mentse és zárja be a fájlt.
Indítsa el a lombik szervert a következővel:
sudo python light_control.py
Hagyja futni mind az ngrok, mind a light_control.py
4. lépés: Python -szkript a ventilátorvezérléshez
Nyisson meg egy új terminál szekciót, és hozzon létre egy új python fájlt fan_control.py néven:
nano fan_control.py
Másolja/illessze be a következő kódot az új fájlba:
lombik import lombikból
from flask_ask import Kérdés, utasítás, convert_errors import RPi. GPIO mint GPIO import naplózás import os GPIO.setmode (GPIO. BCM) app = Flask (_ name_) ask = Ask (app, '/') logging.getLogger ("flask_ask").setLevel (logging. DEBUG) @ask.intent ('FanControlIntent', mapping = {'status': 'status'}) def fan_control (állapot): try: pinNum = 22, kivéve e: return utasítás nem érvényes. ') GPIO.setup (pinNum, GPIO. OUT), ha az állapot [' be ',' magas ']: GPIO.output (pinNum, GPIO. LOW), ha az állapot [' ki ',' alacsony ']: GPIO.output (pinNum, GPIO. HIGH) visszatérési utasítás ('Turning {} the Living Room Lights'.format (status)) if _name_ ==' _main_ ': port = 4500 app.run (host =' 0.0.0.0 ', port = port)
Mentse és zárja be a fájlt.
Indítsa el a lombik szervert a következővel:
sudo python fan_control.py
Hagyja futni mind az ngrok, mind a light_control.py, mind a fan_control.py fájlokat
5. lépés: A LIRC csomag telepítése és konfigurálása
A TV vezérléséhez konfigurálnia kell egy tűt a Raspberry Pi -n, hogy infravörös (IR) jeleket generáljon az adott TV -hez. Nyissa meg a terminált, és írja be a következő parancsot egy LIRC csomag telepítéséhez, amely sok távirányító infravörös jeleit emulálja.
sudo apt-get install lirc
Ezután engedélyeznie és konfigurálnia kell a lirc_rpi kernel modult. Ehhez nyisson meg modulokat a Nano szerkesztőben
sudo nano /etc /modules
Adja hozzá az alábbi sorokat a fájlhoz (Győződjön meg arról, hogy a gpio_out_pin paraméter az IR LED -et vezérlő tűre mutat):
lirc_devlirc_rpi gpio_out_pin = 17
Ezután nyissa meg a hardware.conf fájlt a Nano -ban, mint korábban sudo -val:
sudo nano /etc/lirc/hardware.conf
Adja hozzá a következő konfigurációt a fájlhoz:
LIRCD_ARGS = "-uinput" LOAD_MODULES = igaz
DRIVER = "alapértelmezett"
Eszköz = "/dev/lirc0"
MODULES = "lirc_rpi"
LIRCD_CONF = ""
LIRCMD_CONF = ""
Most indítsa újra a Raspberry Pi -t:
sudo újraindítás
6. lépés: Python -szkript a TV -vezérléshez
Nyisson meg egy új terminál munkamenetet, és hozzon létre egy új python fájlt ir_control.py néven:
nano ir_control.py
Lépjen a https://lirc-remotes.sourceforge.net/remotes-table… oldalra.
Keresse meg a TV -vel kompatibilis távirányítót. Esetemben van egy Sanyo TV-m, amely a sanyo-tv01 konfigurációs fájllal működik. Ha megtalálta a TV -t támogató fájlt, nyissa meg, és nézze át a parancsbeállításokat.
Másolja/illessze be a következő kódot az új fájlba, és cserélje le a sanyo-tv01-et a TV-vel működő fájlnévvel. Győződjön meg arról is, hogy a tv -parancsokat támogatja a TV konfigurációs fájlja; Lehet, hogy módosítania kell a KEY_POWER, KEY_VIDEO, KEY_VOLUMEUP, KEY_VOLUMEDOWN és KEY_MUTE parancsokat, hogy megfelelően működjenek a TV konfigurációs fájljával:
lombik importálásból Lombikfrom flask_ask import Kérdés, utasítás, convert_errors import RPi. GPIO mint GPIO import naplózás import os GPIO.setmode (GPIO. BCM) app = Lombik (_ név_) ask = Kérdezzen (app, '/') logging.getLogger (" flask_ask "). setLevel (logging. DEBUG) @ask.intent ('GPIOControlIntent', mapping = {'status': 'status'}) #'pin': 'pin'}) def tv_function (status): ha az ['bekapcsolás']: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_POWER") visszatérési utasítás ("A TV bekapcsolása") elif állapota a ['kikapcsolás'] alatt: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_POWER ") visszatérési utasítás ('A TV kikapcsolása') elif állapota a ['input input'] -ban: os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VIDEO ") os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VIDEO ") return utasítás ('A tévé bemenetének megváltoztatása') elif állapota a ['hangerő növelése'] -ben: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP ") os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP ") visszatérési utasítás (" Hangerő növelése a tévén ") elif állapota ['hangerő csökkentése']: os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEDOWN ") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEDOWN") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEDOWN") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEDSOWNYENSENSION ") visszatérési nyilatkozat (" Csökkenő hangerő a TV-n ") elif állapota ['mute']: os.system (" irsend SEND_ONCE sanyo-tv01 KEY_MUTE ") visszatérési nyilatkozat (" A TV némítása ") elif állapota
Mentse és zárja be a fájlt.
Indítsa el a lombik szervert a következővel:
sudo python ir_control.py
Hagyja futni mind a három ngrok terminálablakot, a light_control.py, fan_control.py és ir_control.py
7. lépés: Jelentkezzen be az AWS -fiókba
Először hozza létre vagy jelentkezzen be AWS fejlesztői fiókjába, és nyissa meg az Alexa Skills listáját.
8. lépés: TV Alexa készség beállítása
Válassza az "Új készség hozzáadása" lehetőséget.
Állítsa a készségnevet „Trigger TV” értékre, a meghívási nevet pedig a szó (k) ra, amelyet használni szeretne a készség aktiválásához.
A folytatáshoz kattintson a „Tovább” gombra.
Másolja/illessze be a következőket a "Intent Schema" mezőbe:
"slot": [{"name": "status", "type": "TV_Function"}, {"name": "összeg", "type": "AMAZON. NUMBER"}], "aim": "GPIOControlIntent "}]}
Ezután kattintson a "Rés típus hozzáadása" gombra
Írja be a TV_Function funkciót az „Enter Type” mezőbe.
Írja be az alábbi értékeket az „Értékek megadása” mezőbe:
bekapcsol
kikapcsolás változtat bemenet hangerő csökkentése hangerő némítás némítás feloldása
Ezután másolja/illessze be a következőket a "Minta kijelentések" mezőbe:
GPIOControlIntent {status}
GPIOControlIntent {status} {összeg} szerint
A folytatáshoz kattintson a „Tovább” gombra.
Válassza ki a „HTTPS” szolgáltatási végpont típusát, és válasszon ki egy régiót. Írja be az ngrok URL -t a 2. lépésből, majd kattintson a „Tovább” gombra. Az URL -nek valahogy így kell lennie:
ed6ea04d.ngrok.io
A folytatáshoz kattintson a „Tovább” gombra, majd a „Mentés” gombra.
9. lépés: Világít az Alexa Skill Setup
Zárja be a nyitott készséget, és válassza az "Új készség hozzáadása" lehetőséget.
Állítsa a készségnevet „Lights Control” értékre, a meghívási nevet pedig a szó (k) ra, amelyet használni szeretne a készség aktiválásához.
A folytatáshoz kattintson a „Tovább” gombra. Másolja/illessze be a következőket a "Intent Schema" mezőbe:
{
"intents": [{"slots": [{"name": "status", "type": "LIGHTS_CONTROL"}], "aim": "LightsControlIntent"}]}
Ezután kattintson a „Rés típus hozzáadása” gombra.
Írja be a "LIGHTS_CONTROL" mezőt az "Enter Type" mezőbe.
Írja be az alábbi értékeket az „Értékek megadása” mezőbe:
tovább
ki
Ezután másolja/illessze be a következőket a "Minta kijelentések" mezőbe:
LightsControlIntent turn {status}
A folytatáshoz kattintson a „Tovább” gombra. Válassza ki a „HTTPS” szolgáltatási végpont típusát, és válassza ki a régiót. Írja be a ngrok URL -t a 2. lépésből, majd kattintson a „Tovább” gombra. Az URL -nek valahogy így kell lennie:
ed6ea04d.ngrok.io
A folytatáshoz kattintson a „Tovább” gombra, majd a „Mentés” gombra.
10. lépés: rajongó Alexa készség beállítása
Zárja be a nyitott készséget, és válassza az "Új készség hozzáadása" lehetőséget.
Állítsa a készségnevet „Ventilátorvezérlés” -re, a meghívási nevet pedig a szó (k) ra, amelyet használni szeretne a készség aktiválásához.
A folytatáshoz kattintson a „Tovább” gombra.
Másolja/illessze be a következőket a "Intent Schema" mezőbe:
{
"intents": [{"slots": [{"name": "status", "type": "FAN_CONTROL"}], "aim": "FANControlIntent"}]}
Ezután kattintson a „Rés típus hozzáadása” gombra.
Írja be a "FAN_CONTROL" mezőt az "Enter Type" mezőbe.
Írja be az alábbi értékeket az „Értékek megadása” mezőbe:
tovább
ki
Ezután másolja/illessze be a következőket a "Minta kijelentések" mezőbe:
FANControlIntent turn {status}
A folytatáshoz kattintson a „Tovább” gombra. Válassza ki a „HTTPS” szolgáltatási végpont típusát, és válassza ki a régiót. Írja be a ngrok URL -t a 2. lépésből, majd kattintson a „Tovább” gombra. Az URL -nek valahogy így kell lennie:
ed6ea04d.ngrok.io
A folytatáshoz kattintson a „Tovább” gombra, majd a „Mentés” gombra.
11. lépés: Építse fel az áramkört
Csatlakoztassa az áramkört az ábra szerint. JBtek 8 csatornás egyenáramú 5 V -os relé modult használtam az otthoni AC 120 V -os vezeték és a föld csatlakoztatásához.
12. lépés: Alexa parancsol
Most a következő parancsokat lehet elmondani Alexának, hogy irányítsa a nappalit.
Ajánlott:
Irányítsd a számítógépedet fejeddel!: 6 lépés (képekkel)
Irányítsd a számítógépedet fejeddel !: Szia, létrehoztam egy rendszert, amely lehetővé teszi, hogy a fejed mozgatásával irányítsd számítógéped egérét. Ha tetszik a projektem, ne habozz, szavazz rám az Arduino Contest 2017 versenyen.;) Miért csináltam ezt? Olyan tárgyat akartam készíteni, amely videojátékokat készít
Irányítsd a zümmögő hangját az Arduino segítségével: 7 lépés
Irányítsd a zümmögő hangot az Arduino segítségével: Az Arduino segítségével sok interaktív munka fejezhető be, a leggyakoribb és leggyakrabban használt hang- és fénykijelzés. A leggyakoribb komponensek, amelyek hangot adhatnak, a zümmögő és a kürt. Hasonlítsa össze a kettőt, a csengő egyszerűbb
Irányítsd EV3 motorodat Alexával: 9 lépés
Irányítsd EV3 motorodat Alexával: Szeretnéd hangvezérléssel irányítani LEGO EV3 -at? Ebben a projektben megpróbálhat mozgatni egy EV3 motort úgy, hogy beszél Alexával. Mindössze egy Amazon Echo Dot, egy Arduino Nano 33 IoT tábla és egy EV3 WiFi -kulcs és motor szükséges. Az ötlet az, hogy felépítsék
Beszéljen Alexával és a Google Asszisztenssel együtt egy Raspberry Pi -ben: 4 lépés
Beszéljen Alexával és a Google Segéddel együtt egy Raspberry Pi -n: Futtassa az Amazon Alexát és a Google Assistant -ot egyszerre a Raspberry Pi -n. Hívja bármelyiküket is, válaszként bekapcsolják saját LED -eiket és csengőhangokat. Aztán feltesz egy kérést, és ők válaszolnak neked. Ismerheti a tulajdonságaikat
Irányítsd az egyensúlyi labirintust Alexával: 6 lépés (képekkel)
Irányítsd az egyensúlyi labirintust Alexával: Irányítsd az egyensúlyi labirintust az Alexa segítségével Mozgasd a labirintust hanggal. Először is nézze meg a videót. Ez a működés összefoglalója. Beszéljen Alexával (Raspberry Pi + AVS) MONDJA: Alexa Start SkillSAY: BARANSU MEIRO WO KIDOU SHITE Instruct SkillSAY: 1 DO, UE N