Amazon Echo е, според нас, една от най-яките части на интелигентен дом. Контролирането на осветлението, щорите и телевизора с телефона ви е готино, но контролирането им с гласа ви е наистина бъдещето. Бях скептичен, но бързо стана впечатлен - и гладен за още.
Да мога да включа телевизора ми е страхотно, но това, което наистина исках, беше да мога да контролирам медийния си център. Исках да мога да кажа "Възпроизвеждане на следващия епизод от приятели" и да го потърся в библиотеката си, да видя какво съм гледал последно и да започна следващия епизод. И след малко търсене, открих, че един предприемчив програмист на име Джо Ипсън вече е направил точно това.
Това отнема малко настроение и в началото изглежда доста смущаващо. Ще трябва да създадете уеб сървър, да натискате някой код от GitHub и да вършите малко работа от командния ред, но не е нужно да сте програмист, за да го направите. Иpson е направил почти всички тежки повдигания и просто трябва да копирате неговия код, да редактирате няколко части и да го качите на правилното място. Ако следвате това ръководство към писмото, трябва да сте готови за нула време.
ЗАБЕЛЕЖКА: Използваме Amazon Web Services за този урок, тъй като това е най-надеждната. Ако сте нов потребител на AWS, Ipson казва, че трябва да можете да управлявате умението безплатно за около година, след което ще бъдете таксувани по-малко от 20 ¢ на месец. Ако искате нещо наистина свободно, можете да го настроите, като използвате Heroku, замествайки стъпки две, три и четири от това ръководство с инструкциите на Heroku в документацията на Ipson. Това обаче е малко по-малко надеждно и някои искания може да изтекат, когато го използвате. Препоръчваме AWS, ако искате най-доброто възможно изживяване - добре си струва ниските 20 ¢ на месец.
Първа стъпка: Подгответе вашия Kodi Web сървър
За да работи това, Kodi ще трябва да има достъп до сървър от мрежата. За щастие, това е вградено в Kodi, въпреки че може да се наложи да препратите някои пристанища на маршрутизатора си и да изпълните някои други задачи, преди да работи безпроблемно.
Отворете Kodi в медийния си център и отидете на System> Services> Web Server. Активирайте уеб сървъра, ако вече не е активиран, и му дадете потребителско име и парола. Не забравяйте да използвате парола, която не използвате за други услуги.
ЗАБЕЛЕЖКА: докато локалният порт на Kodi е 8080 по подразбиране, можете да го промените на каквото искате - или да го препратите на друг външен порт, за да сте сигурни, че няма усложнения (тъй като други приложения могат да поискат порт 8080). Аз използвам 8080 в този урок, но ако използвате нещо различно, просто заменете всички примери на порт 8080 с външен порт, който избирате тук.
my.dynamic-domain.com:8080
where
my.dynamic-domain.com
е URL адресът на вашия динамичен домейн и
8080
е пристанището, което задавате в Kodi. Ако това не помогне, уверете се, че Kodi, вашият динамичен домейн и препращането на портове са били настроени правилно.
Стъпка втора: Настройте профила си в Amazon Web Services
След това ще трябва да настроите профил в Amazon Web Services (AWS). Отидете на тази страница и кликнете върху "Създаване на профил в AWS". Влезте с акредитацията си в Amazon, когато получите подкана. Ако вече нямате профил в AWS, ще бъдете помолени да въведете данните си за връзка, за да създадете такъв. Не забравяйте да проверите "Личен профил" в горната част на страницата.
След като потвърдите самоличността си с вашия телефонен номер и изберете вашия план за поддръжка (препоръчваме Basic, който е безплатен), щракнете върху бутона "Complete Sign Up" в десния ъгъл на екрана. Тогава Amazon ще влезе в системата.
Стъпка трета: Инсталирайте Python 2.7 и настройте вашите променливи
За да натиснете кода на Ipson в AWS, ще ви трябва Python 2.7 инсталиран на вашия компютър. Ще използваме Windows в този урок, но би трябвало да можете да го направите и на MacOS и Linux.
За да инсталирате Python на Windows, отидете на страницата за изтегляне на Python и изтеглете Python 2.7. Стартирайте инсталатора, подобно на всяка друга програма на Windows. Използвайте опциите по подразбиране, тъй като ще ни трябва някои от инструментите, които идват с монтажника на Python.
Веднъж инсталиран, е време да се вмъкнете в командния ред. Натиснете Windows + X на клавиатурата и изберете "Command Prompt". (Потребителите на 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.
Първо, за да може кодът на Ipson да работи с настройките ви за Kodi и AWS, ще трябва да дефинирате няколко променливи в конфигурационния файл. Изтеглете този шаблон, преименувайте го на
kodi.config
и го запазете в главната папка на kodi-alexa. Отворете я в текстов редактор, който е лесен за работа като Notepad ++, и редактирайте следните четири четири променливи:
address = port = username = password =
Най-
address
променливата ще бъде динамичният адрес, който сте настроили в първата стъпка (напр.
my.dynamic-domain.com
),
port
ще бъде пристанището, което сте използвали в първата стъпка (вероятно 8080, освен ако не го смените), и
username
и
password
ще бъдат идентификационните данни от първата стъпка.
Ако имате няколко кутии Kodi в къщата си, можете да използвате този конфигурационен файл, за да ги контролирате отделно с Alexa. Няма да преминем през това ръководство, но можете да намерите инструкции в документацията на Ipson тук.
Когато приключите, запазете файла и се върнете в прозореца на командния ред.
Стъпка 4: Натиснете кода си на AWS
С тези променливи, вашият код е готов за внедряване. Върнете се във вашия команден ред, изпълнете следните две команди:
C:Python27Scriptsvirtualenv venv
venvScriptsactivate.bat
Това ще създаде нова "виртуална среда" и ще я активира.
От изскачащия прозорец, който се показва, изпълнете следните команди:
pip install -r requirements.txt
pip install packaging
pip install zappa
Това ще инсталира инструмент, наречен Zappa, който ще ви помогне да разгънете кода си.
zappa init
Ще ви преведе през магьосник. Просто приемете стойностите по подразбиране за всичко.
zappa deploy dev
Това ще разположи кода ви на Ламбда. Ще отнеме няколко минути, така че нека тича. В края на краищата ще ви даде URL-копие на това, тъй като ще имате нужда от него в следващата стъпка.
python generate_custom_slots.py
Уверете се, че вашата Kodi кутия е включена и работи, когато стартирате този скрипт, тъй като той ще вземе имената на филми, предавания и други медии от вашата библиотека.
Вие сте почти там! Сега просто трябва да създадем умение за Alexa за този код.
Стъпка пета: Създайте уменията си Alexa
За да свържете кода на Ipson с нашето Echo, ще трябва да създадем "Skill" на Alexa, който използва този код. Това приложение няма да бъде разпространявано на никого, то просто ще бъде в "тестов режим" завинаги, свързано със собствения ви амазонски акаунт, за да бъде използвано с вашия Echo.
За да започнете, създайте безплатен акаунт за програмисти в Amazon. Отидете на тази страница, влезте в профила си в Amazon и се регистрирайте за профил на програмист. Попълнете задължителните полета, се съгласявате с условията и кажете "Не", когато ви питат дали искате да си осигурявате приходи от приложенията си.
Дайте на умението си име - нарекох моя "Коди" - и му дайте име на покана. Това е, което ще кажете, когато искате да извикате команда. Например моето име за извикване е също "хол", което означава, че ще трябва да кажа "Поискай хола да …", за да дадеш на Алекса команди за моя медиен център.
По мое преживяване, дългите имена на поканите работят по-добре от по-къси. Използвах "Kodi" за известно време ("Ask Kodi to …"), но Алекса понякога имаше проблеми с намирането на филми. Не можех да ви кажа защо, но по-дългите имена за покана като "хола" работят почти безупречно за мен. Така че опитайте да изберете нещо с няколко срички.
Щракнете върху Напред, когато приключите.
SHOWS
Върнете се в главната директория на kodi-alexa, отворете файла SHOWS с Notepad ++ и копирайте показванията в полето на страницата на Amazon. Това ще помогне на Алекса да разпознае показванията, които сте му дали.
Като алтернатива можете само да изброите някои от вашите телевизионни предавания в кутията, по една на ред. Не е нужно да добавяте всяко шоу в твоята библиотека Kodi, но е добре да имаш приличен брой примери (намерих 20 или 30 е доста добра).
Кликнете върху OK, когато приключите.
Отново нямате нужда от всяко шоу, филм или изпълнител в тези карета, така че не е нужно да ги актуализирате всеки път, когато добавяте нов филм към библиотеката си. Тя просто помага да имаш приличен брой примери във всяка.
IntentSchema.json
и
SampleUtterances.txt
файлове с приложение като Notepad ++.
Изберете целия текст в
IntentSchema.json
файл и го поставете в полето "Схема на намерения" на уеб сайта на Amazon Developer. Повторете този процес с
SampleUtterances.txt
файл, като поставите текста в квадратчето "Примерни изрази".
Когато сте готови, кликнете върху Напред. Може да са необходими няколко минути, за да се изгради моделът на взаимодействие.
На страницата Информация за публикуване попълнете задължителните полета, но не се притеснявайте твърде много за това, което сте въвели, тъй като няма да изпращате това приложение за сертифициране. Вие сте единственият, който ще използва това приложение. (Ето икона 108 × 108 и икона 512 × 512, която да използвате.) Щракнете върху Напред, когато приключите.
Стъпка шест: Тествайте новите си команди
Ако всичко вървеше добре, сега би трябвало да можете да тествате новите си команди. Уверете се, че вашата Kodi кутия е включена и опитайте да кажете нещо като:
“Alexa, ask the living room to play season one, episode one of Friends”
(… очевидно да го замениш с епизод и да покажеш, че имаш на твоята машина.) Алекса може да мине известно време, но се надявам тя да отговори и да започне да свири на спортното шоу. Ако получите грешка и епизодът не се възпроизвежда, върнете се назад и се уверете, че сте направили всичко правилно.
Можете да попитате Алекса, ако имате нови епизоди, да я помолите да свири следващия епизод от шоуто или дори да я използва, за да контролира Коди, толкова неефективно, колкото може да е ("Алекса, помоли хола да спре", "Алекса, помолете хола да се движи надолу "и т.н.). Разгледайте
SampleUtterances.txt
файл, за да видите всички неща, които Alexa може да направи с тази интеграция. Ако някога искате да добавите нова фраза, която съответства на една от тези функции, трябва само да влезете в профила си в Amazon Developer и да я добавите към списъка, който сме поставили в стъпка 4.
Това не е най-бързото или най-лекото нещо, което трябва да настроите, но щом го направите, това е лесно една от най-хубавите неща, които можете да направите с вашия Amazon Echo, по мое мнение. Сега мога да започна да гледам телевизия, докато готвя в кухнята, или когато батериите на дистанционното ми са мъртви. Това е видът на властта, която Amazon Echo е проектирана да има, и въпреки че отнема малко работа, си струва.
Има проблем? Проверете тази тема в форумите на Kodi, както и в оригиналната страница на GitHub, или отправете нов ред в коментарите ни по-долу.
Изображение на заглавие от Doomu / Bigstock и Amazon.