Controla tu Chromecast con Amazon Alexa usando Raspberry Pi y Python
Guía actualizada para permitir que tu Amazon Echo controle un Google Chromecast mediante una Raspberry Pi ejecutando Python.
Resumen
Uniendo Alexa y Chromecast
¿Te has preguntado si tu Alexa puede controlar un Chromecast? Este tutorial paso a paso explica cómo lograrlo con una Raspberry Pi, MySQL y AWS Lambda.
NOTA: Para los últimos scripts y archivos del proyecto, visita nuestro repositorio de GitHub.
El enfoque fue destacado en "AlexaDev Tuesday: Innovative Alexa Skills Spotlight" en LoveMyEcho y muestra cómo los desarrolladores pueden resolver retos complejos de integración.
¿Por qué Raspberry Pi?
El tamaño compacto, bajo consumo y compatibilidad con Raspbian hacen de la Pi el host ideal para la base de datos MySQL, script Python y configuración de red necesarios para que Alexa alcance el Chromecast.
Cómo Funciona
- El usuario inicia la skill diciendo: "Alexa, lanza Chromecast".
- Alexa envía el comando solicitado (por defecto búsqueda en YouTube) a la skill.
- La skill escribe el comando en una tabla MySQL en la Pi.
- Un proceso Python en segundo plano lee la tabla, traduce la petición a un comando Chromecast y lo ejecuta.
- Tras la ejecución, la entrada en la base de datos se elimina.
- Alexa confirma la finalización al usuario.
Paso 1: Preparar tu Raspberry Pi para Port Forwarding
Antes de empezar, asegúrate de que tu Pi está conectada a internet y anota su dirección IP.
Para encontrar la IP de la Pi:
- Abre una terminal en la Pi u otro PC.
- Ejecuta
ifconfig(Linux) oipconfig(Windows) para localizar la puerta de enlace por defecto.
Accede a la página de administración de tu router vía la dirección de la puerta de enlace y configura port forwarding para:
- 3306 – MySQL (puerto por defecto)
- 80 – phpMyAdmin (opcional)
- 22 – SSH (opcional)
Nota de seguridad: Exponer estos puertos abre tu red a riesgos potenciales. Usa contraseñas fuertes y considera restringir acceso a IPs de confianza.
Paso 2: Instalar MySQL en la Pi
Ejecuta el siguiente comando en la Pi:
sudo apt-get update && sudo apt-get install mysql-server --fix-missing
Asegura la instalación con sudo mysql_secure_installation y crea un usuario dedicado para la skill.
Paso 3: Instalar phpMyAdmin (Opcional)
Sigue un tutorial para configurar phpMyAdmin para gestión más fácil de la base de datos.
Ejecuta el build.sql suministrado para crear el esquema requerido.
Paso 4: Configurar los Scripts
Abre index.py y raspberry.py y reemplaza los placeholders:
- RASP_PI_DNS – Hostname o IP del servidor MySQL
- MYSQL_USER – Usuario MySQL
- MYSQL_PASS – Contraseña MySQL
- DB_NAME – Nombre de la base de datos
- CHROMECAST_NAME – Nombre del dispositivo Chromecast objetivo
Paso 5: Desplegar la Skill en AWS Lambda
Comprime todos los archivos excepto speechAssets y raspberry.py, luego:
- Entra en la Consola de Gestión AWS y abre Lambda.
- Haz clic en "Crear función", omite blueprint, nómbrala
alexaChromecast, elige runtime Python 3.9. - Selecciona "Subir un archivo .zip" y sube tu archivo.
- Establece el handler a
index.lambda_handler, rol a "Basic execution", y timeout a 30 s.
Paso 6: Crear la Skill en la Consola de Desarrollador de Amazon
- Visita Amazon Developer Console y abre Alexa Skills Kit.
- Haz clic en "Añadir Nueva Skill", nómbrala "Alexa Chromecast", pon nombre de invocación "chromecast".
- Sube
intentSchema.jsonysample-utterances.txtde la carpetaspeechAssets. - Pega el ARN de Lambda en el campo "Endpoint". Desactiva account linking.
Paso 7: Ejecutar el Script de Raspberry Pi
Transfiere raspberry.py a la Pi (vía USB o WinSCP). Ejecútalo con:
python3 raspberry.py
Paso 8: (Opcional) Auto-inicio al Arranque
Crea un script shell launcher.sh con:
#!/bin/bash sudo python3 /path/to/raspberry.py
Añade un job cron para ejecutar launcher.sh al arranque:
@reboot /path/to/launcher.sh
Prueba la skill en la pestaña "Test" de la Consola de Desarrollador Alexa. Si todo está configurado correctamente, deberías poder controlar tu Chromecast con comandos de voz.
Demo en Vídeo: Ver aquí.
Proceso de manufactura
- Monitorización profesional de temperatura con Raspberry Pi y DS18B20
- Construcción de una estación meteorológica exterior con Raspberry Pi 2 y ADS‑WS1
- Monitorización precisa de temperatura en armario de servidores con Raspberry Pi
- Seguimiento Avanzado de Pelotas de Ping‑Pong con Raspberry Pi y OpenCV
- Construya un Mando Universal Profesional para Raspberry Pi con LIRC
- Controle un LED con Sensor PIR de Movimiento en Raspberry Pi
- Conversión de RF a CC con Raspberry Pi: Construcción y Solución de Problemas de un Detector de Envolvente
- Cycle Chaser: Transforme su Bici en un Espectáculo de Luces Nocturno con Raspberry Pi
- Construya un Sensor de Humedad de Suelo de Bajo Coste para Riego Inteligente con Raspberry Pi
- Construya un Detector de Ladrones Basado en Raspberry Pi – Guía Paso a Paso
- Dominando Sensores en Raspberry Pi: Guía Práctica de Electrónica y Protocolos de Comunicación