Como controlar o seu Kodi Media Center com um Amazon Echo
Os controles remotos são tão 1950. Se você tem um media center Kodi e um Amazon Echo, você pode reproduzir todos os seus filmes e programas favoritos com um comando de voz bem colocado… se você estiver disposto a fazer uma pequena configuração.
O Amazon Echo é, em nossa opinião, uma das partes mais legais de uma casa inteligente. Controlar suas luzes, persianas 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 por mais.
Ser capaz de ligar minha TV é legal, mas o que eu realmente queria era poder controlar meu media center. Eu queria ser capaz de dizer "Jogue o próximo episódio de Friends" e fazer com que ele pesquise na minha biblioteca, veja o que eu vi por último e comece a reproduzir o episódio subsequente. E depois de um pouco de pesquisa, 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 começo. Você precisará criar um servidor web, enviar algum código do GitHub e fazer um pouco de trabalho a partir da linha de comando, mas você não precisa ser um programador para fazer isso funcionar. A Ipson fez quase todo o trabalho pesado, e você só precisa copiar o código dele, editar algumas partes e carregá-lo no lugar certo. Se você seguir este guia ao pé da letra, você deve estar pronto e em execução em nenhum momento.
OBSERVAÇÃO: estamos usando o Amazon Web Services para este tutorial, já que é o mais confiável. Se você é um novo usuário da AWS, a Ipson diz que você deve ser capaz de executar a habilidade gratuitamente por cerca de um ano, após o qual será cobrado menos de 20 centavos de dólar por mês. Se você quer algo verdadeiramente livre, você pode configurá-lo usando o Heroku, substituindo os passos dois, três e quatro deste guia com as instruções Heroku na documentação da Ipson. É, no entanto, um pouco menos confiável, e alguns pedidos podem expirar quando você usá-lo. Recomendamos a AWS se você quer a melhor experiência possível - vale bem a pena os escassos 20 centavos de dólar por mês.
Primeiro Passo: Prepare o seu Servidor Web Kodi
Para que isso funcione, a Kodi precisará ter um servidor acessível a partir da web. Felizmente, isso é incorporado ao Kodi, embora você possa precisar encaminhar algumas portas em seu roteador e executar algumas outras tarefas antes que ele funcione sem problemas..
Abra o Kodi no seu media center e vá para Sistema> Serviços> Servidor da Web. Ative o servidor da Web, se já não estiver ativado, e atribua a ele um nome de usuário e uma senha. Certifique-se de usar uma senha que você não usa para qualquer outro serviço.
Você também precisará do endereço IP público da sua casa. No entanto, como isso pode mudar, recomendamos que você se inscreva em um nome de domínio dinâmico usando um serviço como o Dynu. Siga nosso guia aqui antes de continuar se você ainda não tiver um.
Por fim, você precisará configurar o encaminhamento de porta para sua caixa Kodi. Isso será diferente de roteador para roteador, mas você pode conferir nosso guia aqui para 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).
OBSERVAÇÃO: 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). Eu estou usando 8080 neste tutorial, mas se você usar algo diferente, basta substituir todas as instâncias da porta 8080 com o externo porta você escolhe aqui.
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ê define no Kodi. Se isso não funcionar, verifique se o Kodi, seu domínio dinâmico e seu encaminhamento de porta foram configurados corretamente.
Etapa 2: configurar sua conta do Amazon Web Services
Em seguida, você precisará configurar uma conta com o Amazon Web Services (AWS). Vá para esta página e clique em "Criar uma conta da AWS". Faça o login com suas credenciais da Amazon quando solicitado. Se você não tiver uma conta da AWS, será solicitado que você insira suas informações de contato para criar uma. Certifique-se de verificar "Conta Pessoal" ao longo do topo.
Vá até o restante das etapas no assistente. Você também terá que inserir suas informações de cartão de crédito, mas não se preocupe - como dissemos, você não deve ser cobrado muito, se em tudo (especialmente para os primeiros 12 meses).
Depois de verificar sua identidade com seu número de telefone e selecionar seu plano de suporte (recomendamos o Basic, que é gratuito), clique no botão "Concluir inscrição" no canto direito da tela. Amazon, então, você vai entrar.
Agora vá para a página Gerenciamento de identidade e acesso (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 desejado. Marque a caixa “Programmatic Access” e clique em “Next: Permissions”.
Em seguida, você será solicitado a definir permissões. Clique em "Anexar políticas existentes diretamente", em seguida, procure por "AdministratorAccess". Verifique a opção AdministratorAccess e clique em “Next: Review”.
Certifique-se de que seu usuário se parece com a imagem abaixo e clique em "Criar usuário".
Não feche a próxima página! Você precisará pegar o ID da Chave de Acesso e a Chave de Acesso Secreto aqui (você precisará clicar em "Mostrar" para mostrar sua chave secreta). Copie-os para um arquivo de texto para salvaguardar, porque você não poderá obter a chave secreta novamente depois de sair desta página.
Depois de ter escrito, você pode fechar a janela com segurança.
Terceiro Passo: Instalar o Python 2.7 e Configurar suas Variáveis
Para empurrar o código da Ipson para a AWS, você precisará do Python 2.7 instalado no seu computador. Usaremos o Windows neste tutorial, mas você também poderá fazer isso no macOS e no Linux.
Para instalar o Python no Windows, acesse 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.
Então, clique aqui para baixar o código da Ipson. Descompacte a pasta kodi-alexa-master dentro do arquivo ZIP em algum lugar do disco rígido.
Uma vez instalado, é hora de entrar na linha de comando. Pressione Windows + X no seu teclado e escolha "Prompt de comando". (Usuários de Mac e Linux vão querer abrir seus respectivos aplicativos do Terminal). A partir daí, execute os dois comandos a seguir, um após o outro:
C: \ Python27 \ Scripts \ pip.exe instala o awscli
Configuração de C: \ Python27 \ Scripts \ aws
Isso instalará as ferramentas de linha de comando da AWS e iniciará a ferramenta de configuração.
Cole seu ID de chave de acesso e chave de acesso secreta quando solicitado. Quando perguntado por seu nome de região padrão, digite us-east-1
(se você estiver nos EUA) ou eu-west-1
(se você estiver na Europa). Você pode deixar seu formato de saída padrão vazio (basta pressionar Enter).
Em seguida, execute o seguinte comando:
C: \ Python27 \ Scripts \ pip.exe instala virtualenv
Você precisará disso instalado para mais tarde.
Agora CD em sua pasta kodi-alexa-master com o seguinte comando:
CD C: \ Usuários \ Whitson \ Documents \ Code \ kodi-alexa-master
Obviamente, substitua o caminho do arquivo pelo caminho para onde você salvou sua pasta kodi-alexa-master.
Mantenha a janela aberta por enquanto, precisaremos voltar em um momento.
Primeiro, para que o código da Ipson funcione com sua configuração do Kodi e da AWS, você precisará definir algumas variáveis em um arquivo de configuração. Baixe este modelo, renomeie-o para kodi.config
, e salve-o em sua pasta kodi-alexa-master. Abra-o em um editor de texto amigável ao código, como o Notepad ++, e edite as quatro variáveis a seguir:
endereço = porta = nome de usuário = senha =
o endereço
variável será o endereço dinâmico que você configurou na etapa um (por exemplo,. my.dynamic-domain.com
), porta
será a porta que você usou na etapa um (provável 8080, a menos que você a tenha alterado), e username
e senha
serão as credenciais do primeiro passo.
Se você tiver várias caixas Kodi em sua casa, também poderá usar esse arquivo de configuração para controlá-las separadamente com o Alexa. Nós não vamos passar por 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
Isto irá criar um novo “ambiente virtual” e ativá-lo.
No prompt venv que aparece, execute os seguintes comandos:
instalação pip -r requirements.txt
pip instalar embalagem
pip instalar zappa
Isto irá instalar uma ferramenta chamada Zappa, que irá ajudá-lo a implantar seu código.
Em seguida, você precisará configurar o Zappa. Corre:
zappa init
Isso te levará através de um mago. Apenas aceite os padrões para tudo.
Por fim, execute:
zappa deploy dev
Isso implantará seu código no Lambda. Vai demorar alguns minutos, então deixe correr. No final, ele te dará uma cópia de URL, pois você precisará disso na próxima etapa.
Por fim, 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 esse script, pois ele estará chamando nomes de filmes, programas e outras mídias da sua biblioteca.
Você está quase lá! Agora só precisamos configurar uma habilidade do Alexa para este código.
Quinto passo: Crie sua habilidade Alexa
Para conectar o código da Ipson com o nosso Echo, precisaremos criar uma “habilidade” Alexa que use esse código. Este aplicativo não será distribuído para ninguém, apenas estará no "modo de teste" para sempre, conectado à sua própria conta da Amazon para uso com seu Echo.
Para começar, configure uma conta gratuita do Amazon Developer. Vá para esta página, faça o login com sua conta da Amazon e registre-se para uma conta de desenvolvedor. Preencha os campos obrigatórios, aceite os termos e diga "Não" quando for perguntado se você vai gerar receita com seus apps.
Uma vez logado, vá para "Alexa" na barra de ferramentas superior. Clique no botão "Get Started" em "Alexa Skills Kit".
Em seguida, clique no botão "Adicionar uma nova habilidade".
Dê à sua habilidade um nome - eu chamo o meu “Kodi” - e dou a ele 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 media center.
Na minha experiência, nomes longos de invocação funcionam melhor que os mais curtos. Eu usei "Kodi" por um tempo ("Ask Kodi to ..."), mas Alexa ocasionalmente teve dificuldade em encontrar filmes. Eu não poderia dizer o porquê, mas nomes de invocação mais longos como “a sala de estar” funcionam quase sem falhas para mim. Então tente escolher algo com algumas sílabas.
Clique em Avançar quando terminar.
Clique no botão "Add Slot Type" no meio da próxima janela.
Crie um novo slot chamado MOSTRA
. Volte para sua pasta kodi-alexa-master, abra o arquivo SHOWS com o Notepad ++ e copie os shows na caixa na página da Amazon. Isso ajudará o Alexa a reconhecer os programas que você dita.
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 da sua biblioteca Kodi, mas é bom ter um número decente de exemplos (descobri que 20 ou 30 são muito bons).
Clique em OK quando terminar.
Repita este processo com estes Tipos de Slot: FILMES, FILMES, MUSICARTISTA, MUSICALBUMS, MUSICSONGS, MUSICPLAYLISTS, VIDEOPLAYLISTS e ADDONS (Se você não tiver informações para nenhum desses, crie o tipo de slot de qualquer forma - o código da Ipson exige isso - e apenas escreva a palavra "Empty" na caixa. Não causará problemas.)
Novamente, você não precisa de cada programa, filme ou artista nesses espaços, portanto, não precisa atualizá-los toda vez que adicionar um novo filme à sua biblioteca. Apenas ajuda a ter um número decente de exemplos em cada.
Quando você tiver criado todos os nove tipos de slot, volte para a pasta kodi-alexa-master. Abra a pasta speech_assets e abra o IntentSchema.json
e SampleUtterances.txt
arquivos com um aplicativo como o Notepad++.
Selecione todo o texto no IntentSchema.json
arquivo e cole-o na caixa “Intent Schema” no site do Amazon Developer. Repita este processo com o SampleUtterances.txt
arquivo, colocando o texto na caixa “Sample Utterances”.
Quando terminar, clique em Avançar. Pode levar alguns momentos para criar o modelo de interação.
Na próxima página, escolha "HTTPS" para o tipo de endpoint e cole na 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 ponto de extremidade de desenvolvimento é um subdomínio de um domínio que possui um certificado curinga de uma autoridade de certificação”. Clique em Avançar.
Você não precisa adicionar nenhuma informação na página de 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 Informações da Publicação, preencha os campos obrigatórios, mas não se preocupe muito com o que você colocou, pois você não enviará este aplicativo para certificação. Você é o único que estará usando este aplicativo. (Aqui está um ícone de 108 × 108 e um ícone de 512 × 512 para você usar.) Clique em Avançar quando terminar.
Na página final, escolha "Não" para as questões de privacidade e marque a caixa Compliance. Clique no botão "Salvar" quando terminar. NÃO clique no botão "Enviar para Certificação".
Etapa 6: testar seus novos comandos
Se tudo correu bem, você deve ser capaz de testar seus novos comandos agora. Certifique-se de que sua caixa Kodi esteja ativada e tente dizer algo como:
“Alexa, peça para a sala jogar a primeira temporada, episódio um dos Amigos”
(… Obviamente substituindo isso por um episódio e mostrando que você tem em sua máquina.) Pode levar um momento para Alexa, mas esperançosamente ela deveria responder e começar a fazer o show em questão. Se você receber um erro e o episódio não for reproduzido, volte e verifique se você fez tudo corretamente.
Você pode perguntar ao 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 o Kodi, por mais ineficiente que seja (“Alexa, peça para a sala fazer uma pausa”, “Alexa , peça para a sala de estar descer ”, etc.). Confira a SampleUtterances.txt
arquivo para ver todas as coisas que Alexa pode fazer com esta integração. Se você quiser adicionar uma nova frase que corresponda a uma dessas funções, basta fazer login na sua conta do Amazon Developer e adicioná-la à lista que colamos na etapa quatro..
Não é a coisa mais rápida ou fácil de configurar, mas uma vez que você trabalha, é uma das coisas mais legais que você pode fazer com o Amazon Echo, na minha opinião. Agora posso começar a assistir TV enquanto cozinho na cozinha, ou quando as pilhas do meu controle remoto estão mortas. Esse é o tipo de poder que o Amazon Echo foi projetado para ter, e mesmo que seja necessário um pouco de trabalho, vale a pena.
Tem problemas? Confira este tópico nos fóruns do Kodi, bem como a página original do GitHub, ou coloque uma linha em nossos comentários abaixo.
Imagem de título do doomu / Bigstock e Amazon.