Amazon Echo, по нашему мнению, является одной из самых крутых частей умного дома. Контролировать свои огни, жалюзи и телевизор с помощью телефона - это здорово, но контролировать их своим голосом - это действительно будущее. Я был настроен скептически, но быстро произвел впечатление и жаждал большего.
Возможность включить мой телевизор - это круто, но я действительно хотел, чтобы я мог контролировать свой медиацентр. Я хотел сказать «Проиграть следующий эпизод друзей» и найти его в моей библиотеке, посмотреть, что я наблюдал последним, и начать играть в следующем эпизоде. И после небольшого поиска я обнаружил, что один предприимчивый программист по имени Джо Ипсон уже сделал это.
Это требует немного настройки, и сначала это выглядит очень запугивающим. Вам нужно будет создать веб-сервер, нажать какой-то код из GitHub и выполнить небольшую работу из командной строки, но вам не нужно быть программистом, чтобы его запустить и запустить. Ipson проделал почти весь тяжелый подъем, и вам просто нужно скопировать его код, отредактировать несколько частей и загрузить его в нужное место. Если вы следуете этому руководству по письму, вы должны быть в рабочем состоянии в кратчайшие сроки.
ПРИМЕЧАНИЕ. Мы используем Amazon Web Services для этого учебника, поскольку он является самым надежным. Если вы новый пользователь AWS, Ipson заявляет, что вы можете бесплатно использовать этот навык около года, после чего вы будете платить менее 20 ¢ в месяц. Если вы хотите что-то действительно бесплатное, вы можете настроить его с помощью Heroku вместо этого, заменив шаги два, три и четыре этого руководства инструкциями Heroku в документации Ipson. Он, однако, немного менее надежный, и некоторые запросы могут быть тайм-аут, когда вы его используете. Мы рекомендуем AWS, если вам нужен лучший опыт - это стоит 20% в месяц.
Шаг первый: подготовьте свой веб-сервер Kodi
Чтобы это сработало, Kodi должен будет иметь доступ к серверу из Интернета. К счастью, это встроено в Kodi, хотя вам может понадобиться перенаправить некоторые порты на ваш маршрутизатор и выполнить некоторые другие задачи, прежде чем он будет работать плавно.
Откройте Kodi в медиацентре и откройте «Система»> «Службы»> «Веб-сервер». Включите веб-сервер, если он еще не включен, и укажите ему имя пользователя и пароль. Обязательно используйте пароль, который вы не используете для какой-либо другой службы.
ПРИМЕЧАНИЕ. В то время как локальный порт Kodi по умолчанию 8080, вы можете изменить его на все, что хотите, или переправить его на другой внешний порт, чтобы убедиться, что нет никаких осложнений (поскольку другие приложения могут запрашивать порт 8080). Я использую 8080 в этом уроке, но если вы используете что-то другое, просто замените все экземпляры порта 8080 на внешний порт, который вы выбираете здесь.
my.dynamic-domain.com:8080
where
my.dynamic-domain.com
URL вашего динамического домена и
8080
это порт, который вы установили в Kodi. Если это не сработает, убедитесь, что Kodi, ваш динамический домен и переадресация портов были настроены правильно.
Шаг второй: настройте свою учетную запись веб-служб Amazon
Затем вам нужно настроить учетную запись в Amazon Web Services (AWS). Перейдите на эту страницу и нажмите «Создать учетную запись AWS». При появлении запроса войдите в систему со своими учетными данными Amazon. Если у вас еще нет учетной записи AWS, вам будет предложено ввести вашу контактную информацию для ее создания. Обязательно проверьте «Личный кабинет» вверху.
После проверки вашей личности с вашим номером телефона и выбора вашего плана поддержки (мы рекомендуем Basic, который является бесплатным), нажмите кнопку «Завершить регистрацию» в правом углу экрана. Затем Amazon запустит вас.
Шаг третий: установите Python 2.7 и настройте переменные
Чтобы подтолкнуть код Ipson к AWS, вам понадобится Python 2.7, установленный на вашем компьютере. Мы будем использовать Windows в этом учебнике, но вы также сможете это сделать на MacOS и Linux.
Чтобы установить Python в Windows, перейдите на страницу загрузки Python и загрузите Python 2.7. Запустите установщик, как и любую другую программу Windows. Используйте выбор по умолчанию, так как нам понадобятся некоторые инструменты, которые поставляются с установщиком Python.
После установки настало время выкопать в командной строке. Нажмите Windows + X на клавиатуре и выберите «Командная строка». (Пользователи Mac и Linux захотят открыть свои приложения для терминалов). Оттуда, выполните следующие две команды, один за другим:
C:Python27Scriptspip.exe install awscli
C:Python27Scriptsaws configure
Это установит инструменты командной строки AWS и запустит инструмент настройки.
us-east-1
(если вы находитесь в США) или
eu-west-1
(если вы в Европе). Вы можете оставить свой выходной формат по умолчанию пустым (просто нажмите Enter).
C:Python27Scriptspip.exe install virtualenv
Это понадобится вам позже.
CD C:UsersWhitsonDocumentsCodekodi-alexa-master
Очевидно, замените путь файла на путь, в котором вы сохранили папку kodi-alexa-master.
Во-первых, чтобы код Ipson работал с настройками Kodi и AWS, вам нужно определить несколько переменных в файле конфигурации. Загрузите этот шаблон, переименуйте его в
kodi.config
и сохраните его в папке kodi-alexa-master. Откройте его в удобном для текста текстовом редакторе, таком как Notepad ++, и отредактируйте следующие четыре четыре переменные:
address = port = username = password =
address
переменной будет динамический адрес, который вы настроили на первом этапе (например,
my.dynamic-domain.com
),
port
будет порт, который вы использовали на первом шаге (вероятно, 8080, если вы не изменили его), и
username
а также
password
будут полномочия с первого шага.
Если у вас есть несколько коробок Kodi в вашем доме, вы также можете использовать этот файл конфигурации для управления ими отдельно с Alexa. Мы не рассмотрим это в этом руководстве, но вы можете найти инструкции в документации Ipson здесь.
Когда все будет готово, сохраните файл и вернитесь в окно командной строки.
Шаг четвертый: нажмите свой код на AWS
С этими переменными ваш код готов к развертыванию. В командной строке запустите следующие две команды:
C:Python27Scriptsvirtualenv venv
venvScriptsactivate.bat
Это создаст новую «виртуальную среду» и активирует ее.
В появившемся приглашении venv запустите следующие команды:
pip install -r requirements.txt
pip install packaging
pip install zappa
Это установит инструмент под названием Zappa, который поможет вам развернуть ваш код.
zappa init
Он проведет вас через волшебника. Просто примите значения по умолчанию для всего.
zappa deploy dev
Это разворачивает ваш код в Lambda. Это займет несколько минут, поэтому пусть это сработает. В конце он даст вам URL-копию, так как это вам понадобится на следующем шаге.
python generate_custom_slots.py
Убедитесь, что ваш Kodi box включен и запущен при запуске этого скрипта, поскольку он будет захватывать имена фильмов, шоу и других материалов из вашей библиотеки.
Ты почти там! Теперь нам просто нужно настроить умение Alexa для этого кода.
Шаг пятый: создайте свой навык Alexa
Чтобы соединить код Ipson с нашим Echo, нам нужно создать «Skill» Alexa, который использует этот код. Это приложение не будет распространено никому, оно просто будет в режиме тестирования навсегда, подключено к вашей собственной учетной записи Amazon для использования с вашим Echo.
Для начала настройте бесплатную учетную запись Amazon Developer. На этой странице войдите в свою учетную запись Amazon и зарегистрируйтесь для учетной записи разработчика. Заполните необходимые поля, согласитесь с условиями и скажите «Нет», когда вас спросят, собираетесь ли вы монетизировать свои приложения.
По моему опыту, длинные имена вызовов работают лучше, чем более короткие. Некоторое время я использовал «Коди» («Спроси Коди …»), но у Алекси иногда возникали проблемы с поиском фильмов. Я не мог сказать вам, почему, но более длинные имена вызовов, такие как «гостиная», работают почти безупречно для меня. Поэтому попробуйте выбрать что-то с несколькими слогами.
После завершения нажмите «Далее».
SHOWS
Вернитесь в свою папку kodi-alexa-master, откройте файл SHOWS с помощью Notepad ++ и скопируйте шоу в окно на странице Amazon. Это поможет Алеске признать те показа, которые вы ей диктуете.
Кроме того, вы можете просто перечислить некоторые из ваших телешоу в поле, по одному в каждой строке. Вам не нужно добавлять каждое шоу в свою библиотеку Kodi, но хорошо иметь достойное количество примеров (я нашел 20 или 30 довольно хорошо).
После завершения нажмите «ОК».
Опять же, вам не нужно каждое шоу, кино или исполнитель в этих слотах, поэтому вам не нужно обновлять их каждый раз, когда вы добавляете новый фильм в свою библиотеку. Это просто помогает иметь достойное количество примеров в каждом.
IntentSchema.json
а также
SampleUtterances.txt
файлы с приложением вроде Notepad ++.
Выберите весь текст в
IntentSchema.json
и вставьте его в поле «Схема намерения» на веб-сайте разработчика Amazon. Повторите этот процесс с помощью
SampleUtterances.txt
файл, поместив текст в поле «Sample Utterances».
Когда все будет готово, нажмите «Далее». Для создания модели взаимодействия может потребоваться несколько минут.
На странице «Информация о публикации» заполните необходимые поля, но не беспокойтесь о том, что вы вложили, поскольку вы не будете отправлять это приложение для сертификации. Вы единственный, кто будет использовать это приложение. (Вот значок 108 × 108 и значок 512 × 512 для использования.) Нажмите «Далее», когда закончите.
Шаг шестой: проверьте свои новые команды
Если все пойдет хорошо, вы сможете проверить свои новые команды сейчас. Убедитесь, что ваш блок Kodi включен, и попробуйте сказать что-то вроде:
“Alexa, ask the living room to play season one, episode one of Friends”
(… очевидно, заменяя это эпизодом и показывая, что у вас есть на вашей машине.) Это может занять Алекса, но, надеюсь, она должна ответить и начать играть на этом шоу. Если вы получите сообщение об ошибке, и эпизод не воспроизводится, вернитесь назад и убедитесь, что вы все сделали правильно.
Вы можете спросить Алекса, есть ли у вас какие-нибудь новые эпизоды, попросить ее сыграть в следующем эпизоде шоу или даже использовать ее для управления Коди, как неэффективной, как это может быть («Алекса, попросите гостиную остановиться», «Alexa, попросите гостиную перейти вниз и т. д.). Проверьте
SampleUtterances.txt
файл, чтобы увидеть все, что Алекс может сделать с этой интеграцией. Если вы хотите добавить новую фразу, которая соответствует одной из этих функций, просто войдите в свою учетную запись Amazon Developer и добавьте ее в список, который мы вставили на шаге 4.
Это не самая быстрая или простая вещь, но, как только вы ее заработаете, это, по моему мнению, одно из самых крутых вещей, которые вы можете сделать с вашим Amazon Echo. Теперь я могу начать смотреть телевизор во время приготовления пищи на кухне, или когда батареи моего пульта уже мертвы. Это та сила, с которой Amazon Echo был разработан, и хотя это требует немного работы, это того стоит.
Попасть в неприятности? Просмотрите эту тему на форумах Kodi, а также на исходной странице GitHub или оставьте текст в наших комментариях ниже.
Название изображения из doomu / Bigstock и Amazon.