Amazon Alexa Управление Chromecast
[УСТАРЕЛО] Имея Amazon Alexa, через Amazon Echo, управляйте Google Chromecast через Raspberry Pi, на котором запущен скрипт Python.
История
я> Совершая невозможное:Google Chromecast и Amazon Alexa
С момента выпуска Amazon Echo люди просили об одном.
- Это устарело, см. новые инструкции на Github -
Есть ли способ управлять Chromecast с помощью Echo?
спросил пользователя Reddit MichaelFR85
запрос функции:поддержка Chromecast
предложенный пользователем reddit phasefx
Но теперь не ждите!
Chromecast и Alexa теперь работают вместе в кроссплатформенной попытке управления Chromecast с помощью Raspberry Pi и некоторого Python. Об этом говорилось в «AlexaDev Tuesday:Innovative Alexa Skills Spotlight» с http://www.lovemyecho.com и почитается как
[один из] самых инновационных навыков Alexa, созданных разработчиками Alexa. Из того, как эти разработчики решали кодовые и технические задачи, можно многому научиться, чтобы создать что-то необычное.
Используя Raspbian, Python и Chromecast с поддержкой Echo, давайте начнем наше путешествие с присоединения к этой запретной любви.
Почему Raspberry Pi?
Простой ответ - «не только Raspberry Pi». Вы можете запустить этот сценарий на любом совместимом оборудовании, и результаты будут такими же. Однако я выбрал Raspberry Pi из-за его совместимости, размера и портативности.
Как это сделано:
Все это было написано на Python. Тем не менее, я использовал модуль, чтобы помочь мне подключиться к Chromecast, и модуль, чтобы помочь в подключении к базам данных. Я использовал пример «Alexa Color Expert» в качестве основы для навыка, написав с нуля все функции. Остальное с нуля.
Как это работает:
- Пользователь начинает сеанс, спрашивая Алексу:«Запустить / Спросить / Запустить Chromecast».
- Пользователь сообщает команду Alexa (по умолчанию выполняется поиск на YouTube)
- Запрос анализируется, затем отправляется в базу данных MySQL, размещенную на Raspberry Pi.
- Python Script (также размещенный на Rasp. Pi), затем считывает базу данных и запускает соответствующую команду.
- Строка удаляется после завершения команды
- Готово!
Шаг 1. Настройка Raspberry Pi для перенаправления портов
Прежде чем мы начнем:
- Убедитесь, что ваш Raspberry Pi включен и подключен к Интернету.
- Найдите IP-адрес своего Raspberry Pi.
На Raspberry Pi или другом ПК:
- Запустите предпочитаемый терминал (cmd или Терминал)
- Найдите шлюз по умолчанию с помощью ifconfig (Linux) или ipconfig (Windows)
Пример вывода команды ipconfig
Посетите шлюз по умолчанию, чтобы получить доступ к маршрутизатору.
Пример страницы входа в систему маршрутизатора
Для получения дополнительной информации о перенаправлении вашего порта на конкретный маршрутизатор, посмотрите здесь:http://portforward.com/
В этом случае мы будем перенаправлять оба порта 3306 (порт по умолчанию для MySQL), порт 80 (для PHPMyAdmin) и порт 22 (для SSH)
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ:это открывает вашу сеть и Raspberry Pi для доступа других людей и действительно создает риски для вашей информации.
Шаг 2. Настройка mysql
Ресурс:Учебное пособие:установка сервера MySQL или Raspberry Pi
sudo apt-get install mysql-server –fix-missing
Шаг 3. Настройка PhpMyAdmin
Вы можете просмотреть руководство по настройке PHPMyAdmin здесь
Используйте прилагаемый build.sql для создания необходимой базы данных.
ПРИМЕЧАНИЕ. Убедитесь, что ваш пользователь доступен из других мест, вы можете узнать, как это сделать здесь.
Шаг 4. Редактирование файлов
Для начала давайте определим несколько терминов, которые мы будем заменять:
- RASP_PI_DNS - относится к URL-адресу сервера MySQL, который мы будем использовать.
- MYSQL_USER - относится к вашему имени пользователя MySQL.
- MYSQL_PASS - относится к вашему паролю MySQL.
- DB_NAME - относится к имени вашей базы данных MySQL.
- CHROMECAST_NAME - имя вашего Chromecast (или Chromecast, к которому вы хотите подключиться)
Замените все вхождения этих строк в index.py и raspberry.py их соответствующими значениями.
Шаг 5. Загрузка в Lambda
Заархивируйте все файлы и папки КРОМЕ SpeechAssets и raspberry.py, а затем войдите в свою панель управления AWS.
Пример раздела панели инструментов AWS
Щелкните Lambda.
Пример лямбда-раздела
В Lambda щелкните «Создать новую лямбда-функцию».
Нажмите «Пропустить», чтобы выбрать схему.
В качестве имени функции введите «alexaChromecast», для времени выполнения убедитесь, что выбран «Python 2.7».
Для типа ввода кода выберите «Загрузить Zip-файл».
Нажмите кнопку «Загрузить» и загрузите свой Zip-файл.
Пример настройки лямбда-функции
Установите обработчик на index.lambda_handler, вашу роль на базовое выполнение и время ожидания на 30 секунд.
Шаг 6. Настройка навыка в консоли разработчика Amazon
Войдите в консоль разработчика Amazon на сайте developer.amazon.com
Щелкните вкладку «Alexa».
Нажмите «Начать работу» для набора навыков Alexa.
Нажмите кнопку «Добавить новый навык», чтобы добавить новый навык.
Оставьте тип навыка как есть. В качестве имени приложения введите «Alexa Chromecast», а в качестве типа имени вызова «Chromecast»
Нажмите кнопку "Далее" в правом нижнем углу страницы.
Для схемы намерения используйте intentSchema.json, расположенный в папке SpeechAssets репозитория, и вставьте его содержимое. Сделайте то же самое с примерами высказываний, используя sample-utterances.txt.
Нажмите кнопку "Далее".
В поле «Конечная точка» вставьте свой «Lambda ARN». Lambda ARN находится на странице функции в правом верхнем углу.
Выберите «Нет» для связывания учетной записи.
Шаг 7. Настройка raspberry.py
Переместите raspberry.py на свой Raspberry Pi, скопировав файл на флэш-накопитель или скопировав его через WinSCP, доступный здесь.
Запустите raspberry.py
я> Шаг 8:(НЕОБЯЗАТЕЛЬНО) Настройка задания Cron
Создайте файл bash, который будет запускать raspberry.py, и сохраните его как «launcher.sh».
Поместите следующий код в launcher.sh, заменив его местонахождением raspberry.py
sudo python3 /location/to/raspberry.py
Чтобы узнать, как настроить задание cron для запуска launcher.sh при загрузке, следуйте инструкциям, расположенным здесь.
Теперь воспользуйтесь вкладкой «Тест», чтобы опробовать свой новый навык! Если вы все сделали правильно, вы сможете управлять своим Chromecast с помощью Amazon Alexa!
Видео:
Схема интерфейса VUI:
Подробнее:Amazon Alexa, управляющая Chromecast
Производственный процесс
- Мониторинг температуры на Raspberry Pi
- Метеостанция Raspberry Pi 2
- Мониторинг температуры с помощью Raspberry Pi
- Отслеживание Raspberry Pi Ball
- Универсальный пульт дистанционного управления Raspberry Pi
- Датчик движения с использованием Raspberry Pi
- Кусочек Raspberry Pi
- Cycle Chaser
- Датчик влажности почвы Raspberry Pi
- Детектор воров Raspberry Pi