Controle seu Chromecast com Amazon Alexa usando Raspberry Pi e Python
Guia atualizado para permitir que seu Amazon Echo comande Google Chromecast via Raspberry Pi rodando Python.
Visão Geral
Conectando Alexa e Chromecast
Já se perguntou se sua Alexa pode controlar Chromecast? Este tutorial passo a passo explica como fazer acontecer com Raspberry Pi, MySQL e AWS Lambda.
NOTA: Para scripts mais recentes e arquivos do projeto, visite nosso repositório GitHub.
A abordagem foi destaque no "AlexaDev Tuesday: Innovative Alexa Skills Spotlight" em LoveMyEcho e mostra como desenvolvedores podem resolver desafios complexos de integração.
Por que Raspberry Pi?
Tamanho compacto do Pi, baixo consumo e compatibilidade com Raspbian o tornam ideal para hospedar banco MySQL, script Python e configuração de rede necessária para Alexa alcançar Chromecast.
Como Funciona
- Usuário inicia skill dizendo "Alexa, launch Chromecast".
- Alexa envia comando solicitado (default para busca YouTube) para a skill.
- Skill escreve comando em tabela MySQL no Pi.
- Processo Python em background lê tabela, traduz requisição em comando Chromecast e executa.
- Após execução, entrada no banco é removida.
- Alexa confirma conclusão ao usuário.
Passo 1: Prepare seu Raspberry Pi para Port Forwarding
Antes de começar, certifique-se que seu Pi está conectado à internet e anote seu endereço IP.
Para encontrar IP do Pi:
- Abra terminal no Pi ou outro PC.
- Execute
ifconfig(Linux) ouipconfig(Windows) para localizar gateway padrão.
Acesse página admin do roteador via endereço gateway e configure port forwarding para:
- 3306 – MySQL (porta padrão)
- 80 – phpMyAdmin (opcional)
- 22 – SSH (opcional)
Nota de segurança: Expor estas portas abre sua rede a riscos potenciais. Use senhas fortes e considere restringir acesso a IPs confiáveis.
Passo 2: Instale MySQL no Pi
Execute comando a seguir no Pi:
sudo apt-get update && sudo apt-get install mysql-server --fix-missing
Proteja instalação com sudo mysql_secure_installation e crie usuário dedicado para a skill.
Passo 3: Instale phpMyAdmin (Opcional)
Siga tutorial para configurar phpMyAdmin para gerenciamento de banco mais fácil.
Execute build.sql fornecido para criar schema necessário.
Passo 4: Configure os Scripts
Abra index.py e raspberry.py e substitua placeholders:
- RASP_PI_DNS – Hostname ou IP do servidor MySQL
- MYSQL_USER – Usuário MySQL
- MYSQL_PASS – Senha MySQL
- DB_NAME – Nome do banco de dados
- CHROMECAST_NAME – Nome do dispositivo Chromecast alvo
Passo 5: Deploy Skill no AWS Lambda
Compacte todos arquivos exceto speechAssets e raspberry.py, então:
- Entre no AWS Management Console e abra Lambda.
- Clique "Create function", pule blueprint, nomeie
alexaChromecast, escolha runtime Python 3.9. - Selecione "Upload a .zip file" e faça upload do seu arquivo.
- Defina handler como
index.lambda_handler, role "Basic execution", timeout 30 s.
Passo 6: Crie Skill no Amazon Developer Console
- Visite Amazon Developer Console e abra Alexa Skills Kit.
- Clique "Add a New Skill", nomeie "Alexa Chromecast", defina invocation name "chromecast".
- Faça upload
intentSchema.jsonesample-utterances.txtda pastaspeechAssets. - Cole Lambda ARN no campo "Endpoint". Desabilite account linking.
Passo 7: Execute Script Raspberry Pi
Transfira raspberry.py para o Pi (via USB ou WinSCP). Execute com:
python3 raspberry.py
Passo 8: (Opcional) Auto-Start no Boot
Crie script shell launcher.sh contendo:
#!/bin/bash sudo python3 /path/to/raspberry.py
Adicione cron job para rodar launcher.sh no boot:
@reboot /path/to/launcher.sh
Teste skill na aba "Test" do Alexa Developer Console. Se tudo configurado corretamente, você deve conseguir controlar seu Chromecast com comandos de voz.
Demo em Vídeo: Assista aqui.
Processo de manufatura
- Monitoramento Profissional de Temperatura com Raspberry Pi e DS18B20
- Construindo Estação Meteorológica Externa com Raspberry Pi 2 e ADS‑WS1
- Monitoramento Preciso de Temperatura em Closet de Servidores com Raspberry Pi
- Rastreamento Avançado de Bolas de Tênis de Mesa com OpenCV no Raspberry Pi
- Construa um Controle Remoto Universal Profissional para Raspberry Pi com LIRC
- Controle um LED com Sensor de Movimento PIR no Raspberry Pi
- Convertendo RF em DC com Raspberry Pi: Construindo e Solucionando Problemas de um Detector de Envelope
- Cycle Chaser: Transforme Sua Bicicleta em um Show de Luzes Noturno com Raspberry Pi
- Construa um Sensor de Umidade do Solo de Baixo Custo para Irrigação Inteligente com Raspberry Pi
- Construa um Detetor de Ladrão Baseado em Raspberry Pi – Guia Passo a Passo