Como controlar seu Kodi Media Center com um Amazon Echo

alexa-kodi

Os controles remotos são tão 1950. Se você tem um centro de mídia Kodi e um Amazon Echo, pode reproduzir todos os seus filmes e programas favoritos com um comando de voz bem colocado … se estiver disposto a fazer algumas configurações.

O Amazon Echo é, em nossa opinião, uma das partes mais legais de uma casa inteligente . Controlar suas luzes, cortinas e TV com seu telefone é legal, mas controlá-los com sua voz é realmente o futuro. Eu estava cético, mas rapidamente fiquei impressionado – e com fome de mais.

Poder ligar minha TV é legal, mas o que eu realmente queria era poder controlar minha central de mídia. Eu queria poder dizer “Tocar o próximo episódio de Friends” e fazer com que ele procurasse minha biblioteca, ver o que assisti por último e começar a reproduzir o episódio subsequente. E depois de pesquisar um pouco, descobri que um programador empreendedor chamado Joe Ipson  já havia feito exatamente isso .

Isso requer um pouco de configuração e parece muito intimidante no início. Você precisará criar um servidor da web, enviar algum código do GitHub e trabalhar um pouco na linha de comando, mas não é necessário ser um programador para fazer isso funcionar. Ipson fez quase todo o trabalho pesado, e você só precisa copiar seu código, editar algumas partes e fazer o upload para o lugar certo. Se você seguir este guia ao pé da letra, deverá estar pronto e funcionando em nenhum momento.

NOTA: Estamos usando Amazon Web Services para este tutorial, já que é o mais confiável. Se você for um novo usuário da AWS, Ipson diz que você poderá executar a habilidade gratuitamente por cerca de um ano, após o qual será cobrado menos de 20 centavos por mês. Se você quiser algo realmente gratuito, poderá configurá-lo usando o Heroku, substituindo as etapas dois, três e quatro deste guia pelas instruções do  Heroku na documentação da Ipson . No entanto, é um pouco menos confiável e algumas solicitações podem expirar quando você o usa. Recomendamos a AWS se você quiser a melhor experiência possível — vale bem a pena os escassos 20 centavos por mês.

Etapa um: prepare seu servidor da Web Kodi

Para que isso funcione, o Kodi precisará ter um servidor acessível a partir da web. Felizmente, isso é integrado ao Kodi, embora você possa precisar encaminhar algumas portas em seu roteador e realizar algumas outras tarefas antes de funcionar sem problemas.

Abra o Kodi em sua central de mídia e vá para Sistema> Serviços> Servidor da web. Habilite o servidor web se ainda não estiver habilitado e dê a ele um nome de usuário e uma senha. Certifique-se de usar uma senha que você não usa para nenhum outro serviço.

screenshot.2

Você também precisará do endereço IP público de sua casa . No entanto, como isso pode mudar, é altamente recomendável se inscrever para um nome de domínio dinâmico usando um serviço como o Dynu . Siga nosso guia aqui antes de continuar, se ainda não tiver um.

DNS dinâmico

Por último, você precisará configurar o encaminhamento de porta para sua caixa Kodi. Isso varia de roteador para roteador, mas você pode verificar nosso guia aqui para obter mais informações. Basta encaminhar qualquer porta externa para o endereço IP local da sua caixa Kodi (no meu caso, 192.168.1.12) e porta local (8080 por padrão).

NOTA: embora a porta local do Kodi seja 8080 por padrão, você pode alterá-la para o que quiser – ou pode encaminhá-la para uma porta externa diferente para garantir que não haja complicações (já que outros aplicativos podem solicitar a porta 8080). Estou usando 8080 neste tutorial, mas se você usar algo diferente, apenas substitua todas as instâncias da porta 8080 pela porta externa que você escolher aqui.

Recomendado:  Como definir a fonte padrão no Photoshop e no Illustrator

screenshot.3

Se tudo correr bem, você poderá acessar a interface da web do Kodi abrindo um navegador da web e digitando:

my.dynamic-domain.com:8080

onde my.dynamic-domain.comé o URL do seu domínio dinâmico e 8080é a porta que você configurou no Kodi. Se isso não funcionar, certifique-se de que Kodi, seu domínio dinâmico e seu encaminhamento de porta foram configurados corretamente.

Etapa dois: configurar sua conta Amazon Web Services

