Управление Chromecast через Amazon Alexa с помощью Raspberry Pi и Python
Обновлённое руководство по тому, как заставить Amazon Echo управлять Google Chromecast через Raspberry Pi на Python.
Обзор
Связка Alexa и Chromecast
Хотели ли вы, чтобы Alexa управляла Chromecast? Это пошаговое руководство объясняет, как сделать это с Raspberry Pi, MySQL и AWS Lambda.
ПРИМЕЧАНИЕ: Для последних скриптов и файлов проекта посетите наш GitHub-репозиторий.
Подход был отмечен в «AlexaDev Tuesday: Innovative Alexa Skills Spotlight» на LoveMyEcho и демонстрирует, как разработчики могут решать сложные интеграционные задачи.
Почему Raspberry Pi?
Компактный размер, низкое потребление и совместимость с Raspbian делают Pi идеальным для хостинга MySQL-базы, Python-скрипта и сетевой конфигурации, необходимых для доступа Alexa к Chromecast.
Как это работает
- Пользователь запускает навык фразой «Alexa, launch Chromecast».
- Alexa отправляет запрошенную команду (по умолчанию — поиск на YouTube) в навык.
- Навык записывает команду в таблицу MySQL на Pi.
- Фоновый Python-процесс читает таблицу, переводит запрос в команду Chromecast и выполняет её.
- После выполнения запись в БД удаляется.
- Alexa подтверждает завершение пользователю.
Шаг 1: Подготовка Raspberry Pi для проброса портов
Перед стартом убедитесь, что Pi подключен к интернету и запишите его IP-адрес.
Чтобы узнать IP Pi:
- Откройте терминал на Pi или другом ПК.
- Выполните
ifconfig(Linux) илиipconfig(Windows), чтобы найти шлюз по умолчанию.
Зайдите в админку роутера через адрес шлюза и настройте проброс портов для:
- 3306 — MySQL (порт по умолчанию)
- 80 — phpMyAdmin (опционально)
- 22 — SSH (опционально)
Примечание по безопасности: Открытие этих портов создаёт риски. Используйте сложные пароли и рассмотрите ограничение доступа доверенными IP.
Шаг 2: Установка MySQL на Pi
Выполните на Pi:
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 — хост или IP MySQL-сервера
- MYSQL_USER — пользователь MySQL
- MYSQL_PASS — пароль MySQL
- DB_NAME — имя базы данных
- CHROMECAST_NAME — имя целевого Chromecast
Шаг 5: Развёртывание навыка в AWS Lambda
Заархивируйте все файлы, кроме speechAssets и raspberry.py, затем:
- Войдите в AWS Management Console и откройте Lambda.
- Нажмите «Create function», пропустите blueprint, назовите
alexaChromecast, выберите Python 3.9 runtime. - Выберите «Upload a .zip file» и загрузите архив.
- Установите handler
index.lambda_handler, роль «Basic execution», таймаут 30 с.
Шаг 6: Создание навыка в Amazon Developer Console
- Перейдите на Amazon Developer Console и откройте Alexa Skills Kit.
- Нажмите «Add a New Skill», назовите «Alexa Chromecast», invocation name — «chromecast».
- Загрузите
intentSchema.jsonиsample-utterances.txtиз папкиspeechAssets. - Вставьте Lambda ARN в поле «Endpoint». Отключите account linking.
Шаг 7: Запуск скрипта на Raspberry Pi
Перенесите raspberry.py на Pi (через USB или WinSCP). Выполните:
python3 raspberry.py
Шаг 8: (Опционально) Автозапуск через cron
Создайте shell-скрипт launcher.sh со содержимым:
#!/bin/bash
sudo python3 /path/to/raspberry.py
Добавьте cron-задачу на запуск launcher.sh при загрузке:
@reboot /path/to/launcher.sh
Протестируйте навык во вкладке «Test» Alexa Developer Console. Если всё настроено верно, вы сможете управлять Chromecast голосовыми командами.
Видео-демо: Смотреть здесь.
Производственный процесс
- Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
- Сборка уличной метеостанции на Raspberry Pi 2 и ADS‑WS1
- Точный мониторинг температуры в серверной на Raspberry Pi
- Продвинутое отслеживание теннисного мяча на Raspberry Pi с OpenCV
- Создание профессионального универсального пульта на Raspberry Pi с LIRC
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Преобразование RF в DC с Raspberry Pi: сборка и отладка детектора огибающей
- Cycle Chaser: превратите свой велосипед в ночной световый шоу с Raspberry Pi
- Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
- Создание детектора вора на базе Raspberry Pi — пошаговое руководство