Slik styrer du Kodi Media Center med et Amazon Echo
Fjernkontroller er så 1950. Hvis du har et Kodi mediasenter og et Amazon Echo, kan du spille alle favorittfilmene dine og vise med en godt plassert talekommando ... hvis du er villig til å gjøre litt oppsett.
Amazon Echo er etter vår mening en av de kuleste delene av et smart hjem. Kontrollere dine lys, persienner og TV med telefonen din er kult, men å kontrollere dem med stemmen din er virkelig fremtiden. Jeg var skeptisk, men ble raskt imponert og sulten etter mer.
Å kunne slå på min TV er kult, men det jeg egentlig ville ha var å kunne kontrollere mitt mediasenter. Jeg ønsket å kunne si "Spill neste episode av venner" og få den til å søke i biblioteket mitt, se hva jeg så sist, og begynn å spille påfølgende episode. Og etter litt leting fant jeg ut at en underholdende programmør som heter Joe Ipson allerede hadde gjort nettopp det.
Dette tar litt oppsett, og det ser veldig skremmende ut først. Du må opprette en webserver, trykke på noen kode fra GitHub, og gjør litt arbeid fra kommandolinjen, men du trenger ikke å være programmerer for å få dette oppe. Ipson har gjort nesten alle de tunge løftene, og du trenger bare å kopiere koden sin, redigere noen få deler, og laste den opp på riktig sted. Hvis du følger denne veiledningen til brevet, bør du være i gang på kort tid.
MERK: Vi bruker Amazon Web Services for denne opplæringen, siden den er den mest pålitelige. Hvis du er en ny AWS-bruker, sier Ipson at du skal kunne kjøre ferdighetene gratis i omtrent et år, hvoretter du blir belastet mindre enn 20 ¢ per måned. Hvis du vil ha noe virkelig gratis, kan du sette det opp ved å bruke Heroku i stedet, og erstatte trinnene 2, 3 og 4 i denne veiledningen med Heroku-instruksjonene i Ipsons dokumentasjon. Det er imidlertid litt mindre pålitelig, og noen forespørsler kan utelukkes når du bruker den. Vi anbefaler AWS hvis du vil ha den beste opplevelsen mulig - det er vel verdt de mildere 20 ¢ per måned.
Trinn ett: Klargjør Kodi Web Server
For at dette skal fungere, må Kodi få en server tilgjengelig fra nettet. Heldigvis er dette bygget inn i Kodi, selv om du kanskje må sende frem noen porter på ruteren din og utføre andre oppgaver før det fungerer jevnt.
Åpne Kodi på mediasenteret ditt og gå til System> Tjenester> Webserver. Aktiver webserveren hvis den ikke er aktivert allerede, og gi den et brukernavn og passord. Pass på at du bruker et passord du ikke bruker til andre tjenester.
Du vil også trenge den offentlige IP-adressen til ditt hjem. Men siden dette kan forandre, anbefaler vi på det sterkeste å registrere deg for et dynamisk domenenavn ved hjelp av en tjeneste som Dynu. Følg vår guide her før du fortsetter hvis du ikke allerede har en.
Til slutt må du sette opp port videresending til Kodi-boksen din. Dette vil variere fra ruteren til ruteren, men du kan sjekke ut vår guide her for mer informasjon. Bare videresend hvilken ekstern port som helst til den lokale IP-adressen til Kodi-boksen (i mitt tilfelle, 192.168.1.12) og lokal port (8080 som standard).
MERK: Mens Kodis lokale port er som standard 8080, kan du endre den til alt du vil - eller du kan videresende den til en annen ekstern port for å sikre at det ikke er noen komplikasjoner (siden andre apper kan be om port 8080). Jeg bruker 8080 i denne opplæringen, men hvis du bruker noe annet, erstatt bare alle forekomster av port 8080 med utvendig port du velger her.
Hvis alt går bra, bør du kunne få tilgang til Kodis webgrensesnitt ved å åpne en nettleser og skrive inn:
my.dynamic-domain.com:8080
hvor
my.dynamic-domain.com
er nettadressen til det dynamiske domenet ditt, og 8080
er porten du satt i Kodi. Hvis det ikke virker, må du kontrollere at Kodi, ditt dynamiske domene og din videresending av portene ble satt opp riktig.
Trinn to: Konfigurer din Amazon Web Services-konto
Deretter må du konfigurere en konto med Amazon Web Services (AWS). Gå til denne siden og klikk "Opprett en AWS-konto". Logg inn med din Amazon-legitimasjon når du blir bedt om det. Hvis du ikke allerede har en AWS-konto, blir du bedt om å angi kontaktinformasjonen din for å opprette en. Pass på å sjekke "Personlig konto" øverst.
Gå gjennom resten av trinnene i veiviseren. Du må også legge inn kredittkortinformasjonen din, men ikke bekymre deg - som vi sa, bør du ikke bli belastet veldig mye, hvis ikke i det hele tatt (spesielt i de første 12 månedene).
Etter å ha bekreftet identiteten din med telefonnummeret ditt, og velg din støtteplan (vi anbefaler Basic, som er gratis), klikker du på "Fullfør oppmelding" -knappen i høyre hjørne av skjermen. Amazon logger deg deretter inn.
Gå nå til siden Identity and Access Management (logg deg tilbake til AWS hvis nødvendig) og klikk på "Brukere" -fanen på venstre side. Klikk på "Legg til bruker" -knappen.
Opprett en ny bruker med hvilket som helst brukernavn du vil ha. Merk av for "Programmatisk tilgang" og klikk "Neste: Tillatelser".
Deretter blir du bedt om å angi tillatelser. Klikk på "Legg ved eksisterende retningslinjer direkte", og søk deretter etter "AdministratorAccess". Kontroller alternativet AdministratorAccess og klikk på "Next: Review".
Pass på at brukeren ser ut som bildet nedenfor, og klikk deretter "Opprett bruker".
Ikke lukk den neste siden! Du må ta tilgangs-nøkkel-ID og hemmelig tilgangsnøkkel her (du må klikke "Vis" for å vise din hemmelige nøkkel). Kopier dem til en tekstfil for sikker oppbevaring, fordi du ikke vil kunne hente den hemmelige nøkkelen igjen etter at du har forlatt denne siden.
Når du har skrevet ned, kan du lukke vinduet trygt.
Trinn tre: Installer Python 2.7 og sett opp variablene dine
For å skape Ipsons kode til AWS, trenger du Python 2.7 installert på datamaskinen. Vi bruker Windows i denne opplæringen, men du bør også kunne gjøre dette på MacOS og Linux.
For å installere Python på Windows, gå til Pythons nedlastingsside og last ned Python 2.7. Kjør installasjonsprogrammet som om du ville noe annet Windows-program. Bruk standardvalgene, siden vi trenger noen av verktøyene som følger med Python installasjonsprogram.
Deretter klikker du her for å laste ned Ipsons kode. Unzip mappen kodi-alexa-master i ZIP-filen et sted på harddisken din.
Når det er installert, er det på tide å grave inn i kommandolinjen. Trykk på Windows + X på tastaturet og velg "Kommandoprompt". (Mac- og Linux-brukere vil åpne sine respektive Terminal-apper). Derfra kjører du følgende to kommandoer, den ene etter den andre:
C: \ Python27 \ Scripts \ pip.exe installerer awscli
C: \ Python27 \ Scripts \ aws konfigurere
Dette vil installere AWS kommandolinjeverktøy og starte konfigurasjonsverktøyet.
Lim inn Access-nøkkel-ID og Hemmelig tilgangsnøkkel når du blir bedt om det. Når du blir bedt om ditt standardregionnavn, skriv inn oss-øst-en
(hvis du er i USA) eller eu-vest-en
(hvis du er i Europa). Du kan la standard utdataformat være tomt (bare trykk Enter).
Kjør deretter følgende kommando:
C: \ Python27 \ Scripts \ pip.exe installerer virtualenv
Du trenger dette installert for senere.
Nå CD inn i mappen kodi-alexa-master med følgende kommando:
CD C: \ Users \ Whitson \ Documents \ Kode \ KODI-Alexa-mester
Åpenbart, erstat filbanen med banen til hvor du lagret mappen kodi-alexa-master.
Hold vinduet åpent for nå, vi må komme tilbake til det på et øyeblikk.
For det første, for at Ipsons kode skal fungere med Kodi og AWS-oppsettet ditt, må du definere noen variabler i en konfigurasjonsfil. Last ned denne malen, omdøpe den til kodi.config
, og lagre den i mappen kodi-alexa-master. Åpne den i et kodevennlig tekstredigeringsprogram som Notepad ++, og rediger følgende fire fire variabler:
adresse = port = brukernavn = passord =
De adresse
variabel vil være den dynamiske adressen du satt opp i trinn ett (f.eks. my.dynamic-domain.com
), havn
vil være porten du brukte i trinn ett (sannsynligvis 8080, med mindre du endret det), og brukernavn
og passord
vil være legitimasjonene fra trinn ett.
Hvis du har flere Kodi-bokser i huset ditt, kan du også bruke denne config-filen til å kontrollere dem separat med Alexa. Vi vil ikke gå gjennom det i denne veiledningen, men du finner instruksjoner i Ipsons dokumentasjon her.
Når du er ferdig, lagre filen og gå tilbake til kommandopromptvinduet.
Trinn fire: Trykk koden til AWS
Med disse variablene på plass, er koden din klar for distribusjon. Tilbake i kommandoprompt, kjør disse to kommandoene:
C: \ Python27 \ Skript \ virtualenv venv
Venv \ Scripts \ activate.bat
Dette vil skape et nytt "virtuelt miljø" og aktivere det.
Fra venvestyret som vises, kjør følgende kommandoer:
pip installasjon -r krav.txt
pip installasjonsemballasje
pip installere zappa
Dette vil installere et verktøy kalt Zappa, som vil hjelpe deg med å distribuere koden din.
Deretter må du sette opp Zappa. Løpe:
zappa init
Det tar deg gjennom en veiviser. Bare godta standardverdiene for alt.
Til slutt løp:
zappa distribuere dev
Dette vil distribuere koden til Lambda. Det tar noen minutter, så la det løpe. På slutten vil det gi deg en URL-kopi dette ned, siden du trenger det i neste trinn.
Til slutt anbefaler jeg også å kjøre følgende kommando, siden du også trenger de resulterende filene i neste trinn:
python generate_custom_slots.py
Pass på at Kodi-boksen er slått på og kjører når du kjører dette skriptet, da det vil ta bilder av filmer, viser og andre medier fra biblioteket ditt.
Du er nesten der! Nå trenger vi bare å sette opp en Alexa-ferdighet for denne koden.
Trinn fem: Lag din Alexa Ferdighet
For å koble Ipsons kode med Echo, må vi opprette en Alexa "Ferdighet" som bruker den koden. Denne appen vil ikke bli distribuert til noen, den vil bare være i "testmodus" for alltid, koblet til din egen Amazon-konto for bruk med ekko.
For å starte, sett opp en gratis Amazon Developer-konto. Gå til denne siden, logg inn med din Amazon-konto, og registrer deg for en utviklerkonto. Fyll ut de nødvendige feltene, godkjenn vilkårene, og si "Nei" når du blir spurt om du skal tjene penger på appene dine.
Når du er logget inn, gå til "Alexa" i topp verktøylinjen. Klikk på "Kom i gang" -knappen under "Alexa Skills Kit".
Deretter klikker du på knappen "Legg til ny ferdighet".
Gi din ferdighet et navn - jeg ringte min "Kodi" - og gi den et kallingsnavn. Dette er hva du vil si når du vil påkalle en kommando. For eksempel er mitt påkallingsnavn også "stuen", noe som betyr at jeg må si "Spør stuen til ..." for å gi Alexa kommandoer til mitt mediasenter.
Etter min erfaring fungerer lange påkallingsnavn bedre enn kortere. Jeg brukte "Kodi" for en stund ("Spør Kodi til ..."), men Alexa hadde noen ganger problemer med å finne filmer. Jeg kunne ikke fortelle deg hvorfor, men lengre påkallingsnavn som "stuen" jobber nesten feilfritt for meg. Så prøv å velge noe med noen stavelser.
Klikk på Neste når du er ferdig.
Klikk på "Legg til spaltype" -knappen midt i det neste vinduet.
Opprett et nytt spor som heter VISER
. Gå tilbake til mappen kodi-alexa-master, åpne SHOWS-filen med Notepad ++, og kopier showene i boksen på Amazons side. Dette vil hjelpe Alexa gjenkjenne de forestillingene du dikterer for det.
Alternativt kan du bare liste noen av TV-programmene dine i boksen, en per linje. Du trenger ikke å legge til hvert show i Kodi-biblioteket ditt, men det er godt å ha et anstendig antall eksempler (jeg har funnet 20 eller 30 er ganske bra).
Klikk på OK når du er ferdig.
Gjenta denne prosessen med disse spilleautomatene: MOVIES, MOVIEGENRES, MUSICARTISTS, MUSICALBUMS, MUSICSONGS, MUSICPLAYLISTS, VIDEOPLAYLISTS, og ADDONS (Hvis du ikke har informasjon om noen av disse, må du opprette spaltypen uansett-Ipsons kode krever det - og bare skriv ordet "Tom" i esken. Det vil ikke forårsake noen problemer.)
Igjen trenger du ikke hvert eneste show, film eller artist i disse sporene, slik at du ikke trenger å oppdatere dem hver gang du legger til en ny film i biblioteket ditt. Det hjelper bare å få et anstendig antall eksempler i hver.
Når du har opprettet alle ni spilleautomater, går du tilbake til mappen kodi-alexa-master. Åpne speech_assets-mappen og åpne IntentSchema.json
og SampleUtterances.txt
filer med en app som Notisblokk++.
Velg all teksten i IntentSchema.json
arkiver og lim det inn i "Intent Schema" -boksen på Amazon-utviklerens nettsted. Gjenta denne prosessen med SampleUtterances.txt
fil, plasserer teksten i "Sample Utterances" -boksen.
Når du er ferdig, klikker du Neste. Det kan ta litt tid å bygge samhandlingsmodellen.
På neste side velger du "HTTPS" for sluttpunktstypen og limer inn nettadressen du fikk på slutten av trinn fire. Velg ditt geografiske område (Nord-Amerika eller Europa) og velg "Nei" for Kontoforbindelse. Klikk på Neste.
På neste side, velg "Mitt utviklingsendepunkt er et underdomene til et domene som har et jokertegn fra en sertifikatmyndighet". Klikk på Neste.
Du bør ikke legge til noen informasjon på testsiden, men du kan teste visse aspekter av koden hvis du vet hva du gjør. Ellers klikker du Neste.
Fyll ut de obligatoriske feltene på Publiseringsinformasjon-men ikke bekymre deg for mye om hva du legger inn, siden du ikke sender denne appen for sertifisering. Du er den eneste som skal bruke denne appen. (Her er et 108 × 108 ikon og et 512 × 512 ikon for deg å bruke.) Klikk på Neste når du er ferdig.
På den siste siden, velg "Nei" for begge personvernspørsmålene, og merk av i Komplikasjonsboksen. Klikk på "Lagre" -knappen når du er ferdig. IKKE klikk på "Send til sertifisering" -knappen.
Trinn seks: Test dine nye kommandoer
Hvis alt gikk bra, bør du kunne teste dine nye kommandoer nå. Pass på at Kodi-boksen er slått på, og prøv å si noe slikt:
"Alexa, spør stuen til å spille sesong en, episode en av venner"
(... erstatter åpenbart det med en episode og viser at du har på maskinen din.) Det kan ta Alexa et øyeblikk, men forhåpentligvis burde hun svare og begynne å spille showet i spørsmålet. Hvis du får en feil og episoden ikke spiller, gå tilbake og kontroller at du gjorde alt riktig.
Du kan spørre Alexa hvis du har noen nye episoder, be henne om å spille neste episode av et show, eller til og med bruke henne til å kontrollere Kodi, så ineffektiv som det kan være ("Alexa, spør stuen til å pause" , spør stuen å navigere ned, "etc.). Sjekk ut SampleUtterances.txt
fil for å se alle de tingene Alexa kan gjøre med denne integrasjonen. Hvis du noen gang vil legge til et nytt uttrykk som tilsvarer en av disse funksjonene, må du logge deg tilbake på din Amazon Developer-konto og legge den til listen vi limte inn i trinn fire.
Det er ikke den raskeste eller enkleste tingen å sette opp, men når du får det til å virke, er det lett en av de kuleste tingene du kan gjøre med Amazon Echo, etter min mening. Nå kan jeg begynne å se på TV mens du lager mat på kjøkkenet, eller når fjernkontrollens batterier er døde. Dette er den typen kraft Amazon Echo ble designet for å ha, og selv om det tar litt arbeid, er det vel verdt det.
Har problemer? Sjekk ut denne tråden på Kodi-forumene, i tillegg til den originale GitHub-siden, eller slipp en linje i kommentarene nedenfor..
Tittelbilde fra Doomu / Bigstock og Amazon.