Em seguida, você precisará configurar uma conta com Amazon Web Services (AWS). Vá para esta página e clique em “Criar uma conta AWS”. Faça login com suas credenciais da Amazon quando solicitado. Se você ainda não tiver uma conta da AWS, será solicitado que insira suas informações de contato para criar uma. Certifique-se de verificar “Conta pessoal” na parte superior.

aws1

Execute o restante das etapas do assistente. Você também terá que inserir as informações do seu cartão de crédito, mas não se preocupe – como dissemos, não deve ser cobrado muito de você (especialmente nos primeiros 12 meses).

Depois de verificar sua identidade com seu número de telefone e selecionar seu plano de suporte (recomendamos Basic, que é gratuito), clique no botão “Complete Sign Up” no canto direito da tela. A Amazon irá então fazer o seu login.

aws2

Agora vá para a página Identity and Access Management  (faça login novamente na AWS, se necessário) e clique na guia “Usuários” no lado esquerdo. Clique no botão “Adicionar usuário”.

Crie um novo usuário com o nome de usuário que desejar. Marque a caixa “Acesso programático” e clique em “Próximo: Permissões”.

Em seguida, você será solicitado a definir as permissões. Clique em “Attach Existing Policies Directly” e, em seguida, pesquise “AdministratorAccess”. Marque a opção AdministratorAccess e clique em “Next: Review”.

Certifique-se de que seu usuário se pareça com a imagem abaixo e clique em “Criar usuário”.

Não feche a próxima página! Você precisará obter o ID da chave de acesso e a chave de acesso secreta aqui (você precisará clicar em “Mostrar” para mostrar sua chave secreta). Copie-os para um arquivo de texto para mantê-los em segurança, porque você não poderá obter a chave secreta novamente depois de sair desta página.

Depois de anotá-los, você pode fechar a janela com segurança.

Etapa três: instale o Python 2.7 e configure suas variáveis

Para enviar o código da Ipson para a AWS, você precisará do Python 2.7 instalado no seu computador. Estaremos usando o Windows neste tutorial, mas você deve conseguir fazer isso no macOS e no Linux também.

Para instalar o Python no Windows, vá para a página de download do Python e baixe o Python 2.7. Execute o instalador como faria com qualquer outro programa do Windows. Use as seleções padrão, pois precisaremos de algumas das ferramentas que vêm com o instalador do Python.

Pythondownload

Em seguida, clique aqui para baixar o código da Ipson. Descompacte a pasta kodi-alexa-master dentro do arquivo ZIP em algum lugar do seu disco rígido.

Depois de instalado, é hora de mergulhar na linha de comando. Pressione Windows + X no teclado e escolha “Prompt de Comando”. (Usuários de Mac e Linux vão querer abrir seus respectivos aplicativos Terminal). A partir daí, execute os dois comandos a seguir, um após o outro:

C: \ Python27 \ Scripts \ pip.exe install awscli
C: \ Python27 \ Scripts \ aws configure

Isso instalará as ferramentas de linha de comando da AWS e iniciará a ferramenta de configuração.

Cole sua ID de chave de acesso e chave de acesso secreta quando solicitado. Quando for solicitado o nome da região padrão, digite  us-east-1(se estiver nos EUA) ou eu-west-1(se estiver na Europa). Você pode deixar seu Formato de Saída Padrão vazio (apenas pressione Enter).

Em seguida, execute o seguinte comando:

C: \ Python27 \ Scripts \ pip.exe install virtualenv

Você precisará disso instalado para mais tarde.

Agora coloque o CD em sua pasta kodi-alexa-master com o seguinte comando:

CD C: \ Users \ Whitson \ Documents \ Code \ kodi-alexa-master

Obviamente, substitua o caminho do arquivo pelo caminho do local onde você salvou a pasta kodi-alexa-master.

Mantenha a janela aberta por enquanto, precisaremos voltar a ela em um momento.

Recomendado:  Como recortar uma imagem no Photoshop

Primeiro, para que o código da Ipson funcione com sua configuração Kodi e AWS, você precisará definir algumas variáveis ​​em um arquivo de configuração. Baixe este modelo , renomeie-o para kodi.confige salve-o na pasta kodi-alexa-master. Abra-o em um editor de texto amigável como o  Notepad ++ e edite as seguintes quatro variáveis:

