Je Chromecast Besturen met Amazon Alexa via Raspberry Pi en Python
Bijgewerkte gids om je Amazon Echo een Google Chromecast te laten besturen via een Raspberry Pi met Python.
Overzicht
De Onmogelijke Mogelijk Maken – Google Chromecast en Amazon Alexa
Heb je je ooit afgevraagd of je Alexa een Chromecast kan besturen? Deze stap-voor-stap tutorial legt uit hoe je dat kunt realiseren met een Raspberry Pi, MySQL, en AWS Lambda.
LET OP: Voor de nieuwste scripts en projectbestanden, bezoek onze GitHub repository.
De aanpak werd belicht in de "AlexaDev Tuesday: Innovatieve Alexa Skills Spotlight" op LoveMyEcho en toont hoe ontwikkelaars complexe integratie-uitdagingen kunnen oplossen.
Waarom een Raspberry Pi?
De Pi's compacte formaat, lage stroomverbruik, en compatibiliteit met Raspbian maken het ideaal voor het hosten van de MySQL-database, Python-script, en netwerkconfiguratie die nodig zijn voor Alexa om de Chromecast te bereiken.
Hoe Het Werkt
- Gebruiker start de skill door te zeggen: "Alexa, launch Chromecast."
- Alexa stuurt het gevraagde commando (standaard een YouTube-zoekopdracht) naar de skill.
- De skill schrijft het commando in een MySQL-tabel op de Pi.
- Een achtergrond Python-proces leest de tabel, vertaalt het verzoek naar een Chromecast-commando, en voert het uit.
- Na uitvoering wordt de database-entry verwijderd.
- Alexa bevestigt voltooiing aan de gebruiker.
Stap 1: Je Raspberry Pi Voorbereiden voor Port Forwarding
Voordat je begint, zorg dat je Pi met het internet verbonden is en noteer het IP-adres.
Om het IP van de Pi te vinden:
- Open een terminal op de Pi of een andere PC.
- Voer
ifconfig(Linux) ofipconfig(Windows) uit om de default gateway te vinden.
Ga naar de admin-pagina van je router via het gateway-adres en configureer port forwarding voor:
- 3306 – MySQL (standaardpoort)
- 80 – phpMyAdmin (optioneel)
- 22 – SSH (optioneel)
Beveiligingslet op: Het blootstellen van deze poorten opent je netwerk voor potentiële risico's. Gebruik sterke wachtwoorden en overweeg toegang te beperken tot vertrouwde IPs.
Stap 2: MySQL Installeren op de Pi
Voer het volgende commando uit op de Pi:
sudo apt-get update && sudo apt-get install mysql-server --fix-missing
Beveilig de installatie met sudo mysql_secure_installation en maak een toegewezen gebruiker voor de skill aan.
Stap 3: phpMyAdmin Installeren (Optioneel)
Volg een tutorial om phpMyAdmin in te stellen voor eenvoudigere databasebeheer.
Voer het meegeleverde build.sql uit om het vereiste schema aan te maken.
Stap 4: De Scripts Configureren
Open index.py en raspberry.py en vervang de placeholders:
- RASP_PI_DNS – MySQL-server hostname of IP
- MYSQL_USER – MySQL-gebruikersnaam
- MYSQL_PASS – MySQL-wachtwoord
- DB_NAME – Databasenaam
- CHROMECAST_NAME – Doel-Chromecast apparatenaam
Stap 5: Deployen naar AWS Lambda
Zip alle bestanden behalve speechAssets en raspberry.py, dan:
- Log in op de AWS Management Console en open Lambda.
- Klik "Create function", sla blueprint over, noem het
alexaChromecast, kies Python 3.9 runtime. - Selecteer "Upload a .zip file" en upload je archief.
- Stel handler in op
index.lambda_handler, rol op "Basic execution", en timeout op 30 s.
Stap 6: De Skill Instellen in de Amazon Developer Console
- Bezoek Amazon Developer Console en open de Alexa Skills Kit.
- Klik "Add a New Skill", noem het "Alexa Chromecast", stel invocation name in op "chromecast".
- Upload
intentSchema.jsonensample-utterances.txtuit despeechAssetsmap. - Plak de Lambda ARN in het "Endpoint" veld. Schakel account linking uit.
Stap 7: Het Raspberry Pi-script Draaien
Kopieer raspberry.py naar de Pi (via USB of WinSCP). Voer het uit met:
python3 raspberry.py
Stap 8: (Optioneel) Auto-start bij Opstart Instellen
Maak een shell-script launcher.sh met:
#!/bin/bash sudo python3 /pad/naar/raspberry.py
Voeg een cron-job toe om launcher.sh bij opstart uit te voeren:
@reboot /pad/naar/launcher.sh
Test de skill in de Alexa Developer Console's "Test" tab. Als alles correct geconfigureerd is, zou je je Chromecast met stemcommando's moeten kunnen besturen.
Video Demo: Bekijk hier.
Productieproces
- Professionele temperatuurbewaking met Raspberry Pi en DS18B20
- Een buitenweerstation bouwen met Raspberry Pi 2 en ADS-WS1
- Accurate temperatuurbewaking in een serverkast met Raspberry Pi
- Geavanceerde Tafeltennisbal Tracking met OpenCV op Raspberry Pi
- Een Professionele Raspberry Pi Universele Afstandsbediening Bouwen met LIRC
- Een LED Besturen met een PIR-bewegingssensor op Raspberry Pi
- RF naar DC Converteren met een Raspberry Pi: Een Envelope Detector Bouwen en Troubleshooten
- Cycle Chaser: Uw Fiets Transformeren in een Nachttijd Lichtshow met Raspberry Pi
- Een Goedkope Raspberry Pi Grondvochtigheidssensor Bouwen voor Slimme Irrigatie
- Een Raspberry Pi-gebaseerde Diefdetector Bouwen – Stapsgewijze Handleiding
- Raspberry Pi Sensoren Meesterworden: Een Praktische Handleiding voor Elektronica en Communicatieprotocollen