树莓派 + Python 让 Amazon Alexa 控制 Google Chromecast
项目概述
更新版指南:利用树莓派运行 Python、MySQL 与 AWS Lambda,让 Amazon Echo 通过语音控制 Google Chromecast,打破生态壁垒。
核心思路:打通 Alexa 与 Chromecast
通过树莓派作为中间桥梁,实现“Alexa 语音指令 → MySQL 指令队列 → Python 后台轮询 → Chromecast 执行”的完整链路。项目曾入选 “AlexaDev Tuesday: Innovative Alexa Skills Spotlight” (LoveMyEcho)。
为什么选树莓派?
体积小、功耗低、原生支持 Raspbian,适合托管 MySQL 数据库、Python 脚本与网络配置,充当 Alexa 与 Chromecast 之间的本地网关。
工作流程
- 用户说 “Alexa, launch Chromecast” 启动技能
- Alexa 将指令(默认 YouTube 搜索)发送至技能后端
- 技能将指令写入树莓派 MySQL 表
- 树莓派后台 Python 进程轮询读取,转译为 Chromecast 指令并执行
- 执行完毕删除数据库条目
- Alexa 向用户确认完成
步骤 1:树莓派端口映射准备
确保树莓派联网并记录 IP。终端运行 ifconfig (Linux) 或 ipconfig (Windows) 查看默认网关。登录路由器管理页,配置端口转发:
- 3306 – MySQL 默认端口
- 80 – phpMyAdmin (可选)
- 22 – SSH (可选)
安全提示:暴露端口存在风险,请使用强密码并考虑限制可信 IP 访问。
步骤 2:安装 MySQL
sudo apt-get update && sudo apt-get install mysql-server --fix-missing
运行 sudo mysql_secure_installation 加固,创建技能专用数据库用户。
步骤 3:安装 phpMyAdmin (可选)
参考 教程 部署 phpMyAdmin 便于管理。执行提供的 build.sql 创建表结构。
步骤 4:配置脚本参数
编辑 index.py 与 raspberry.py,替换占位符:
- RASP_PI_DNS – MySQL 主机名或 IP
- MYSQL_USER – 数据库用户名
- MYSQL_PASS – 数据库密码
- DB_NAME – 数据库名
- CHROMECAST_NAME – 目标 Chromecast 设备名
步骤 5:部署至 AWS Lambda
打包除 speechAssets 与 raspberry.py 外的所有文件为 zip,上传至 Lambda:
- 登录 AWS 控制台 打开 Lambda
- 创建函数,名称
alexaChromecast,运行时 Python 3.9 - 上传 zip,处理器设为
index.lambda_handler,角色选“Basic execution”,超时 30s
步骤 6:创建 Alexa Skill
- 访问 Amazon Developer Console → Alexa Skills Kit
- 新建技能 “Alexa Chromecast”,调用名 “chromecast”
- 上传
speechAssets下的intentSchema.json与sample-utterances.txt - Endpoint 填入 Lambda ARN,关闭账号关联
步骤 7:运行树莓派端脚本
通过 USB 或 WinSCP 传输 raspberry.py 至树莓派,执行:
python3 raspberry.py
步骤 8:开机自启 (可选)
创建 launcher.sh:
#!/bin/bash
sudo python3 /path/to/raspberry.py
添加 cron 任务:
@reboot /path/to/launcher.sh
测试验证
在 Alexa Developer Console “Test” 标签页测试。配置正确后即可语音控制 Chromecast。
制造工艺
- 树莓派专业温度监测:基于 DS18B20 传感器的完整指南
- 树莓派 2 搭建户外气象站:接入 ADS‑WS1 串口气象站
- 树莓派精准监测机柜温度:DS18B20 多点部署实战
- 树莓派 OpenCV 乒乓球追踪进阶教程
- 树莓派 LIRC 通用红外遥控器专业构建指南
- 树莓派 PIR 运动传感器控制 LED 实战指南
- 树莓派射频转直流:包络检波器构建与故障排查
- Cycle Chaser:树莓派让自行车变身夜间光影秀
- 树莓派低成本土壤湿度传感器:智能灌溉 DIY 指南
- 树莓派防窃报警器 DIY:压力触发播放警报声
- 精通树莓派传感器:电子与通信协议实战指南
- 树莓派 + MCP9808 + InfluxDB + Grafana:家庭温度监测系统