Amazon Echo è, a nostro avviso, una delle parti più interessanti di una casa intelligente. Controllare le luci, i ciechi e la TV con il telefono è bello, ma controllarli con la tua voce è davvero il futuro. Ero scettico, ma rapidamente sono rimasto impressionato - e affamato di più.
Essere in grado di accendere la TV è bello, ma quello che volevo davvero era poter controllare il mio media center. Volevo essere in grado di dire "Gioca al prossimo episodio di Amici" e farlo cercare nella mia biblioteca, vedere cosa ho visto per ultimo, e iniziare a riprodurre l'episodio successivo. E dopo un po 'di ricerche, ho scoperto che un intraprendente programmatore di nome Joe Ipson lo aveva già fatto.
Questo richiede un po 'di setup e all'inizio sembra molto intimidatorio. Dovrai creare un server web, spingere un po 'di codice da GitHub e fare un piccolo lavoro dalla riga di comando, ma non è necessario essere un programmatore per farlo funzionare correttamente. Ipson ha fatto quasi tutto il lavoro pesante, e hai solo bisogno di copiare il suo codice, modificare alcune parti e caricarlo nel posto giusto. Se segui questa guida alla lettera, dovresti essere attivo e funzionante in pochissimo tempo.
NOTA: stiamo utilizzando Amazon Web Services per questo tutorial, poiché è il più affidabile. Se sei un nuovo utente AWS, Ipson dice che dovresti essere in grado di eseguire l'abilità gratuitamente per circa un anno, dopo di che ti verrà addebitato meno di 20 ¢ al mese. Se vuoi qualcosa di veramente libero, puoi invece impostarlo usando Heroku, sostituendo i passaggi due, tre e quattro di questa guida con le istruzioni di Heroku nella documentazione di Ipson. È, tuttavia, un po 'meno affidabile e alcune richieste potrebbero scadere quando lo si utilizza. Consigliamo AWS se si desidera la migliore esperienza possibile - vale la pena il magro 20 ¢ al mese.
Fase uno: preparare il server Web Kodi
Affinché questo funzioni, Kodi dovrà avere un server accessibile dal web. Fortunatamente, questo è incorporato in Kodi, anche se potrebbe essere necessario inoltrare alcune porte sul router ed eseguire alcune altre attività prima che funzioni senza intoppi.
Apri Kodi sul tuo media center e vai su Sistema> Servizi> Server web. Abilitare il server Web se non è già abilitato e dargli un nome utente e una password. Assicurati di utilizzare una password che non utilizzi per nessun altro servizio.
Avrai anche bisogno dell'indirizzo IP pubblico per la tua casa. Tuttavia, poiché questo può cambiare, ti consigliamo vivamente di registrarti per un nome di dominio dinamico usando un servizio come Dynu. Segui la nostra guida qui prima di continuare se non ne hai già uno.
NOTA: mentre la porta locale di Kodi è 8080 per impostazione predefinita, puoi cambiarla in qualsiasi modo desideri oppure inoltrarla a un'altra porta esterna per assicurarti che non vi siano complicazioni (dal momento che altre app potrebbero richiedere la porta 8080). Sto usando 8080 in questo tutorial, ma se usi qualcosa di diverso, sostituisci semplicemente tutte le istanze della porta 8080 con esterno porto che scegli qui.
my.dynamic-domain.com:8080
where
my.dynamic-domain.com
è l'URL del tuo dominio dinamico e
8080
è il porto che hai impostato a Kodi. Se ciò non funziona, assicurati che Kodi, il tuo dominio dinamico e il port forwarding siano stati configurati correttamente.
Passaggio 2: imposta il tuo account Amazon Web Services
Successivamente, dovrai configurare un account con Amazon Web Services (AWS). Vai a questa pagina e fai clic su "Crea un account AWS". Accedi con le tue credenziali Amazon quando richiesto. Se non hai già un account AWS, ti verrà chiesto di inserire le tue informazioni di contatto per crearne uno. Assicurati di controllare "Account personale" nella parte superiore.
Dopo aver verificato la tua identità con il tuo numero di telefono e aver selezionato il tuo piano di assistenza (ti consigliamo Basic, che è gratuito), fai clic sul pulsante "Registrati completo" nell'angolo destro dello schermo. Amazon effettuerà l'accesso.
Passo 3: Installa Python 2.7 e configura le tue variabili
Per poter inviare il codice Ipson ad AWS, avrai bisogno di Python 2.7 installato sul tuo computer. In questo tutorial utilizzeremo Windows, ma dovresti essere in grado di farlo anche su macOS e Linux.
Per installare Python su Windows, vai alla pagina di download di Python e scarica Python 2.7. Esegui il programma di installazione come faresti con qualsiasi altro programma Windows. Utilizza le selezioni predefinite, poiché saranno necessari alcuni degli strumenti forniti con l'utilità di installazione di Python.
Una volta installato, è ora di scavare nella riga di comando. Premi Windows + X sulla tastiera e seleziona "Prompt dei comandi". (Gli utenti Mac e Linux vorranno aprire le rispettive app di Terminale). Da lì, esegui i seguenti due comandi, uno dopo l'altro:
C:Python27Scriptspip.exe install awscli
C:Python27Scriptsaws configure
Questo installerà gli strumenti da riga di comando di AWS e avvierà lo strumento di configurazione.
us-east-1
(se sei negli Stati Uniti) o
eu-west-1
(se sei in Europa). Puoi lasciare vuoto il tuo Formato di output predefinito (premi semplicemente Invio).
C:Python27Scriptspip.exe install virtualenv
Avrai bisogno di questo installato per dopo.
CD C:UsersWhitsonDocumentsCodekodi-alexa-master
Ovviamente, sostituisci il percorso del file con il percorso dove hai salvato la cartella kodi-alexa-master.
Innanzitutto, affinché il codice di Ipson funzioni con la configurazione di Kodi e AWS, è necessario definire alcune variabili in un file di configurazione. Scarica questo modello, rinominalo in
kodi.config
e salvalo nella cartella kodi-alexa-master. Aprilo in un editor di testo semplice come Notepad ++ e modifica le seguenti quattro quattro variabili:
address = port = username = password =
Il
address
variabile sarà l'indirizzo dinamico impostato nel primo passaggio (ad es.
my.dynamic-domain.com
),
port
sarà la porta che hai usato nel primo passaggio (probabilmente 8080, a meno che tu non l'abbia cambiato), e
username
e
password
saranno le credenziali dal primo passo.
Se hai molte scatole Kodi in casa, puoi anche usare questo file di configurazione per controllarle separatamente con Alexa. Non lo analizzeremo in questa guida, ma puoi trovare le istruzioni nella documentazione di Ipson qui.
Quando hai finito, salva il file e torna alla finestra del prompt dei comandi.
Passaggio 4: invia il tuo codice ad AWS
Con queste variabili, il tuo codice è pronto per la distribuzione. Tornati al tuo prompt dei comandi, esegui questi due comandi:
C:Python27Scriptsvirtualenv venv
venvScriptsactivate.bat
Questo creerà un nuovo "ambiente virtuale" e lo attiverà.
pip install -r requirements.txt
pip install packaging
pip install zappa
Questo installerà uno strumento chiamato Zappa, che ti aiuterà a distribuire il tuo codice.
zappa init
Ti porterà attraverso un mago. Accetta solo le impostazioni predefinite per tutto.
zappa deploy dev
Questo distribuirà il tuo codice a Lambda. Ci vorranno alcuni minuti, quindi fallo correre. Alla fine, ti fornirà un URL, copiarlo, poiché ne avrai bisogno nel prossimo passaggio.
python generate_custom_slots.py
Assicurati che la tua scatola Kodi sia accesa e funzionante quando esegui questo script, poiché prenderà i nomi di film, programmi e altri media dalla tua libreria.
Ci sei quasi! Ora abbiamo solo bisogno di creare un'abilità Alexa per questo codice.
Passaggio 5: crea la tua abilità Alexa
Per connettere il codice Ipson con il nostro Echo, avremo bisogno di creare un'Abilità "Alexa" che usi quel codice. Questa app non verrà distribuita a nessuno, sarà solo in "modalità di test" per sempre, collegata al tuo account Amazon da utilizzare con il tuo Echo.
Per iniziare, configura un account Amazon Developer gratuito. Vai a questa pagina, accedi con il tuo account Amazon e registrati per un account sviluppatore. Compila i campi richiesti, accetta i termini e dì "No" quando ti viene chiesto se intendi monetizzare le tue app.
Una volta effettuato l'accesso, vai su "Alexa" nella barra degli strumenti in alto. Fai clic sul pulsante "Inizia" in "Kit abilità Alexa".
Nella mia esperienza, i nomi lunghi delle invocazioni funzionano meglio di quelli più brevi. Ho usato "Kodi" per un po '("Chiedi a Kodi di …") ma Alexa a volte ha avuto problemi a trovare film. Non potrei dirti perché, ma nomi di invocazione più lunghi come "il salotto" funzionano quasi perfettamente per me. Quindi prova a scegliere qualcosa con poche sillabe.
Fare clic su Avanti al termine.
SHOWS
. Torna alla cartella kodi-alexa-master, apri il file SHOWS con Notepad ++ e copia gli spettacoli nella casella sulla pagina di Amazon. Questo aiuterà Alexa a riconoscere gli spettacoli che gli detterai.
In alternativa, puoi solo elencare alcuni dei tuoi programmi TV nella scatola, uno per riga. Non è necessario aggiungere ogni spettacolo nella libreria Kodi, ma è utile avere un numero decente di esempi (ho trovato 20 o 30 è piuttosto buono).
Fai clic su OK al termine.
Di nuovo, non hai bisogno di ogni singolo spettacolo, film o artista in questi slot, quindi non è necessario aggiornarli ogni volta che aggiungi un nuovo film alla tua libreria. Aiuta solo ad avere un numero decente di esempi in ciascuno.
IntentSchema.json
e
SampleUtterances.txt
file con un'app come Notepad ++.
Seleziona tutto il testo nel
IntentSchema.json
file e incollalo nella casella "Intent Schema" sul sito web di Amazon Developer. Ripeti questo processo con il
SampleUtterances.txt
file, posizionando il testo nella casella "Sample Utterances".
Al termine, fai clic su Avanti. Potrebbero volerci alcuni minuti per costruire il modello di interazione.
Nella pagina Informazioni sulla pubblicazione, compila i campi richiesti, ma non preoccuparti troppo di ciò che hai inserito, dal momento che non invierai questa app per la certificazione. Sei l'unico che utilizzerà questa app. (Qui c'è un'icona 108 × 108 e un'icona 512 × 512 che puoi usare.) Fai clic su Avanti quando hai finito.
Passo Sei: prova i tuoi nuovi comandi
Se tutto è andato bene, dovresti riuscire a testare i tuoi nuovi comandi ora. Assicurati che la tua confezione Kodi sia accesa e prova a dire qualcosa come:
“Alexa, ask the living room to play season one, episode one of Friends”
(… ovviamente sostituendo quello con un episodio e mostrandoti che hai sulla tua macchina.) Potrebbe volerci un momento Alexa, ma spero che lei risponda e inizi a suonare lo spettacolo in questione. Se ricevi un errore e l'episodio non viene riprodotto, torna indietro e assicurati di aver fatto tutto correttamente.
Puoi chiedere ad Alexa se hai nuovi episodi, chiederle di suonare il prossimo episodio di uno show, o persino usarla per controllare Kodi, per quanto inefficiente possa essere ("Alexa, chiedi al soggiorno di fermarti", "Alexa, chiedi al soggiorno di navigare in basso, "ecc.). Guarda il
SampleUtterances.txt
file per vedere tutte le cose che Alexa può fare con questa integrazione. Se vuoi aggiungere una nuova frase che corrisponde a una di queste funzioni, accedi nuovamente al tuo account sviluppatore Amazon e aggiungilo all'elenco che abbiamo incollato nel passaggio quattro.
Non è la soluzione più rapida o più semplice da configurare, ma una volta che funziona, è una delle cose più belle che puoi fare con Amazon Echo, secondo me. Ora posso iniziare a guardare la TV mentre cucino in cucina o quando le batterie del mio telecomando sono esaurite. Questo è il tipo di potenza che Amazon Echo è stato progettato per avere, e anche se ci vuole un po 'di lavoro, ne vale la pena.
Avere problemi? Dai un'occhiata a questo thread sui forum di Kodi, oltre alla pagina GitHub originale, o lascia una linea nei nostri commenti qui sotto.
Immagine del titolo da doomu / Bigstock e Amazon.