Как управлять своим медиацентром Kodi с помощью Amazon Echo
Пульты дистанционного управления работают с 1950 года. Если у вас есть медиацентр Kodi и Amazon Echo, вы можете воспроизводить все свои любимые фильмы и шоу с помощью удобной голосовой команды ... если вы хотите немного настроить.
По нашему мнению, Amazon Echo - одна из самых крутых частей умного дома. Управлять светом, жалюзи и телевизором с помощью телефона - это круто, но управлять ими своим голосом - это действительно будущее. Я был настроен скептически, но быстро стал впечатлен - и жаждал большего.
Умение включать телевизор - это круто, но я действительно хотел иметь возможность контролировать свой медиацентр. Я хотел сказать «Воспроизвести следующий эпизод« Друзья »», чтобы он обыскал мою библиотеку, увидел то, что я смотрел последним, и начал проигрывать следующий эпизод. И после небольшого поиска я обнаружил, что один предприимчивый программист по имени Джо Ипсон уже сделал это.
Это требует немного настройки, и поначалу выглядит очень пугающе. Вам нужно будет создать веб-сервер, передать некоторый код из GitHub и выполнить небольшую работу из командной строки, но вам не нужно быть программистом, чтобы запустить его. Ipson выполнил почти всю тяжелую работу, и вам просто нужно скопировать его код, отредактировать несколько частей и загрузить его в нужное место. Если вы будете следовать этому руководству к письму, вы должны начать работу в кратчайшие сроки.
ПРИМЕЧАНИЕ. Мы используем Amazon Web Services для этого руководства, поскольку оно является наиболее надежным. Если вы новый пользователь AWS, то, по словам Ипсона, вы сможете бесплатно запускать это умение в течение года, после чего с вас будет взиматься плата менее 20 центов в месяц. Если вы хотите что-то действительно бесплатное, вы можете вместо этого настроить его с помощью Heroku, заменив шаги два, три и четыре этого руководства инструкциями Heroku в документации Ipson. Это, однако, немного менее надежно, и некоторые запросы могут истечь время ожидания, когда вы используете его. Мы рекомендуем AWS, если вы хотите получить наилучшие впечатления - это стоит не более 20 центов в месяц..
Шаг первый: подготовьте свой веб-сервер Kodi
Чтобы это работало, Kodi нужно иметь сервер, доступный из Интернета. К счастью, это встроено в Kodi, хотя вам может потребоваться переадресовать некоторые порты на вашем маршрутизаторе и выполнить некоторые другие задачи, прежде чем он будет работать гладко.
Откройте Kodi в своем медиацентре и перейдите в Система> Сервисы> Веб-сервер. Включите веб-сервер, если он еще не включен, и дайте ему имя пользователя и пароль. Обязательно используйте пароль, который вы не используете для любых других услуг.
Вам также понадобится публичный IP-адрес для вашего дома. Однако, поскольку это может измениться, мы настоятельно рекомендуем подписаться на динамическое доменное имя, используя такой сервис, как Dynu. Следуйте нашему руководству, прежде чем продолжить, если у вас его еще нет.
Наконец, вам нужно настроить переадресацию портов для вашего Kodi box. Это будет отличаться от маршрутизатора к маршрутизатору, но вы можете проверить наше руководство здесь для получения дополнительной информации. Просто перенаправьте любой внешний порт на локальный IP-адрес вашего Kodi box (в моем случае 192.168.1.12) и локальный порт (8080 по умолчанию).
ПРИМЕЧАНИЕ: хотя локальный порт Kodi по умолчанию равен 8080, вы можете изменить его на любой другой или переадресовать его на другой внешний порт, чтобы убедиться, что нет никаких сложностей (поскольку другие приложения могут запрашивать порт 8080). Я использую 8080 в этом уроке, но если вы используете что-то другое, просто замените все экземпляры порта 8080 на внешний порт вы выбираете здесь.
Если все пройдет хорошо, вы сможете получить доступ к веб-интерфейсу Kodi, открыв веб-браузер и введя:
my.dynamic-domain.com:8080
где
my.dynamic-domain.com
URL вашего динамического домена, и 8080
это порт, который вы установили в Kodi. Если это не сработает, убедитесь, что Kodi, ваш динамический домен и переадресация портов настроены правильно.
Шаг второй: настройте учетную запись Amazon Web Services
Затем вам нужно настроить учетную запись в Amazon Web Services (AWS). Перейдите на эту страницу и нажмите «Создать учетную запись AWS». Войдите в систему с вашими учетными данными Amazon, когда будет предложено. Если у вас еще нет учетной записи AWS, вам будет предложено ввести свою контактную информацию для ее создания. Не забудьте проверить «Личный кабинет» в верхней части.
Пройдите остальные шаги мастера. Вам также нужно будет ввести данные своей кредитной карты, но не беспокойтесь, как мы уже говорили, с вас не нужно платить слишком много, если вообще (особенно в течение первых 12 месяцев).
После подтверждения вашей личности по номеру телефона и выбора плана поддержки (мы рекомендуем Basic, который является бесплатным), нажмите кнопку «Завершить регистрацию» в правом углу экрана. Амазон тогда войдет в систему.
Теперь перейдите на страницу «Управление идентификацией и доступом» (при необходимости войдите в систему AWS) и щелкните вкладку «Пользователи» с левой стороны. Нажмите кнопку «Добавить пользователя».
Создайте нового пользователя с любым именем пользователя. Установите флажок «Программный доступ» и нажмите «Далее: Разрешения».
Далее вам будет предложено установить разрешения. Нажмите «Прикрепить существующие политики напрямую», затем выполните поиск «AdministratorAccess». Проверьте опцию AdministratorAccess и нажмите «Далее: Обзор».
Убедитесь, что ваш пользователь выглядит как на картинке ниже, затем нажмите «Создать пользователя».
Не закрывайте следующую страницу! Вам нужно получить идентификатор ключа доступа и секретный ключ доступа (вам нужно нажать «Показать», чтобы показать свой секретный ключ). Скопируйте их в текстовый файл для безопасного хранения, потому что вы не сможете получить секретный ключ снова после того, как покинете эту страницу.
После того, как вы их записали, вы можете безопасно закрыть это окно.
Шаг третий: установите Python 2.7 и настройте свои переменные
Чтобы перенести код Ipson в AWS, вам понадобится Python 2.7, установленный на вашем компьютере. В этом руководстве мы будем использовать Windows, но вы должны быть в состоянии сделать это и в MacOS, и в Linux..
Чтобы установить Python в Windows, перейдите на страницу загрузки Python и загрузите Python 2.7. Запустите установщик, как любую другую программу Windows. Используйте выбор по умолчанию, так как нам понадобятся некоторые инструменты, поставляемые с установщиком Python.
Затем нажмите здесь, чтобы загрузить код Ipson. Распакуйте папку kodi-alexa-master в ZIP-файл на вашем жестком диске..
После установки пора копаться в командной строке. Нажмите Windows + X на клавиатуре и выберите «Командная строка». (Пользователи Mac и Linux захотят открыть свои соответствующие приложения терминала). Оттуда выполните следующие две команды, одну за другой:
C: \ Python27 \ Scripts \ pip.exe установить awscli
C: \ Python27 \ Scripts \ aws configure
Это установит инструменты командной строки AWS и запустит инструмент настройки.
При появлении запроса вставьте свой идентификатор ключа доступа и секретный ключ доступа. Когда вас попросят указать название региона по умолчанию, введите мы-восток-1
(если вы в США) или ес-запад-1
(если ты в Европе). Вы можете оставить свой Формат вывода по умолчанию пустым (просто нажмите Enter).
Далее выполните следующую команду:
C: \ Python27 \ Scripts \ pip.exe установить virtualenv
Это вам понадобится на потом.
Теперь CD в вашу папку kodi-alexa-master с помощью следующей команды:
CD C: \ Users \ Whitson \ Documents \ Code \ Kodi-ALEXA-мастер
Очевидно, замените путь к файлу на то место, куда вы сохранили папку kodi-alexa-master..
Держите окно открытым, мы должны вернуться к нему через минуту.
Во-первых, чтобы код Ipson работал с вашими настройками Kodi и AWS, вам нужно определить несколько переменных в файле конфигурации. Загрузите этот шаблон, переименуйте его в kodi.config
, и сохраните его в своей папке kodi-alexa-master. Откройте его в удобном для кода текстовом редакторе, таком как Notepad ++, и отредактируйте следующие четыре четыре переменных:
адрес = порт = имя пользователя = пароль =
адрес
переменная будет динамическим адресом, который вы установили на первом этапе (например,. my.dynamic-domain.com
), порт
будет портом, который вы использовали на первом этапе (вероятно, 8080, если вы его не изменили), и имя пользователя
а также пароль
будут полномочия с первого шага.
Если у вас есть несколько коробок Kodi в вашем доме, вы также можете использовать этот конфигурационный файл для отдельного управления ими с помощью Alexa. Мы не будем проходить через это в этом руководстве, но вы можете найти инструкции в документации Ipson здесь.
Когда вы закончите, сохраните файл и вернитесь в окно командной строки.
Шаг четвертый: отправьте свой код в AWS
С этими переменными ваш код готов к развертыванию. Вернувшись в командную строку, запустите эти две команды:
C: \ Python27 \ Scripts \ virtualenv venv
venv \ Scripts \ activate.bat
Это создаст новую «виртуальную среду» и активирует ее.
В появившейся подсказке venv выполните следующие команды:
pip install -r needs.txt
упаковка
pip install zappa
Это установит инструмент под названием Zappa, который поможет вам развернуть ваш код.
Далее вам нужно настроить Zappa. Бежать:
Заппа init
Это проведет вас через волшебника. Просто примите значения по умолчанию для всего.
Наконец, запустите:
Заппа развернуть Dev
Это развернет ваш код в Lambda. Это займет несколько минут, так что дайте ему поработать. В конце он даст вам URL-копию этого, так как он понадобится вам на следующем шаге..
Наконец, я также рекомендую выполнить следующую команду, так как вам понадобятся получившиеся файлы на следующем шаге:
python generate_custom_slots.py
Убедитесь, что ваш ящик Kodi включен и работает, когда вы запускаете этот скрипт, так как он будет собирать названия фильмов, шоу и других медиафайлов из вашей библиотеки..
Ты почти там! Теперь нам просто нужно настроить навык Alexa для этого кода.
Шаг пятый: Создайте свой навык Alexa
Чтобы связать код Ipson с нашим Echo, нам нужно создать Alexa Skill, который использует этот код. Это приложение не будет разослано никому, оно просто будет в «режиме тестирования» навсегда, подключено к вашей собственной учетной записи Amazon для использования с вашим Echo.
Для начала создайте бесплатную учетную запись Amazon Developer. Перейдите на эту страницу, войдите в свою учетную запись Amazon и зарегистрируйте учетную запись разработчика. Заполните обязательные поля, согласитесь с условиями и скажите «Нет», когда вас спросят, собираетесь ли вы монетизировать свои приложения.
Зайдя на сайт, перейдите к «Alexa» на верхней панели инструментов. Нажмите кнопку «Начать» в разделе «Alexa Skills Kit».
Далее нажмите кнопку «Добавить новый навык».
Дайте вашему умению имя - я назвал его «Коди» - и дайте ему имя для вызова. Это то, что вы скажете, когда захотите вызвать команду. Например, мое имя вызова также «гостиная», что означает, что мне придется сказать «Попросить гостиную…», чтобы дать команды Alexa для моего медиацентра..
По моему опыту, длинные вызовы работают лучше, чем короткие. Некоторое время я использовал «Kodi» («Попроси Kodi…»), но у Алексы иногда возникали проблемы с поиском фильмов. Я не могу сказать вам почему, но более длинные имена, такие как «гостиная», работают для меня почти безупречно. Так что попробуйте выбрать что-нибудь с несколькими слогами.
Нажмите Next, когда закончите.
Нажмите кнопку «Добавить тип слота» в середине следующего окна..
Создайте новый слот под названием ШОУ
. Вернитесь в свою папку kodi-alexa-master, откройте файл SHOWS с помощью Notepad ++ и скопируйте шоу в поле на странице Amazon. Это поможет Alexa распознать шоу, которые вы продиктовали ему..
Кроме того, вы можете просто перечислить некоторые из ваших телешоу в поле, по одному в строке. Вам не нужно добавлять каждое шоу в вашу библиотеку Kodi, но хорошо иметь приличное количество примеров (я обнаружил, что 20 или 30 довольно хороши).
Нажмите ОК, когда закончите.
Повторите этот процесс со следующими типами слотов: MOVIES, MOVIEGENRES, MUSICARTISTS, MUSICALBUMS, MUSICSONGS, MUSICPLAYLISTS, VIDEOPLAYLISTS и ADDONS (если у вас нет информации для какого-либо из них, создайте тип слота в любом случае, для кода Ipson это требуется и просто напишите слово «Пусто» в поле. Это не вызовет никаких проблем.)
Опять же, вам не нужно каждое отдельное шоу, фильм или исполнителя в этих слотах, поэтому вам не нужно обновлять их каждый раз, когда вы добавляете новый фильм в свою библиотеку. Это просто помогает иметь приличное количество примеров в каждом.
Когда вы создали все девять типов слотов, вернитесь в папку kodi-alexa-master. Откройте папку speech_assets и откройте IntentSchema.json
а также SampleUtterances.txt
файлы с таким приложением, как Блокнот++.
Выделите весь текст в IntentSchema.json
файл и вставьте его в поле «Схема намерений» на веб-сайте Amazon Developer. Повторите этот процесс с SampleUtterances.txt
файл, поместив текст в поле «Примеры высказываний».
Когда вы закончите, нажмите кнопку Далее. Построение модели взаимодействия может занять несколько минут..
На следующей странице выберите «HTTPS» в качестве типа конечной точки и вставьте URL-адрес, полученный в конце четвертого шага. Выберите свой географический регион (Северная Америка или Европа) и выберите «Нет» для привязки аккаунта. Нажмите кнопку "Далее.
На следующей странице выберите «Моя конечная точка разработки - это поддомен домена, который имеет подстановочный сертификат из центра сертификации». Нажмите кнопку "Далее.
Вам не нужно добавлять какую-либо информацию на тестовую страницу, хотя вы можете протестировать определенные аспекты кода, если знаете, что делаете. В противном случае нажмите Далее.
На странице «Публикация информации» заполните необходимые поля, но не беспокойтесь о том, что вы ввели, поскольку вы не будете отправлять это приложение на сертификацию. Вы единственный, кто будет использовать это приложение. (Здесь вы можете использовать значок 108 × 108 и значок 512 × 512.) По завершении нажмите кнопку Далее..
На последней странице выберите «Нет» для обоих вопросов конфиденциальности и установите флажок «Complicance». Нажмите кнопку «Сохранить», когда вы закончите. НЕ нажимайте кнопку «Отправить на сертификацию».
Шаг шестой: протестируйте новые команды
Если все прошло хорошо, вы сможете проверить свои новые команды сейчас. Убедитесь, что ваш ящик Kodi включен, и попробуйте сказать что-то вроде:
«Алекса, попроси гостиную сыграть первый сезон, первый эпизод« Друзей »»
(… Очевидно, заменив это эпизодом и показав, что у вас есть на вашей машине.) Алексе может понадобиться мгновение, но, надеюсь, она должна ответить и начать показывать это шоу. Если вы получили ошибку и эпизод не воспроизводится, вернитесь и убедитесь, что вы все сделали правильно.
Вы можете спросить Алексу, есть ли у вас какие-либо новые эпизоды, попросить ее сыграть в следующем эпизоде шоу или даже использовать ее, чтобы контролировать Коди, какой бы неэффективной она ни была («Алекса, попросите гостиную сделать паузу», «Алекса» попросите гостиную пройти вниз »и т. д.). Проверьте SampleUtterances.txt
файл, чтобы увидеть все, что Alexa может сделать с этой интеграцией. Если вы хотите добавить новую фразу, соответствующую одной из этих функций, просто войдите в свою учетную запись Amazon Developer и добавьте ее в список, который мы вставили на четвертом шаге..
Это не самая быстрая и не простая в настройке вещь, но как только она заработает, она, по моему мнению, станет одной из самых крутых вещей, которые вы можете сделать с помощью Amazon Echo. Теперь я могу начать смотреть телевизор во время приготовления пищи на кухне или когда батарейки в моем пульте разряжены. Это та мощь, которой обладает Amazon Echo, и хотя она требует небольшой работы, она того стоит.
Попасть в неприятности? Посмотрите эту ветку на форумах Kodi, а также на оригинальной странице GitHub или оставьте строку в наших комментариях ниже..
Название изображения от Doomu / Bigstock и Amazon.