Skip to main content

Slik styrer du Kodi Media Center med et Amazon Echo

Slik styrer du Kodi Media Center med et Amazon Echo

Geoffrey Carr

Fjernkontroller er så 1950. Hvis du har et Kodi mediasenter og et Amazon Echo, kan du spille alle favorittfilmene dine og vise med en velutstyrt talekommando ... hvis du er villig til å gjøre et lite oppsett.

Amazon Echo er, etter vår mening, en av de kuleste delene av et smart hjem. Kontrollere lysene dine, 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 initiativrik 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 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, redigere noen få deler, og laste den opp på riktig sted. Hvis du følger denne veiledningen til brevet, bør du være oppe på et øyeblikk.

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 gå ut 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 allerede er aktivert, 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 avvike 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 å sørge for 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, bare erstatt 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

where 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 sørge for at Kodi, ditt dynamiske domene og din videresending av portene er satt opp riktig.

Trinn to: Konfigurer din Amazon Web Services-konto

Deretter må du opprette 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, om ikke i det hele tatt (spesielt for 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 om nødvendig) og klikk på "Brukere" -fanen på venstre side. Klikk på "Legg til bruker" -knappen.

Opprett en ny bruker med hvilket brukernavn du vil ha. Merk av for "Programmatisk tilgang" og klikk på "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 på "Opprett bruker".

Ikke lukk den neste siden! Du må ta tilgang til tilgangsnø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:Python27Scriptspip.exe install awscli C:Python27Scriptsaws configure

Dette vil installere AWS kommandolinjeverktøy og starte konfigurasjonsverktøyet.

Lim inn Acces Key ID og Secret Access Key når du blir bedt om det. Når du blir bedt om ditt standardregionnavn, skriv innus-east-1 (hvis du er i USA) eller eu-west-1 (hvis du er i Europa). Du kan la Standard utdataformat være tomt (bare trykk Enter).

Kjør deretter følgende kommando:

C:Python27Scriptspip.exe install virtualenv

Du trenger dette installert for senere.

Nå CD inn i mappen kodi-alexa-master med følgende kommando:

CD C:UsersWhitsonDocumentsCodekodi-alexa-master

Åpenbart, erstatt 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.

Først, 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:

address = port = username = password =

De address variabel vil være den dynamiske adressen du satt opp i trinn ett (f.eks. my.dynamic-domain.com ), port vil være porten du brukte i trinn ett (sannsynligvis 8080, med mindre du endret det), og username og password 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:Python27Scriptsvirtualenv venv venvScriptsactivate.bat

Dette vil skape et nytt "virtuelt miljø" og aktivere det.

Fra venverprompten som vises, kjør følgende kommandoer:

pip install -r requirements.txt pip install packaging pip install 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 deploy 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, programmer 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, det 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å "Add Slot Type" -knappen midt i det neste vinduet.

Opprett et nytt spor som heter SHOWS. Gå tilbake til mappen kodi-alexa-master, åpne SHOWS-filen med Notepad ++, og kopier showene i boksen på Amazons side. Dette vil hjelpe Alexa til å 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 spaltype 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 Notepad ++.

Velg all teksten i IntentSchema.json fil og lim det inn i "Intent Schema" boksen på Amazon Developer 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 i nettadressen du fikk på slutten av trinn fire. Velg ditt geografiske område (Nord-Amerika eller Europa) og velg "Nei" for Konto-kobling. Klikk på Neste.

På neste side velger du "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, ask the living room to play season one, episode one of Friends”

(... 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år du tilbake og sørger for 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 funksjonene, må du logge deg på din Amazon Developer-konto og legge den til i 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 jeg 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 våre kommentarer nedenfor.

Tittel bilde fra Doomu / Bigstock og Amazon.

Link
Plus
Send
Send
Pin