Sisällysluettelo:
- Vaihe 1: Alkuasetukset
- Vaihe 2: Asenna Ngrok
- Vaihe 3: Python -skripti valokytkimen ohjaukseen
- Vaihe 4: Python Script for Fan Control
- Vaihe 5: LIRC -paketin asentaminen ja määrittäminen
- Vaihe 6: Python -komentosarja TV -ohjaukseen
- Vaihe 7: Kirjaudu AWS -tilille
- Vaihe 8: TV Alexa Skill Setup
- Vaihe 9: Valot Alexa Skill Setup
- Vaihe 10: Fani Alexa Skill Setup
- Vaihe 11: Rakenna piiri
- Vaihe 12: Alexa -komennot
Video: Ohjaa olohuonetta Alexan ja Raspberry Pi: n kanssa: 12 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Ohjaa olohuoneen televisiota, valoja ja tuuletinta Alexan (Amazon Echo tai Dot) ja Raspberry Pi GPIO: n avulla.
Vaihe 1: Alkuasetukset
Käytin Raspberry Pi 2: ta ja Raspbian Jessie -kuvaa, jotka on ladattu osoitteesta
Kun olet kirjautunut sisään, asenna tarvittavat paketit ja python -kirjastot kirjoittamalla seuraavat komennot:
sudo apt-get update && sudo apt-get upgrade -ysudo apt-get install python2.7-dev python-dev python-pip sudo pip install Pullo-kolvi-kysy sudo apt-get install lirc
Vaihe 2: Asenna Ngrok
Käy osoitteessa https://ngrok.com/download ja hanki uusin Linux ARM -julkaisu zip -muodossa ja pura kotihakemistosta:
purkaa /home/pi/ngrok-stable-linux-arm.zip
Avaa uusi pääte ja kirjoita seuraava komento:
sudo./ngrok http 4000
Avaa uusi terminaali ja anna seuraava komento:
sudo./ngrok http 4500
Avaa kolmas uusi terminaali ja anna seuraava komento:
sudo./ngrok http 5000
Vaihe 3: Python -skripti valokytkimen ohjaukseen
Avaa uusi pääteistunto ja luo uusi python -tiedosto nimeltä light_control.py:
nano light_control.py
Kopioi/liitä seuraava koodi uuteen tiedostoon:
pullon tuonnista Pullofrom flask_ask tuonti Kysy, lausunto, convert_errors tuoda RPi. GPIO GPIO: na tuontilokin tuonti os GPIO.setmode (GPIO. BCM) -sovellus = Pullo (_ name_) ask = Ask (app, '/') logging.getLogger (" setLevel (logging. DEBUG) @ask.intent ('LightControlIntent', mapping = {'status': 'status'}) def light_control (status): try: pinNum = 27 paitsi poikkeus e: return -lauseena ('Pin -numero ei kelpaa.') GPIO.setup (pinNum, GPIO. OUT), jos tila ['on', 'high']: GPIO. output (pinNum, GPIO. LOW), jos tila on '' off '', low ']: GPIO.output (pinNum, GPIO. HIGH) return lauseke (' Turning {} the Living Room Lights'.format (status)) if _name_ == '_main_': port = 4000 app.run (host = ' 0.0.0.0 ', portti = portti)
Tallenna ja sulje tiedosto.
Käynnistä pullo -palvelin seuraavasti:
sudo python light_control.py
Jätä sekä ngrok että light_control.py käynnissä
Vaihe 4: Python Script for Fan Control
Avaa uusi pääteistunto ja luo uusi python -tiedosto nimeltä fan_control.py:
nano fan_control.py
Kopioi/liitä seuraava koodi uuteen tiedostoon:
pullon tuontipullosta
from flask_ask tuonti Kysy, lause, convert_errors tuoda RPi. GPIO GPIO: na tuonti kirjaus tuonti 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 (tila): try: pinNum = 22 paitsi poikkeus e: return -lauseena ('PIN -numero ei kelpaa. ') GPIO.setup (pinNum, GPIO. OUT), jos tila [' on ',' high ']: GPIO. output (pinNum, GPIO. LOW), jos tila on [' off ',' low ']: GPIO.output (pinNum, GPIO. HIGH) return lauseke ('Turning {} the Living Room Lights'.format (status)) if _name_ ==' _main_ ': port = 4500 app.run (host =' 0.0.0.0 ', portti = portti)
Tallenna ja sulje tiedosto.
Käynnistä pullo -palvelin seuraavasti:
sudo python fan_control.py
Jätä sekä ngrok, light_control.py että fan_control.py käynnissä
Vaihe 5: LIRC -paketin asentaminen ja määrittäminen
Jotta voit ohjata televisiota, sinun on määritettävä Raspberry Pi -nasta, joka tuottaa infrapunasignaaleja (IR) televisiollesi. Avaa pääte ja kirjoita seuraava komento asentaaksesi LIRC -paketin, joka emuloi monien kaukosäätimien infrapunasignaaleja.
sudo apt-get install lirc
Seuraavaksi sinun on otettava käyttöön ja konfiguroitava lirc_rpi -ytimoduuli. Voit tehdä tämän avaamalla moduulit Nano -editorissa
sudo nano /etc /modules
Lisää alla olevat rivit tiedostoon (Varmista, että parametri gpio_out_pin osoittaa IR -merkkivaloa ohjaavaan nastaan):
lirc_devlirc_rpi gpio_out_pin = 17
Avaa seuraavaksi hardware.conf -tiedosto Nanossa kuten aiemmin sudolla:
sudo nano /etc/lirc/hardware.conf
Lisää seuraava kokoonpano tiedostoon:
LIRCD_ARGS = "-uinput" LOAD_MODULES = tosi
DRIVER = "oletus"
LAITE = "/dev/lirc0"
MODULIT = "lirc_rpi"
LIRCD_CONF = ""
LIRCMD_CONF = ""
Käynnistä Raspberry Pi uudelleen:
sudo uudelleenkäynnistys
Vaihe 6: Python -komentosarja TV -ohjaukseen
Avaa uusi pääteistunto ja luo uusi python -tiedosto nimeltä ir_control.py:
nano ir_control.py
Siirry osoitteeseen
Etsi kaukosäädin, joka on yhteensopiva television kanssa. Minun tapauksessani minulla on Sanyo-televisio, joka toimii sanyo-tv01-määritystiedoston kanssa. Kun löydät television tukevaa tiedostoa, avaa se ja katso komentovaihtoehdot.
Kopioi/liitä seuraava koodi uuteen tiedostoon ja korvaa sanyo-tv01 television kanssa toimivalla tiedostonimellä. Varmista myös, että televisiosi asetustiedosto tukee tv -komentoja; Sinun on ehkä muokattava KEY_POWER-, KEY_VIDEO-, KEY_VOLUMEUP-, KEY_VOLUMEDOWN- ja KEY_MUTE -komentoja, jotta ne toimivat oikein television asetustiedoston kanssa:
pullon tuonnista Pullofrom flask_ask tuonti Kysy, lausunto, muunna_virheet tuoda RPi. GPIO GPIO -muodossa tuonti kirjaus tuonti os GPIO.setmode (GPIO. BCM) -sovellus = Pullo (_ name_) ask = Kysy (sovellus, '/') logging.getLogger (" flask_ask "). setLevel (logging. DEBUG) @ask.intent ('GPIOControlIntent', mapping = {'status': 'status'}) #'pin': 'pin'}) def tv_function (status): jos tila ['päälle']: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_POWER") palautuslausuma ('TV: n käynnistäminen') elif-tila ['sammuta']: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_POWER ") palautuslausuma ('TV: n sammuttaminen') elif-tila ['muuta tuloa']: os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VIDEO ") os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VIDEO ") return lause ('Television tulon muuttaminen') elif-tila [lisää äänenvoimakkuutta]: 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 ") palautuslausuma ('Äänenvoimakkuuden lisääminen televisiossa') elif-tila ['vähennä äänenvoimakkuutta']: 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_VOLUMEDOWNYENSEN ") palautuslausunto ('Äänenvoimakkuuden väheneminen televisiossa') elif-tila ['mykistys']: os.system (" irsend SEND_ONCE sanyo-tv01 KEY_MUTE ") palautuslauseke ('TV: n mykistäminen') elif-tila ['mykistys ']: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_MUTE") palautuslauseke (' TV: n mykistyksen poistaminen ') else: return lausunto (' Etätoimintoa ei löydy. ') jos _nimi_ ==' _main_ ': portti = 5000 sovellusta.run (isäntä = '0.0.0.0', portti = portti)
Tallenna ja sulje tiedosto.
Käynnistä pullo -palvelin seuraavasti:
sudo python ir_control.py
Jätä kaikki kolme ngrok -pääteikkunaa, light_control.py, fan_control.py ja ir_control.py toimimaan
Vaihe 7: Kirjaudu AWS -tilille
Luo ensin tai kirjaudu sisään AWS -kehittäjätilillesi ja avaa Alexa Skills -luettelosi.
Vaihe 8: TV Alexa Skill Setup
Valitse "Lisää uusi taito".
Määritä taitonimeksi "Trigger TV" ja kutsun nimeksi sana tai sanat, joita haluat käyttää taidon aktivoimiseen.
Jatka napsauttamalla Seuraava.
Kopioi/liitä seuraava Intent Schema -ruutuun:
"slots": [{"name": "status", "type": "TV_Function"}, {"name": "summa", "type": "AMAZON. NUMBER"}], "aim": "GPIOControlIntent "}]}
Napsauta seuraavaksi Lisää kortin tyyppi
Kirjoita TV_Function Enter Type -kenttään.
Kirjoita seuraavat arvot Anna arvot -kenttään:
kiihottua
sammuta vaihda tulo lisää äänenvoimakkuutta vähennä äänenvoimakkuutta mykistys poista mykistys
Kopioi/liitä seuraavaksi `` Sample Utterances '' -kenttään:
GPIOControlIntent {status}
GPIOControlIntent {status} {summalla}
Jatka napsauttamalla Seuraava.
Valitse palvelun päätepistetyypiksi 'HTTPS' ja valitse alue. Kirjoita ngrok -URL -osoite vaiheesta 2 ja napsauta 'Seuraava'. URL -osoitteen pitäisi olla seuraavanlainen:
ed6ea04d.ngrok.io
Jatka napsauttamalla Seuraava ja paina Tallenna.
Vaihe 9: Valot Alexa Skill Setup
Sulje avoin taito ja valitse "Lisää uusi taito".
Aseta taidon nimeksi 'Lights Control' ja kutsun nimeksi sana tai sanat, joita haluat käyttää taidon aktivoimiseen.
Jatka napsauttamalla Seuraava. Kopioi/liitä seuraava Intent Schema -ruutuun:
{
"intents": [{"slots": [{"name": "status", "type": "LIGHTS_CONTROL"}], "aim": "LightsControlIntent"}]}
Napsauta sitten 'Lisää kortin tyyppi'.
Kirjoita "LIGHTS_CONTROL" Enter Type -kenttään.
Kirjoita seuraavat arvot Anna arvot -kenttään:
päällä
vinossa
Kopioi/liitä seuraavaksi `` Sample Utterances '' -kenttään:
LightsControlIntent turn {status}
Jatka napsauttamalla Seuraava. Valitse palvelun päätepistetyypiksi HTTPS ja valitse alue. Anna ngrok -URL -osoite vaiheessa 2 ja napsauta Seuraava. URL -osoitteen pitäisi olla seuraavanlainen:
ed6ea04d.ngrok.io
Jatka napsauttamalla Seuraava ja paina Tallenna.
Vaihe 10: Fani Alexa Skill Setup
Sulje avoin taito ja valitse "Lisää uusi taito".
Määritä taitonimeksi "Fan Control" ja kutsun nimeksi sana tai sanat, joilla haluat aktivoida taidon.
Jatka napsauttamalla Seuraava.
Kopioi/liitä seuraava Intent Schema -ruutuun:
{
"intents": [{"slots": [{"name": "status", "type": "FAN_CONTROL"}], "aim": "FANControlIntent"}]}
Napsauta sitten 'Lisää kortin tyyppi'.
Kirjoita "FAN_CONTROL" Enter Type -kenttään.
Kirjoita seuraavat arvot Anna arvot -kenttään:
päällä
vinossa
Kopioi/liitä seuraavaksi `` Sample Utterances '' -kenttään:
FANControlIntent turn {status}
Jatka napsauttamalla Seuraava. Valitse palvelun päätepistetyypiksi HTTPS ja valitse alue. Anna ngrok -URL -osoite vaiheessa 2 ja napsauta Seuraava. URL -osoitteen pitäisi olla seuraavanlainen:
ed6ea04d.ngrok.io
Jatka napsauttamalla Seuraava ja paina Tallenna.
Vaihe 11: Rakenna piiri
Liitä piiri kaavion mukaisesti. Käytin JBtek 8 -kanavaista DC 5V -relemoduulia yhdistämään kotini AC 120v -linjaan ja maahan.
Vaihe 12: Alexa -komennot
Nyt seuraavat komennot voidaan puhua Alexalle ohjaamaan olohuonetta.
Suositeltava:
Wifi Smart Switch ESP8266 toimii Alexan ja Googlen kotiautomaation kanssa: 7 vaihetta
Wifi Smart Switch ESP8266 toimii Alexan ja Googlen kotiautomaation kanssa: Globalisaation maailmassa kaikki haluavat uusinta ja älykästä tekniikkaa
Kuinka: Ohjaa moottorin nopeutta?: 5 vaihetta (kuvien kanssa)
Kuinka: Ohjaa moottorin nopeutta ?: Jos sinulla on pari tasavirtamoottoria, ensimmäinen kysymys tulee mieleen, kuinka voin hallita näiden moottoreiden nopeutta! Joten tässä ohjeessa näytän kuinka helppoa se on tehdä! sinusta tuntuu laiskalta, voit katsoa videota kanavallani Myös valtava Tha
Alexan vuorovaikutus Dragonboard-410c: n kanssa: 5 vaihetta
Alexan vuorovaikutus Dragonboard-410c: n kanssa: Tämän opetusohjelman avulla opit upottamaan Alexan Dragonboard-410c: hen. Ennen kuin aloitamme, esittelemme joitain tarvitsemiasi materiaaleja: Alexa Voice Service (AVS) - Mahdollistaa puhumisen laitteidesi kanssa, voit käyttää pilvipohjaista Alexa
Keskustele Alexan ja Google Assistantin kanssa yhdessä Raspberry Pi: 4 vaihetta
Keskustele Alexan ja Google Assistantin kanssa Raspberry Pi: ssä: Suorita Amazon Alexa ja Google Assistant samanaikaisesti Raspberry Pi: ssä. Soita jollekin heidän nimilleen, he sytyttävät omat LED -valonsa ja soivat äänet vastaukseksi. Sitten kysyt jotain pyyntöä ja he vastaavat siihen sinulle. Voit tietää niiden luonteen
Ohjaa tietokonetta langattomasti silmänräpäyksellä;): 9 vaihetta (kuvien kanssa)
Ohjaa tietokonetta langattomasti silmänräpäyksellä;): Entä tapojen ylittäminen ?? Entä kokeilla jotain uutta ?? !!!! Entä tietokoneen ohjaaminen ja kaiken tekeminen ilman näppäimistöä ja hiirtä! Hmm … Mutta miten tämä on mahdollista ??? Vain silmänräpäyksellä !! Älä b