endereço = 
porta = 
username = 
senha =

A addressvariável será o endereço dinâmico que você configurou na etapa um (por exemplo my.dynamic-domain.com), portserá a porta usada na etapa um (provavelmente 8080, a menos que você a tenha alterado) usernamee passwordserão as credenciais da etapa um.

Se você tiver várias caixas Kodi em sua casa, também pode usar este arquivo de configuração para controlá-las separadamente com Alexa. Não abordaremos isso neste guia, mas você pode encontrar instruções na documentação da Ipson aqui .

Quando terminar, salve o arquivo e volte para a janela do prompt de comando.

Etapa quatro: envie seu código para a AWS

Com essas variáveis ​​no lugar, seu código está pronto para implantação. De volta ao seu prompt de comando, execute estes dois comandos:

C: \ Python27 \ Scripts \ virtualenv venv
venv \ Scripts \ activate.bat

Isso criará um novo “ambiente virtual” e o ativará.

No prompt venv que aparece, execute os seguintes comandos:

pip install -r requisitos.txt
pip instalar embalagem
pip install zappa

Isso instalará uma ferramenta chamada Zappa, que o ajudará a implantar seu código.

Em seguida, você precisará configurar o Zappa. Corre:

zappa init

Ele o levará através de um assistente. Basta aceitar os padrões para tudo.

Por último, execute:

zappa deploy dev

Isso implantará seu código no Lambda. Isso levará alguns minutos, então deixe funcionar. No final, você receberá um URL – copie-o, pois você precisará dele na próxima etapa.

Por último, também recomendo executar o seguinte comando, pois você também precisará dos arquivos resultantes na próxima etapa:

python generate_custom_slots.py

Certifique-se de que sua caixa Kodi esteja ligada e em execução quando você executar este script, pois ele obterá nomes de filmes, programas e outras mídias de sua biblioteca.

Você está quase lá! Agora só precisamos configurar uma habilidade Alexa para este código.

Etapa cinco: crie sua habilidade Alexa

Para conectar o código da Ipson ao nosso Echo, precisaremos criar uma Alexa “Skill” que use esse código. Este aplicativo não será distribuído para ninguém, ele estará apenas em “modo de teste” para sempre, conectado à sua própria conta da Amazon para uso com o seu Echo.

Para começar, configure uma conta de desenvolvedor Amazon gratuita. Vá para esta página , faça login com sua conta da Amazon e registre-se para uma conta de desenvolvedor. Preencha os campos obrigatórios, concorde com os termos e diga “Não” quando for perguntado se você pretende monetizar seus aplicativos.

captura de tela 26

Uma vez logado, vá para “Alexa” na barra de ferramentas superior. Clique no botão “Começar” em “Alexa Skills Kit”.

alexa-skills-1

Em seguida, clique no botão “Adicionar uma nova habilidade”.

alexa-skills-2

Dê um nome à sua habilidade – chamei a minha de “Kodi” – e dê a ela um nome de invocação. Isso é o que você dirá quando quiser invocar um comando. Por exemplo, meu nome de invocação também é “a sala de estar”, o que significa que terei que dizer “Peça à sala de estar para …” para dar comandos Alexa para meu centro de mídia.

Na minha experiência, nomes longos de invocação funcionam melhor do que nomes mais curtos. Usei “Kodi” por um tempo (“Peça a Kodi para …”), mas Alexa ocasionalmente tinha problemas para encontrar filmes. Não sei dizer por quê, mas nomes de invocação mais longos, como “sala de estar”, funcionam quase perfeitamente para mim. Portanto, tente escolher algo com algumas sílabas.

Clique em Avançar quando terminar.

captura de tela. 29

Clique no botão “Adicionar tipo de slot” no meio da próxima janela.

screenshot.1

Crie um novo slot chamado SHOWS. Volte para a pasta kodi-alexa-master, abra o arquivo SHOWS com o Notepad ++ e copie os programas para a caixa na página da Amazon. Isso ajudará Alexa a reconhecer os programas que você ditar.

Recomendado:  Como alterar o servidor DNS em um Chromebook

Como alternativa, você pode apenas listar alguns de seus programas de TV na caixa, um por linha. Você não precisa adicionar todos os programas em sua biblioteca Kodi, mas é bom ter um número decente de exemplos (descobri que 20 ou 30 é muito bom).

