Chromecast mit Amazon Alexa per Raspberry Pi und Python steuern
Aktualisierte Anleitung, um Ihren Amazon Echo einen Google Chromecast über einen Raspberry Pi mit Python steuern zu lassen.
Überblick
Alexa und Chromecast verbinden
Haben Sie sich gefragt, ob Alexa einen Chromecast steuern kann? Dieses Schritt-für-Schritt-Tutorial erklärt, wie Sie das mit einem Raspberry Pi, MySQL und AWS Lambda realisieren.
HINWEIS: Für die neuesten Skripte und Projektdateien besuchen Sie unser GitHub-Repository.
Der Ansatz wurde im „AlexaDev Tuesday: Innovative Alexa Skills Spotlight“ auf LoveMyEcho vorgestellt und zeigt, wie Entwickler komplexe Integrationsherausforderungen lösen können.
Warum ein Raspberry Pi?
Dank kompakter Bauweise, geringem Stromverbrauch und Kompatibilität mit Raspbian eignet sich der Pi ideal zum Hosten der MySQL-Datenbank, des Python-Skripts und der Netzwerkkonfiguration, die Alexa benötigt, um den Chromecast zu erreichen.
Funktionsweise
- Nutzer startet den Skill mit „Alexa, starte Chromecast“.
- Alexa sendet den gewünschten Befehl (Standard: YouTube-Suche) an den Skill.
- Der Skill schreibt den Befehl in eine MySQL-Tabelle auf dem Pi.
- Ein Hintergrund-Python-Prozess liest die Tabelle, übersetzt die Anfrage in einen Chromecast-Befehl und führt ihn aus.
- Nach Ausführung wird der Datenbankeintrag gelöscht.
- Alexa bestätigt dem Nutzer die Fertigstellung.
Schritt 1: Raspberry Pi für Port Forwarding vorbereiten
Stellen Sie sicher, dass der Pi mit dem Internet verbunden ist und notieren Sie seine IP-Adresse.
Pi-IP ermitteln:
- Terminal auf dem Pi oder einem anderen PC öffnen.
ifconfig(Linux) oderipconfig(Windows) ausführen, um das Standard-Gateway zu finden.
Router-Admin-Seite über die Gateway-Adresse aufrufen und Port Forwarding für folgende Ports einrichten:
- 3306 – MySQL (Standardport)
- 80 – phpMyAdmin (optional)
- 22 – SSH (optional)
Sicherheitshinweis: Das Öffnen dieser Ports birgt Risiken. Nutzen Sie starke Passwörter und beschränken Sie den Zugriff auf vertrauenswürdige IPs.
Schritt 2: MySQL auf dem Pi installieren
sudo apt-get update && sudo apt-get install mysql-server --fix-missing
Installation absichern mit sudo mysql_secure_installation und einen dedizierten Benutzer für den Skill anlegen.
Schritt 3: phpMyAdmin installieren (optional)
Folgen Sie einem Tutorial für die phpMyAdmin-Einrichtung zur einfacheren Datenbankverwaltung.
Führen Sie das mitgelieferte build.sql aus, um das erforderliche Schema zu erstellen.
Schritt 4: Skripte konfigurieren
Öffnen Sie index.py und raspberry.py und ersetzen Sie die Platzhalter:
- RASP_PI_DNS – MySQL-Server-Hostname oder IP
- MYSQL_USER – MySQL-Benutzername
- MYSQL_PASS – MySQL-Passwort
- DB_NAME – Datenbankname
- CHROMECAST_NAME – Name des Ziel-Chromecast-Geräts
Schritt 5: Skill zu AWS Lambda deployen
Alle Dateien außer speechAssets und raspberry.py zippen, dann:
- In die AWS Management Console einloggen und Lambda öffnen.
- „Create function“, Blueprint überspringen, Name
alexaChromecast, Runtime Python 3.9 wählen. - „Upload a .zip file“ wählen und Archiv hochladen.
- Handler auf
index.lambda_handler, Rolle „Basic execution“, Timeout 30 s setzen.
Schritt 6: Alexa Skill in der Amazon Developer Console erstellen
- Amazon Developer Console besuchen und Alexa Skills Kit öffnen.
- „Add a New Skill“, Name „Alexa Chromecast“, Aufrufname „chromecast“ setzen.
intentSchema.jsonundsample-utterances.txtaus demspeechAssets-Ordner hochladen.- Lambda ARN in das „Endpoint“-Feld einfügen. Account Linking deaktivieren.
Schritt 7: Raspberry Pi Skript ausführen
raspberry.py auf den Pi übertragen (USB oder WinSCP). Ausführen mit:
python3 raspberry.py
Schritt 8: (Optional) Autostart per Cron-Job
Shell-Skript launcher.sh erstellen:
#!/bin/bash
sudo python3 /pfad/zu/raspberry.py
Cron-Job für Boot-Ausführung hinzufügen:
@reboot /pfad/zu/launcher.sh
Skill im Alexa Developer Console „Test“-Tab testen. Bei korrekter Konfiguration sollten Sie Ihren Chromecast per Sprachbefehl steuern können.
Video-Demo: Hier ansehen.
Herstellungsprozess
- Professionelle Temperaturüberwachung mit Raspberry Pi und DS18B20
- Outdoor-Wetterstation mit Raspberry Pi 2 & ADS-WS1 bauen
- Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
- Fortgeschrittenes Tischtennisball-Tracking mit Raspberry Pi und OpenCV
- Professionelle Raspberry Pi Universalfernbedienung mit LIRC bauen
- LED mit PIR-Bewegungsmelder am Raspberry Pi steuern
- RF zu DC mit Raspberry Pi wandeln: Hüllkurvendetektor bauen & troubleshooten
- Cycle Chaser: Fahrrad zur nächtlichen Lichtshow mit Raspberry Pi verwandeln
- Günstiger Raspberry Pi Bodenfeuchtesensor für smarte Bewässerung
- Raspberry Pi Diebstahlmelder bauen – Schritt-für-Schritt-Anleitung