Si tienes un centro de medios Kodi y un Amazon Echo, podrás reproducir tus programas y películas favoritas con tan solo un comando de voz.
Creemos que el Amazon Echo es una de las partes más increíbles de un hogar inteligente, ya que te permite controlar tus luces, tus persianas y televisores con tu voz.
Poder controlar todo con la voz suena genial, pero lo que sería aún mejor es controlar tu centro de medios con ella. Para ti, en esta ocasión, hemos buscado un poco sobre cómo lograr controlar el centro de medios Kodi con un Amazon Echo, y te traemos la solución que Joe Ipson desarrolló para ti.
Todo el proceso necesitará de algunos ajustes, y puede parecer intimidante al principio. Deberás crear un servidor web, empujar algunos códigos de GitHub y hacer algo de trabajo desde la línea de comandos. Sin embargo, no necesitas ser un programador para instalar y ejecutar todo.
Ipson se encargó de hacer casi casi todo el trabajo, por lo que solo necesitarás copiar un código, editar algunas partes y cargarla en el lugar correcto. Si sigues este tutorial al pie de la letra, te será bastante fácil.
IMPORTANTE: Estamos utilizando los servicios de Amazon Web para este tutorial, ya que son los más confiables. Si eres un usuario de AWS, Ipson dice que podrás ejecutar la habilidad de forma gratuita por un año, aproximadamente. Luego de eso, deberás pagar menos de 20¢ mensuales. Estas dos son las opciones más confiables, aunque puedes inclinarte por la opción gratuita que te ofrece Heroku. Para utilizarla, deberás sustituir los pasos dos, tres y cuatro del tutorial por esta guía.
Primer paso: Prepara tu servidor web Kodi
Para conseguir lo que queremos, Kodi necesitará un servidor que sea accesible desde la web. Afortunadamente, ya lo trae integrado, aunque puede que necesites reenviar algunos puertos en tu router y realizar otras tareas antes de que funcione sin problemas.
Abre Kodi en tu centro de medios y dirígete a Sistema > Servicios > Servidor Web. Habilita el servidor web si está desactivado, y colócale un nombre de usuario y una contraseña. Asegúrate de utilizar una contraseña que no poseas en ningún otro servicio.
Además, necesitarás la dirección IP pública de tu hogar. Sin embargo, como esto puede cambar, recomendamos que firmes para un dominio público, utilizando un servicio como Dynu.
Por último, deberás ajustar puertos, reenviándolos a la caja de tu Kodi. Aunque esto puede cambiar de un router a otro, en general solo tendrás que reenviar cualquier puerto externo a la dirección de IP local de la caja de Kodi y el puerto local.
Podrás cambiar el puerto local de Kodi por el que desees, ya que su número predeterminado es 8080.
Si hasta aquí vamos bien, deberías ser capaz de acceder a la interfaz web de Kodi abriendo un buscador y escribiendo:
my.dynamic-domain.com:8080
Aclarando que my.dynamic-domain.com es la dirección URL de tu dominio dinámico, y 8080 es el Puerto que ajustes en Kodi. Si esto no funciona, revisa que Kodi, tu dominio dinámico y el reenvío de puertos se haya hecho correctamente.
Segundo paso: Ajusta tu cuenta de servicios de Amazon Web
A continuación, necesitarás ajustar una cuenta con los servicios Web de Amazon (AWS). Dirígete a esta página y haz clic en “Crear una cuenta AWS”. Ingresa con tu credencial de Amazon rápidamente. Si no posees una cuneta AWS previamente, te pedirán que ingreses algunos datos para poder crearla. Asegúrate de marcar “Cuenta Personal” en la parte superior.
Sigue el resto de los pasos del asistente. Además, deberás ingresar información de tu tarjeta de crédito, pero no te preocupes, porque no te cargarán grandes cantidades de dinero, especialmente durante los primeros 12 meses.
Luego de verificar tu identidad con tu número de teléfono, y seleccionar tu plan de soporte (te recomendamos que uses el básico, que es gratuito). Haz clic en el botón de “Completar registro” en el borde superior derecho de la pantalla. Será entonces cuanto Amazon te registre.
Ahora, dirígete a la página de Identidad y Gestión de Acceso, y haz clic en la pestaña de Usuarios al lado izquierdo. Haz clic en el botón de Añadir Usuario.
Crea un Nuevo usuario con el nombre que desees. Marca la caja de Acceso Programático y haz clic en Próximo: Permisos.
A continuación, serás conducido a ajustar los permisos. Haz clic en “Adjuntar Políticas Existentes Directamente”. Luego, busca “Acceso del Administrador”. Marca esta opción y haz clic en Próximo: Revisión.
Asegúrate de que tu usuario luzca como la imagen que te mostramos abajo. Si es así, haz clic en “Crear Usuario”.
¡No cierres la siguiente página! Necesitarás tomar el ID de la clave de acceso y la clave de acceso secreta. Para verla, haz clic en “Mostrar”. Cópialas en un archivo de texto para mantenerlas seguras, ya que una vez que abandones esta página, no volverás a tener acceso a ellas.
Una vez que tengas eso listo, puedes cerrar la ventana con tranquilidad.
Tercer paso: Instala Python 2.7 y ajusta las variables
Para poder llevar el código de Ipson a AWS, necesitarás instalar Python 2.7 en tu ordenador. Para este tutorial usaremos Windows, pero debería funcionar de la misma forma en macOS y Linux.
Para instalar Python en Windows, ve a la página de descarga de Python y descarga la versión 2.7. Ejecuta el instalador como lo harías con cualquier otro programa de Windows. Utiliza la selección predeterminada, ya que necesitaremos algunas herramientas que vienen con el instalador.
A continuación, haz clic aquí para descargar el código de Ipson. Descomprime la carpeta kodi-alexa-master junto con el resto del ZIP en tu ordenador.
Una vez instalado, es tiempo de cavar en la línea de comando. Presiona Windows+X en tu teclado y escoge “Línea de comandos”. Desde ahí, ejecuta los siguientes comandos, uno después del otro.
C:\Python27\Scripts\pip.exe install awscli
C:\Python27\Scripts\aws configure
Esto instalará las herramientas de la línea de comando de AWS y lanzará la herramienta de configuración.
Pega tu ID de la clave de acceso y tu clave de acceso secreta. Cuando te ídan el nombre de tu región predeterminada, escribe us-east-1 si te encuentras en USA, y eu-west-1 si te encuentras en Europa. Puedes dejar vacío tu Formato de salida predeterminado y hacer clic en Enter.
Luego, ejecuta el siguiente comando:
C:\Python27\Scripts\pip.exe install virtualenv
Necesitarás tenerlo instalado para más adelante.
Ahora ingresa en tu carpeta de kodi.alexa.master con el siguiente comando:
CD C:\Users\Whitson\Documents\Code\kodi-alexa-master
Como es lógico, debes reemplazar la ruta del archive para el lugar en el que hayas guardado la carpeta kodi-alexa-master.
Mantén la ventana abierta por ahora, ya que necesitarás volver en un momento.
Primero, para que el código de Ipson funcione con los ajustes de Kodi y los servicios de Amazon Web, necesitarás definir algunas variables en un archivo de configuración. Descarga este modelo, cambia su nombre por kodi.config y guárdalo en tu carpeta kodi-alexa-master. Abrélo en un editor de texto amigable con los códigos, como Notepad++, y edita las siguientes cuatro variables:
address =
port =
username =
password =
La variable de dirección será la dirección dinámica que usamos en el primer paso (my.dynamic-domain.com ). Puerto será el puerto que usamos en el primer paso (8080, o el número que hayas dispuesto). Usuario y contraseña serán las credenciales que usamos en el primer paso.
posees múltiples cajas Kodi en tu hogar, puedes utilizar este archivo de configuración para controlarlas por separado con Alexa. No profundizaremos ese aspecto en este tutorial, pero puedes encontrar más información en la documentación de Ipson aquí.
Cuando acabes, guarda el archivo y regresa a la ventana de tu Línea de Comando.
Cuarto paso: Lleva tu código a AWS
Con estas variables en su lugar, tu código está listo para ser desplegado. En tu Línea de Comando, ejecuta estos dos comandos:
C:\Python27\Scripts\virtualenv venv
venv\Scripts\activate.bat
Esto creará y activará un nuevo “ambiente virtual”.
En la línea venv que aparece, ejecuta los siguientes comandos:
pip install -r requirements.txt
pip install zappa
Esto instalará una herramienta llamada Zappa, que te ayudará a desplegar tu código.
A continuación deberás ajustar Zappa. Ejecuta:
zappa init
Esto te llevará hacia un asistente. Acepta los ajustes predeterminados para todo.
Por útlimo, ejecuta:
zappa deploy dev
Esto desplegará tu código a Lambda. Tomará algunos minutos, así que déjalo correr. Al final, te dará un URL que deberás copiar, ya que lo utilizaremos en el siguiente paso.
Además, te recomendamos ejecutar le siguiente comando, ya que necesitarás los archivos resultantes en el siguiente paso también:
python generate_custom_slots.py
Asegúrate de que la caja de Kodi esté encendida y corriendo mientras ejecutas este script, ya que estará copiando nombres de películas, programas y otros medios de tu biblioteca.
¡Ya casi terminamos! Ahora solo necesitamos ajustar una habilidad de Alexa para este código.
Quinto paso: Crea tu habilidad de Alexa
Para conectar el código de Ipson con tu Echo deberás crear una habilidad de Alexa que lo utilice. Esta aplicación no será distribuida, simplemente se quedará en modo de prueba por siempre, conectado a tu cuneta de Amazon para usarla con tu Echo.
Para empezar, ajusta una cuenta gratuita de Desarrollador de Amazon. Dirígete a esta página, ingresa con tu cuenta de Amazon y regístrate para una cuenta de desarrollador. Completa los campos requeridos, accede a los términos y di No a la opción de monetizar tus aplicaciones.
Una vez dentro, dirígete a Alexa, en la barra de herramientas superior. Haz clic en el botón de “Empezar” debajo del “Kit de habilidades de Alexa”.
A continuación, haz clic en “Agregar nueva habilidad”.
Dale un nombre a tu habilidad, y dale un nombre de invocación. Este último es lo que dirás cuando quieras invocar un comando. Por ejemplo, puedes nombrarla “La sala de estar”, lo que significa que tendrás que decir “Pide a la sala de estar que…” Para que Alexa obtenga comandos del centro de medios.
Podemos decirte por experiencia que los nombres de invocación largos funcionan mejor que los cortos. No sabemos decirte por qué, pero es así. Por ello, recomendamos que escojas nombres con unas cuantas sílabas.
Haz clic en Siguiente cuando termines.
Haz clic en “Añadir tipo de ranura” en el centro de la siguiente ventana.
Crea una nueva ranura llamada SHOWS.Regresa a la carpeta kodi-alexa-master, abre el archivo SHOWS con Notepad++ y copia los shows en la caja de la página de Amazon. Esto ayudará a Alexa a reconocer los programas de los que hables.
Alternativamente, puedes simplemente enlistar algunos de tus programas en la caja, uno por uno. No necesitas añadir cada programa en tu biblioteca de Kodi, pero es bueno tener un buen número de ejemplos, lo ideal es añadir entre 20 y 30.
Haz clic en OK cuando termines.
Repite el proceso con estos tipos de ranuras: Películas, Géneros de películas, Artistas musicales, Álbumes musicales, Canciones, Listas de reproducción de música, Listas de reproducción de vídeo y Añadiduras. Si no tienes información para alguno, crea la ranura de todas formas, ya que el código las requiere, y escribe la palabra “Vacío” en la caja. No causará problemas.
De nuevo, no necesitas añadir cada uno de los programas, películas o artistas en estas ranuras, así que no necesitas actualizarlas cada vez que añadas algo nuevo a tu biblioteca.
Una vez que hayas creado los nueve tipos de ranuras, regresa a la carpeta kodi-alexa-master. Abre la carpeta Archivos_del_habla, luego abre el archivo IntentSchema.json y SampleUtterances.txt con una app como Notepad++.
Selecciona todo el texto en el primer archivo y pégalo en la caja de Intención de Esquema de la página de Desarrollador de Amazon. Repite este proceso con el segundo archivo, desplazando el texto a la caja de Ejemplo de Expresiones.
Cuando termines, haz clic en Siguiente. Puede tomar un momento construir el modelo de interacción.
En la próxima página, escoge HTTPS del Tipo de Punto Final y pega la URL que obtuvimos en el cuarto paso. Escoge tu región geográfica y selecciona No, en la opción de Vincular la Cuenta. Haz clic en Siguiente.
En la próxima página, selecciona “Mi punto final de desarrollo es un subdominio de un dominio que posee un certificado comodín de una autoridad certificada”. Haz clic en siguiente.
No deberías verte en necesidad de agregar ninguna información en la página de prueba, aunque puedes probar ciertos aspectos del código si sabes lo que haces. Si no, haz clic en Siguiente.
En la página de Publicar Información, llena los campos requeridos (no te preocupes demasiado por esto, pues no estarás llevando esta app para la certificación). Recuerda que tu serás el único que utilice la app. Haz clic en Siguiente cuando termines.
En la página final, escoge No para Preguntas de Privacidad y marca la caja de Conformidad. Haz clic en Guardar cuando hayas terminado. NO hagas clic en el botón de Enviar para Certificación.
Sexto paso: Prueba tus nuevos comandos
Si todo ha ido bien, deberías ser capaz de probar tus nuevos comandos. Asegúrate de que tu caja Kodi esté encendida, y prueba diciendo algo como:
“Alexa, pídele a la sala de estar que reproduzca el primer episodio de la primera temporada de Friends”
Puede tomarle un momento a Alexa, pero esperamos que responda y comience a reproducir el programa en cuestión. Si obtienes un error y el episodio no se reproduce, regresa y asegúrate de que hayas seguido bien cada paso.
Puedes preguntarle a Alexa si tienes nuevos episodios, pedirle que reproduzca el siguiente capítulo de un programa, o incluso usarla para controlar a Kodi, por más ineficiente que sea. Revisa el archivo SampleUtterances.txt para ver todas las cosas que Alexa puede hacer con esta integración. Si alguna vez has querido añadir una nueva frase que corresponda a alguna de estas funciones, solo ingresa de nuevo a tu cuenta de Desarrollador de Amazon y agrégalo a la lista que pegamos en el cuarto paso.
Esta ciertamente no es la forma más rápida o fácil para ajustar todo, pero una vez que logres que funciones, es una de las mejores cosas que podrás lograr con tu Amazon Echo.
Funciona en español?
Hola. Estoy buscando como conectar Alexa a un servidor Nas que tengo.
Creo que lo que has publicado me serviría, pero sólo lo necesito en mi red local.
¿Puedo saltarme lo del AWS y todo lo que tenga que ver con internet.?
Gracias.