Zdalne sterowanie jest takie 1950. Jeśli masz centrum multimedialne Kodi i Amazon Echo, możesz odtwarzać wszystkie ulubione filmy i programy telewizyjne za pomocą dobrze umiejscowionego polecenia głosowego ... jeśli chcesz zrobić małą konfigurację.
Amazon Echo jest, naszym zdaniem, jedną z najfajniejszych części inteligentnego domu. Kontrolowanie światła, żaluzji i telewizora za pomocą telefonu jest fajne, ale kontrolowanie ich głosem to prawdziwa przyszłość. Byłem sceptyczny, ale szybko byłem pod wrażeniem - i jestem głodny czegoś więcej.
Włączenie telewizora jest fajne, ale naprawdę chciałem kontrolować moje centrum multimedialne. Chciałem móc powiedzieć "Zagraj w kolejny odcinek z przyjaciółmi" i przeszukaj moją bibliotekę, zobacz, co oglądałem ostatnio, i zacznij grać w kolejnym odcinku. Po drobnych poszukiwaniach odkryłem, że jeden przedsiębiorczy programista, Joe Ipson, właśnie to zrobił.
To wymaga nieco konfiguracji i na początku wygląda na bardzo onieśmielające. Musisz utworzyć serwer WWW, przesłać trochę kodu z GitHub i wykonać trochę pracy z wiersza poleceń, ale nie musisz być programistą, aby to zrobić. Ipson wykonał prawie wszystkie operacje podnoszenia ciężarów i wystarczy skopiować kod, edytować kilka części i przesłać go we właściwe miejsce. Jeśli zastosujesz się do tego przewodnika, powinieneś zacząć działać w mgnieniu oka.
UWAGA: Korzystamy z usług Amazon Web Services w tym samouczku, ponieważ jest on najbardziej niezawodny. Jeśli jesteś nowym użytkownikiem AWS, Ipson mówi, że powinieneś być w stanie uruchomić tę umiejętność za darmo przez około rok, po czym będziesz musiał zapłacić mniej niż 20 centów za miesiąc. Jeśli chcesz czegoś naprawdę darmowego, możesz ustawić go za pomocą Heroku, zastępując kroki 2, 3 i 4 tego przewodnika instrukcjami Heroku w dokumentacji Ipsona. Jest on jednak trochę mniej niezawodny, a niektóre żądania mogą się wydłużyć, gdy go używasz. Zalecamy AWS, jeśli chcesz uzyskać najlepszą możliwą jakość - to warte 20 euro za miesiąc.
Aby to działało, Kodi musi mieć serwer dostępny z internetu. Na szczęście jest to wbudowane w Kodi, ale możesz potrzebować przesłać kilka portów na routerze i wykonać inne zadania, zanim zacznie działać płynnie.
Otwórz Kodi w swoim centrum multimedialnym i przejdź do System> Usługi> Web Server. Włącz serwer WWW, jeśli nie jest już włączony, i nadaj mu nazwę użytkownika i hasło. Pamiętaj, aby użyć hasła, którego nie używasz do innych usług.
Będziesz także potrzebować publicznego adresu IP dla swojego domu. Ponieważ jednak może się to zmienić, zdecydowanie zalecamy zarejestrowanie się w dynamicznej nazwie domeny przy użyciu usługi takiej jak Dynu. Postępuj zgodnie z naszym przewodnikiem tutaj, zanim przejdziesz dalej, jeśli jeszcze go nie masz.
Na koniec musisz skonfigurować przekierowanie portów dla swojego urządzenia Kodi. To będzie różnić się w zależności od routera, ale możesz zapoznać się z naszym przewodnikiem po więcej informacji. Wystarczy przesłać dowolny zewnętrzny port na lokalny adres IP urządzenia Kodi (w moim przypadku 192.168.1.12) i lokalnego portu (domyślnie 8080).
UWAGA: podczas gdy lokalny port Kodi ma domyślnie 8080, możesz go zmienić na dowolny, lub możesz przesłać go do innego zewnętrznego portu, aby upewnić się, że nie ma żadnych komplikacji (ponieważ inne aplikacje mogą wymagać portu 8080). Używam 8080 w tym samouczku, ale jeśli używasz czegoś innego, po prostu zamień wszystkie wystąpienia portu 8080 na zewnętrzny port, który tu wybierzesz.
Jeśli wszystko pójdzie dobrze, powinieneś mieć dostęp do interfejsu sieciowego Kodi, otwierając przeglądarkę internetową i wpisując:
my.dynamic-domain.com:8080
gdzie
my.dynamic-domain.com
jest adresem URL Twojej domeny dynamicznej, i 8080
jest portem ustawionym w Kodi. Jeśli to nie zadziała, upewnij się, że Kodi, Twoja domena dynamiczna i przekierowanie portów zostały poprawnie skonfigurowane.
Następnie musisz założyć konto w usłudze Amazon Web Services (AWS). Udaj się na tę stronę i kliknij "Utwórz konto AWS". Zaloguj się przy użyciu poświadczeń Amazon po wyświetleniu monitu. Jeśli nie masz jeszcze konta AWS, zostaniesz poproszony o podanie swoich danych kontaktowych, aby je utworzyć. Pamiętaj, by zaznaczyć "Konto osobiste" u góry.
Przejdź przez pozostałe kroki w kreatorze. Będziesz musiał również wprowadzić dane swojej karty kredytowej, ale nie martw się - tak jak powiedzieliśmy, nie powinieneś płacić bardzo dużo, jeśli w ogóle (szczególnie przez pierwsze 12 miesięcy).
Po zweryfikowaniu swojej tożsamości za pomocą numeru telefonu i wybraniu planu pomocy technicznej (zalecamy Basic, który jest bezpłatny), kliknij przycisk "Complete Sign Up" w prawym rogu ekranu. Amazon następnie zaloguje się.
Przejdź teraz na stronę zarządzania tożsamością i dostępem (w razie potrzeby zaloguj się ponownie do AWS) i kliknij kartę "Użytkownicy" po lewej stronie. Kliknij przycisk "Dodaj użytkownika".
Utwórz nowego użytkownika o dowolnej nazwie użytkownika. Sprawdź pole "Programmatic Access" i kliknij "Next: Permissions".
Następnie pojawi się monit o ustawienie uprawnień. Kliknij "Dołącz istniejące zasady bezpośrednio", a następnie wyszukaj "AdministratorAccess". Sprawdź opcję AdministratorAccess i kliknij "Dalej: Recenzja".
Upewnij się, że Twój użytkownik wygląda jak na poniższym obrazku, a następnie kliknij "Utwórz użytkownika".
Nie zamykaj następnej strony! Będziesz musiał pobrać klucz dostępu i klucz tajnego dostępu (musisz kliknąć "Pokaż", aby pokazać tajny klucz). Skopiuj je do pliku tekstowego w celu bezpiecznego przechowywania, ponieważ po opuszczeniu tej strony nie będziesz mógł odzyskać tajnego klucza.
Gdy już to zrobisz, możesz bezpiecznie zamknąć to okno.
Aby przekazać kod Ipsona do AWS, będziesz potrzebował Pythona 2.7 zainstalowanego na twoim komputerze. W tym samouczku będziemy używać systemu Windows, ale powinieneś być w stanie to zrobić również w systemie MacOS i Linux.
Aby zainstalować Python w systemie Windows, przejdź do strony pobierania Pythona i pobierz Python 2.7. Uruchom instalator tak jak każdy inny program Windows. Użyj domyślnych ustawień, ponieważ potrzebujemy niektórych narzędzi, które są dostarczane z instalatorem Pythona.
Kliknij tutaj, aby pobrać kod Ipsona. Rozpakuj folder kodi-alexa-master w pliku ZIP gdzieś na dysku twardym.
Po zainstalowaniu nadszedł czas, aby zagłębić się w linii poleceń. Naciśnij Windows + X na klawiaturze i wybierz "Wiersz polecenia". (Użytkownicy komputerów Mac i Linux będą chcieli otworzyć odpowiednie aplikacje Terminal). Stamtąd uruchom następujące dwa polecenia, jeden po drugim:
C: \ Python27 \ Scripts \ pip.exe install awscli
Konfiguracja C: \ Python27 \ Scripts \ aws
Spowoduje to zainstalowanie narzędzi wiersza poleceń AWS i uruchomienie narzędzia konfiguracyjnego.
Wklej identyfikator klucza dostępu i tajny klucz dostępu, gdy zostaniesz o to poproszony. Po zapytaniu o nazwę domyślnego regionu, wpiszus-east-1
(jeśli jesteś w USA) lub eu-west-1
(jeśli jesteś w Europie). Możesz pozostawić pusty domyślny format wyjściowy (wystarczy nacisnąć Enter).
Następnie uruchom następujące polecenie:
C: \ Python27 \ Scripts \ pip.exe install virtualenv
Będziesz potrzebował tego zainstalowanego na później.
Teraz CD do swojego folderu kodi-alexa-master za pomocą następującego polecenia:
CD C: \ Users \ Whitson \ Documents \ Code \ kodi-alexa-master
Oczywiście, zastąp ścieżkę pliku ścieżką do miejsca, w którym zapisałeś swój folder kodi-alexa-master.
Pozostaw okno otwarte na razie, za chwilę będziemy do niego wracać.
Po pierwsze, aby kod Ipsona działał z twoją instalacją Kodi i AWS, musisz zdefiniować kilka zmiennych w pliku konfiguracyjnym. Pobierz ten szablon, zmień jego nazwę na kodi.config
i zapisz go w folderze kodi-alexa-master. Otwórz go w przyjaznym dla kodu edytorze tekstu, takim jak Notepad ++, i edytuj następujące cztery cztery zmienne:
address = port = username = password =
The adres
zmienna będzie adresem dynamicznym ustawionym w kroku pierwszym (np. my.dynamic-domain.com
), Port
będzie portem użytym w pierwszym kroku (prawdopodobnie 8080, chyba że go zmieniłeś), i Nazwa Użytkownika
i hasło
będą referencjami od pierwszego kroku.
Jeśli posiadasz wiele skrzynek Kodi w swoim domu, możesz również użyć tego pliku konfiguracyjnego, aby kontrolować je oddzielnie z Alexa. Nie przejdziemy do tego w tym przewodniku, ale tutaj można znaleźć instrukcje w dokumentacji Ipsona.
Po zakończeniu zapisz plik i wróć do okna wiersza polecenia.
Po wprowadzeniu tych zmiennych Twój kod jest gotowy do wdrożenia. Wróć do swojego Command Prompt, uruchom te dwie komendy:
C: \ Python27 \ Scripts \ virtualenv venv
venv \ Scripts \ activate.bat
Spowoduje to utworzenie nowego "środowiska wirtualnego" i aktywowanie go.
W wyświetlonym wierszu venv uruchom następujące polecenia:
pip install -r requirements.txt
opakowanie instalacji pip
instalacja pip zappa
Spowoduje to zainstalowanie narzędzia o nazwie Zappa, które pomoże wdrożyć Twój kod.
Następnie musisz skonfigurować Zappa. Biegać:
zappa init
Przeprowadzi cię przez czarodzieja. Po prostu zaakceptuj ustawienia domyślne dla wszystkiego.
Wreszcie, uruchom:
zappa wdrożyć dev
Spowoduje to wdrożenie Twojego kodu do Lambda. Zajmie to kilka minut, więc pozwól mu działać. Na koniec da ci to URL-copy, ponieważ będziesz go potrzebować w następnym kroku.
Wreszcie, polecam również uruchomienie następującego polecenia, ponieważ będziesz potrzebował plików wynikowych również w następnym kroku:
python generate_custom_slots.py
Upewnij się, że Twoje pudełko Kodi jest włączone i działa po uruchomieniu tego skryptu, ponieważ przechwytuje nazwy filmów, programów i innych multimediów z biblioteki.
Jesteś prawie na miejscu! Teraz wystarczy ustawić umiejętność Alexa dla tego kodu.
Aby połączyć kod Ipsona z naszym Echo, musimy stworzyć "umiejętność" Alexy, która używa tego kodu. Ta aplikacja nie zostanie przekazana nikomu, będzie po prostu w "trybie testowym" na zawsze, połączona z własnym kontem Amazon do użytku z Twoim Echo.
Aby rozpocząć, skonfiguruj bezpłatne konto programisty Amazon. Udaj się na tę stronę, zaloguj się na swoje konto Amazon i zarejestruj się na konto programisty. Wypełnij wymagane pola, zaakceptuj warunki i powiedz "Nie", gdy pojawi się pytanie, czy zamierzasz zarabiać na swoich aplikacjach.
Po zalogowaniu przejdź na "Alexa" na górnym pasku narzędzi. Kliknij przycisk "Rozpocznij" w "Zestawie umiejętności Alexa".
Następnie kliknij przycisk "Dodaj nową umiejętność".
Podaj swoją umiejętność - nazwałem ją "Kodi" - i nadaj jej nazwę inwokacji. To właśnie powiesz, gdy chcesz wywołać polecenie. Na przykład moja nazwa wywołania to także "salon", co oznacza, że muszę powiedzieć "Poproś salonu, aby ...", by dać polecenia Alexy dla mojego centrum medialnego.
Z mojego doświadczenia wynika, że długie nazwy wywołania działają lepiej niż te krótsze. Użyłem "Kodi" na chwilę ("Zapytaj Kodi do ..."), ale Alexa czasami miała problemy ze znalezieniem filmów. Nie mogłem ci powiedzieć dlaczego, ale dłuższe nazwy, takie jak "salon", działają dla mnie prawie bezbłędnie. Więc spróbuj wybrać coś z kilkoma sylabami.
Po zakończeniu kliknij przycisk Dalej.
Kliknij przycisk "Dodaj typ szczeliny" w środku następnego okna.
Utwórz nowy automat o nazwie PRZEDSTAWIA
. Wróć do swojego folderu kodi-alexa-master, otwórz plik SHOWS za pomocą Notepad ++ i skopiuj programy do pudełka na stronie Amazon. Pomoże to Alexie rozpoznać programy, które im dyktujesz.
Możesz też po prostu wymienić niektóre programy telewizyjne w pudełku, po jednym w linii. Nie musisz dodawać każdego pokazu w bibliotece Kodi, ale dobrze jest mieć przyzwoitą liczbę przykładów (20 lub 30 jest całkiem niezłych).
Po zakończeniu kliknij OK.
Powtórz ten proces tymi typami gniazd: FILMAMI, MOVIEGENRAMAMI, MUZYKAMI, MUZYKAMI, MUZYKAMI, LISTAMI MUZYKI, WIDEOPLAYLISTAMI i ADDONAMI (Jeśli nie masz informacji o żadnej z nich, stwórz i tak typ gniazda - kod Ipsona wymaga tego - i po prostu napisz słowo "puste" w polu i nie spowoduje żadnych problemów).
Ponownie, nie potrzebujesz każdego pokazu, filmu lub wykonawcy w tych slotach, więc nie musisz ich aktualizować za każdym razem, gdy dodasz nowy film do swojej biblioteki. Po prostu pomaga mieć przyzwoitą liczbę przykładów w każdym z nich.
Po utworzeniu wszystkich dziewięciu typów slotów powróć do folderu kodi-alexa-master. Otwórz folder speech_assets i otwórz IntentSchema.json
i SampleUtterances.txt
pliki za pomocą aplikacji takiej jak Notepad ++.
Wybierz cały tekst w IntentSchema.json
plik i wklej go w polu "Scent intent" na stronie Amazon Developer. Powtórz ten proces z SampleUtterances.txt
plik, umieszczając tekst w polu "Przykładowe wyrazy".
Po zakończeniu kliknij przycisk Dalej. Budowanie modelu interakcji może potrwać kilka chwil.
Na następnej stronie wybierz "HTTPS" dla typu punktu końcowego i wklej adres URL pod koniec czwartego kroku. Wybierz swój region geograficzny (Ameryka Północna lub Europa) i wybierz "Nie" dla łączenia kont. Kliknij Następny.
Na następnej stronie wybierz "Mój punkt końcowy rozwoju to poddomena domeny z certyfikatem wieloznacznym wydanym przez urząd certyfikacji". Kliknij Następny.
Nie powinieneś dodawać żadnych informacji na stronie Testu, ale możesz sprawdzić niektóre aspekty kodu, jeśli wiesz, co robisz. W przeciwnym razie kliknij Dalej.
Na stronie Informacje o wydawnictwie wypełnij wymagane pola, ale nie przejmuj się zbytnio tym, co wpisujesz, ponieważ nie będziesz przesyłać tej aplikacji do certyfikacji. Jesteś jedynym, który będzie korzystać z tej aplikacji. (Tutaj jest ikona 108 × 108 i ikona 512 × 512 do użycia.) Po zakończeniu kliknij Dalej.
Na ostatniej stronie wybierz "Nie" dla obu pytań dotyczących prywatności i zaznacz pole Complicance. Kliknij przycisk "Zapisz", kiedy skończysz. NIE klikaj przycisku "Prześlij do certyfikacji".
Jeśli wszystko poszło dobrze, powinieneś móc teraz przetestować nowe polecenia. Upewnij się, że Twoje urządzenie Kodi jest włączone i spróbuj powiedzieć coś takiego:
"Alexa, zapytaj salonu, aby zagrał w pierwszym sezonie, odcinek jeden z Przyjaciół"
(... oczywiście zastąpienie tego epizodem i pokazanie, że masz na swoim komputerze.) To może zająć Alexa chwilę, ale mam nadzieję, że powinna odpowiedzieć i zacząć grać w danym programie. Jeśli pojawi się błąd i odcinek nie zostanie odtworzony, wróć i upewnij się, że zrobiłeś wszystko poprawnie.
Możesz zapytać Alexę, czy masz jakieś nowe odcinki, poprosić ją, aby zagrała kolejny odcinek serialu, lub nawet użyć jej do kontrolowania Kodi, jako nieefektywnego ("Alexa, poprosić salon o przerwę", "Alexa"). , poproś salon o nawigację w dół "itd.). Sprawdź SampleUtterances.txt
plik, aby zobaczyć wszystkie rzeczy, które Alexa może zrobić z tą integracją. Jeśli kiedykolwiek chcesz dodać nową frazę, która odpowiada jednej z tych funkcji, po prostu zaloguj się ponownie na swoje konto programisty Amazon i dodaj je do listy wklejonej w kroku czwartym.
Nie jest to najszybsza lub najłatwiejsza konfiguracja, ale gdy już ją uruchomisz, jest to jedna z najfajniejszych rzeczy, które możesz zrobić ze swoim Amazon Echo, według mnie. Teraz mogę zacząć oglądać telewizję podczas gotowania w kuchni lub kiedy baterie mojego pilota są martwe. Jest to rodzaj mocy, którą zaprojektowała Amazon Echo, i chociaż wymaga to trochę pracy, to jest tego warte.
Mieć problemy? Sprawdź ten wątek na forach Kodi, a także na oryginalnej stronie GitHub, lub upuść linię w naszych komentarzach poniżej.
Obraz tytułowy z doomu / Bigstock i Amazon.