Clique em OK quando terminar.

screenshot.2

Repita este processo com estes tipos de slot: MOVIES, MOVIEGENRES, MUSICARTISTS, MUSICALBUMS, MUSICSONGS, MUSICPLAYLISTS, VIDEOPLAYLISTS e ADDONS (se você não tiver informações para nenhum desses, crie o tipo de slot de qualquer maneira – o código da Ipson exige isso – e apenas escreva a palavra “Vazio” na caixa. Não causará problemas.)

Novamente, você não precisa de todos os programas, filmes ou artistas nesses slots, então não precisa atualizá-los sempre que adicionar um novo filme à sua biblioteca. Só ajuda ter um número decente de exemplos em cada um.

Depois de criar todos os nove tipos de slot, volte para a pasta kodi-alexa-master. Abra a pasta speech_assets e abra os arquivos IntentSchema.jsone SampleUtterances.txtcom um aplicativo como o Notepad ++ .

Selecione todo o texto no IntentSchema.json  arquivo e cole-o na caixa “Esquema de Intenção” no site Amazon Developer. Repita este processo com o SampleUtterances.txt  arquivo, colocando o texto na caixa “Amostra de Expressões”.

Quando terminar, clique em Avançar. Pode levar alguns minutos para construir o modelo de interação.

screenshot.31

Na próxima página, escolha “HTTPS” para o tipo de endpoint e cole a URL que você obteve no final da Etapa quatro. Escolha sua região geográfica (América do Norte ou Europa) e selecione “Não” para Vinculação de conta. Clique em Avançar.

Na próxima página, selecione “Meu endpoint de desenvolvimento é um subdomínio de um domínio que possui um certificado curinga de uma autoridade de certificação”. Clique em Avançar.

captura de tela.24

Você não deve precisar adicionar nenhuma informação na página Teste, embora possa testar certos aspectos do código se souber o que está fazendo. Caso contrário, clique em Avançar.

Na página Publishing Information, preencha os campos obrigatórios, mas não se preocupe muito com o que você colocar, pois você não enviará este aplicativo para certificação. Você é o único que usará este aplicativo. ( Aqui está um ícone 108 × 108 e um ícone 512 × 512 para você usar.) Clique em Avançar quando terminar.

captura de tela. 33

Na página final, escolha “Não” para ambas as questões de privacidade e marque a caixa Complicância. Clique no botão “Salvar” quando terminar. NÃO clique no botão “Enviar para certificação”.

alexa-final

Etapa seis: teste seus novos comandos

Se tudo correr bem, você poderá testar seus novos comandos agora. Certifique-se de que sua caixa Kodi esteja ligada e tente dizer algo como:

“Alexa, peça à sala para jogar a primeira temporada, episódio um de Friends”

(… obviamente substituindo isso por um episódio e show que você tem em sua máquina.) Alexa pode demorar um pouco, mas espero que ela responda e comece a reproduzir o show em questão. Se você receber um erro e o episódio não for reproduzido, volte e certifique-se de que fez tudo corretamente.

Você pode perguntar a Alexa se você tem novos episódios, pedir a ela para tocar o próximo episódio de um programa ou até mesmo usá-la para controlar Kodi, por mais ineficiente que seja (“Alexa, peça para a sala de estar fazer uma pausa”, “Alexa , peça à sala de estar para descer ”, etc.). Verifique o SampleUtterances.txt  arquivo para ver tudo o que Alexa pode fazer com essa integração. Se você quiser adicionar uma nova frase que corresponda a uma dessas funções, apenas entre novamente em sua conta de desenvolvedor da Amazon e adicione-a à lista que colamos na etapa quatro.


Não é a coisa mais rápida ou fácil de configurar, mas uma vez que você o faz funcionar, é facilmente uma das coisas mais legais que você pode fazer com seu Amazon Echo, na minha opinião. Agora posso começar a assistir TV enquanto cozinho na cozinha ou quando as pilhas do controle remoto acabam. Esse é o tipo de poder que o Amazon Echo foi projetado para ter e, embora dê um pouco de trabalho, vale a pena.

Está tendo problemas? Verifique este tópico nos fóruns do Kodi , bem como na página original do GitHub , ou escreva um comentário abaixo.

Imagem de título de doomu / Bigstock e Amazon.