So steuern Sie Ihr Kodi Media Center mit einem Amazon-Echo
Fernbedienungen sind so 1950. Wenn Sie über ein Kodi Media Center und ein Amazon Echo verfügen, können Sie alle Ihre Lieblingsfilme und -shows mit einem gut platzierten Sprachbefehl abspielen… wenn Sie ein wenig Setup vornehmen möchten.
Das Amazon Echo ist unserer Meinung nach einer der coolsten Teile eines Smart Home. Die Steuerung von Licht, Jalousien und Fernseher mit dem Telefon ist cool, aber die Steuerung mit Ihrer Stimme ist wirklich die Zukunft. Ich war skeptisch, wurde aber schnell beeindruckt - und hungrig nach mehr.
Den Fernseher einschalten zu können, ist cool, aber ich wollte eigentlich mein Mediencenter steuern. Ich wollte in der Lage sein, "Die nächste Episode von Friends spielen" zu sagen, meine Bibliothek durchsuchen zu lassen, zu sehen, was ich zuletzt angesehen habe, und die nachfolgende Episode zu spielen. Und nach einiger Suche fand ich heraus, dass ein unternehmerischer Programmierer namens Joe Ipson genau das getan hatte.
Dies erfordert ein wenig Setup und wirkt auf den ersten Blick einschüchternd. Sie müssen einen Webserver erstellen, etwas Code von GitHub eingeben und von der Befehlszeile aus etwas tun, aber Sie müssen kein Programmierer sein, um dies zu ermöglichen. Ipson hat fast alle schweren Aufgaben erledigt, und Sie müssen nur seinen Code kopieren, einige Teile bearbeiten und ihn an der richtigen Stelle hochladen. Wenn Sie diesen Leitfaden befolgen, sollten Sie in kürzester Zeit einsatzbereit sein.
HINWEIS: Wir verwenden Amazon Web Services für dieses Tutorial, da es am zuverlässigsten ist. Wenn Sie ein neuer AWS-Benutzer sind, sollte laut Ipson die Fertigkeit für etwa ein Jahr kostenlos ausgeführt werden. Danach werden Ihnen weniger als 20 ¢ pro Monat berechnet. Wenn Sie etwas wirklich freies wollen, können Sie es stattdessen mit Heroku einrichten und die Schritte 2, 3 und 4 dieses Handbuchs durch die Heroku-Anweisungen in der Dokumentation von Ipson ersetzen. Es ist jedoch etwas weniger zuverlässig, und einige Anforderungen können bei der Verwendung zu einem Timeout führen. Wir empfehlen AWS, wenn Sie die bestmögliche Erfahrung machen möchten - die mageren 20 ¢ pro Monat sind es wert.
Schritt 1: Bereiten Sie Ihren Kodi-Webserver vor
Damit dies funktioniert, muss Kodi über einen Server aus dem Web erreichbar sein. Zum Glück ist dies in Kodi integriert, obwohl Sie möglicherweise einige Ports Ihres Routers weiterleiten und einige andere Aufgaben ausführen müssen, bevor dies reibungslos funktioniert.
Öffnen Sie Kodi in Ihrem Media Center und wechseln Sie zu System> Dienste> Webserver. Aktivieren Sie den Webserver, wenn er noch nicht aktiviert ist, und geben Sie ihm einen Benutzernamen und ein Kennwort ein. Stellen Sie sicher, dass Sie ein Kennwort verwenden, das Sie nicht für andere Dienste verwenden.
Sie benötigen auch die öffentliche IP-Adresse für Ihr Zuhause. Da sich dies jedoch ändern kann, wird dringend empfohlen, sich mit einem Dienst wie Dynu für einen dynamischen Domänennamen zu registrieren. Folgen Sie unserem Leitfaden hier, bevor Sie fortfahren, falls Sie noch keinen haben.
Als letztes müssen Sie die Portweiterleitung für Ihre Kodi-Box einrichten. Dies ist von Router zu Router unterschiedlich, Sie können jedoch in unserem Leitfaden nach weiteren Informationen suchen. Leiten Sie einfach einen beliebigen externen Port an die lokale IP-Adresse Ihrer Kodi-Box (in meinem Fall 192.168.1.12) und an den lokalen Port (standardmäßig 8080) weiter..
HINWEIS: Während der lokale Port von Kodi standardmäßig 8080 ist, können Sie ihn nach Belieben ändern oder an einen anderen externen Port weiterleiten, um sicherzustellen, dass keine Komplikationen auftreten (da andere Apps möglicherweise nach Port 8080 fragen). Ich verwende 8080 in diesem Lernprogramm, aber wenn Sie etwas anderes verwenden, ersetzen Sie einfach alle Instanzen von Port 8080 durch die extern Port Sie hier auswählen.
Wenn alles gut geht, sollten Sie in der Lage sein, auf die Weboberfläche von Kodi zuzugreifen, indem Sie einen Webbrowser öffnen und Folgendes eingeben:
my.dynamic-domain.com:8080
woher
my.dynamic-domain.com
ist die URL Ihrer dynamischen Domain und 8080
ist der von Ihnen in Kodi eingestellte Port. Wenn dies nicht funktioniert, stellen Sie sicher, dass Kodi, Ihre dynamische Domäne und Ihre Portweiterleitung ordnungsgemäß eingerichtet wurden.
Schritt 2: Richten Sie Ihr Amazon Web Services-Konto ein
Als Nächstes müssen Sie ein Konto bei Amazon Web Services (AWS) einrichten. Gehen Sie zu dieser Seite und klicken Sie auf "AWS-Konto erstellen". Melden Sie sich mit Ihren Amazon-Anmeldeinformationen an, wenn Sie dazu aufgefordert werden. Wenn Sie noch kein AWS-Konto haben, werden Sie aufgefordert, Ihre Kontaktinformationen einzugeben, um ein Konto zu erstellen. Achten Sie darauf, oben auf "Persönliches Konto" zu klicken.
Führen Sie die restlichen Schritte des Assistenten aus. Sie müssen auch Ihre Kreditkarteninformationen eingeben, aber machen Sie sich keine Sorgen, wie gesagt, Sie sollten nicht sehr stark belastet werden, wenn überhaupt (besonders für die ersten 12 Monate)..
Nachdem Sie Ihre Identität anhand Ihrer Telefonnummer überprüft und Ihren Support-Plan ausgewählt haben (wir empfehlen Basic, was kostenlos ist), klicken Sie auf die Schaltfläche "Complete Sign Up" (Vollständige Anmeldung) in der rechten Ecke des Bildschirms. Amazon meldet Sie dann an.
Gehen Sie nun zur Seite "Identitäts- und Zugriffsverwaltung" (melden Sie sich ggf. wieder bei AWS an) und klicken Sie auf der linken Seite auf die Registerkarte "Benutzer". Klicken Sie auf die Schaltfläche "Benutzer hinzufügen".
Erstellen Sie einen neuen Benutzer mit dem gewünschten Benutzernamen. Aktivieren Sie das Kontrollkästchen "Programmatic Access" und klicken Sie auf "Next: Permissions"..
Als Nächstes werden Sie aufgefordert, Berechtigungen festzulegen. Klicken Sie auf "Vorhandene Richtlinien direkt anhängen" und suchen Sie dann nach "AdministratorAccess". Aktivieren Sie die Option AdministratorAccess und klicken Sie auf "Next: Review"..
Vergewissern Sie sich, dass Ihr Benutzer so aussieht wie das Bild unten, und klicken Sie auf "Benutzer erstellen".
Schließen Sie nicht die nächste Seite! Sie müssen sich die Zugangsschlüssel-ID und den geheimen Zugriffsschlüssel hier holen (Sie müssen auf "Anzeigen" klicken, um Ihren geheimen Schlüssel anzuzeigen). Kopieren Sie sie zur sicheren Aufbewahrung in eine Textdatei, da Sie den geheimen Schlüssel nach dem Verlassen dieser Seite nicht mehr erhalten können.
Sobald Sie diese aufgeschrieben haben, können Sie dieses Fenster sicher schließen.
Schritt 3: Installieren Sie Python 2.7 und richten Sie Ihre Variablen ein
Um den Code von Ipson für AWS zu verwenden, muss auf Ihrem Computer Python 2.7 installiert sein. Wir werden Windows in diesem Tutorial verwenden, aber Sie sollten dies auch unter MacOS und Linux tun können.
Um Python unter Windows zu installieren, besuchen Sie die Python-Download-Seite und laden Sie Python 2.7 herunter. Führen Sie das Installationsprogramm wie jedes andere Windows-Programm aus. Verwenden Sie die Standardauswahl, da wir einige der Tools benötigen, die im Python-Installationsprogramm enthalten sind.
Dann klicken Sie hier, um den Code von Ipson herunterzuladen. Entpacken Sie den kodi-alexa-master-Ordner innerhalb der ZIP-Datei irgendwo auf Ihrer Festplatte.
Einmal installiert, ist es Zeit, sich in die Befehlszeile einzuarbeiten. Drücken Sie auf Ihrer Tastatur Windows + X und wählen Sie "Eingabeaufforderung". (Mac- und Linux-Benutzer möchten ihre jeweiligen Terminal-Apps öffnen). Führen Sie von hier aus die folgenden zwei Befehle nacheinander aus:
C: \ Python27 \ Scripts \ pip.exe installiert awscli
C: \ Python27 \ Scripts \ aws konfigurieren
Dadurch werden die AWS-Befehlszeilentools installiert und das Konfigurationstool gestartet.
Fügen Sie Ihre Zugangscode-ID und Ihren geheimen Zugriffsschlüssel ein, wenn Sie dazu aufgefordert werden. Wenn Sie nach Ihrem Standard-Regionsnamen gefragt werden, geben Sie Folgendes ein us-east-1
(wenn Sie in den USA sind) oder eu-west-1
(wenn du in Europa bist). Sie können Ihr Standard-Ausgabeformat leer lassen (drücken Sie einfach die Eingabetaste)..
Führen Sie als Nächstes den folgenden Befehl aus:
C: \ Python27 \ Scripts \ pip.exe installieren Sie virtualenv
Sie müssen dies für später installieren.
Nun mit dem folgenden Befehl eine CD in den Ordner kodi-alexa-master:
CD C: \ Benutzer \ Whitson \ Documents \ Code \ kodi-alexa-master
Ersetzen Sie den Dateipfad natürlich durch den Pfad zu dem Speicherort Ihres kodi-alexa-master-Ordners.
Halten Sie das Fenster für jetzt offen, wir müssen gleich darauf zurückkommen.
Damit Ipson-Code mit Ihrem Kodi- und AWS-Setup zusammenarbeiten kann, müssen Sie einige Variablen in einer Konfigurationsdatei definieren. Laden Sie diese Vorlage herunter und benennen Sie sie um kodi.config
, und speichern Sie es in Ihrem kodi-alexa-master-Ordner. Öffnen Sie es in einem codefreundlichen Texteditor wie Notepad ++ und bearbeiten Sie die folgenden vier Variablen:
Adresse = Port = Benutzername = Passwort =
Das Adresse
Variable ist die dynamische Adresse, die Sie in Schritt 1 eingerichtet haben (z. my.dynamic-domain.com
), Hafen
wird der Port sein, den Sie in Schritt 1 verwendet haben (wahrscheinlich 8080, sofern Sie ihn nicht geändert haben) und Nutzername
und Passwort
werden die Anmeldeinformationen von Schritt eins sein.
Wenn Sie mehrere Kodi-Boxen in Ihrem Haus haben, können Sie diese Konfigurationsdatei auch verwenden, um sie separat mit Alexa zu steuern. In diesem Handbuch werden wir das nicht durchgehen. Anweisungen finden Sie in der Dokumentation von Ipson.
Wenn Sie fertig sind, speichern Sie die Datei und kehren Sie zum Eingabeaufforderungsfenster zurück.
Schritt vier: Drücken Sie Ihren Code an AWS
Wenn diese Variablen vorhanden sind, ist Ihr Code bereit für die Bereitstellung. Führen Sie in Ihrer Eingabeaufforderung die folgenden beiden Befehle aus:
C: \ Python27 \ Scripts \ virtualenv venv
venv \ Scripts \ enable.bat
Dadurch wird eine neue "virtuelle Umgebung" erstellt und aktiviert.
Führen Sie an der angezeigten venv-Eingabeaufforderung die folgenden Befehle aus:
pip install -r Requirements.txt
pip installieren verpackung
pip install zappa
Dadurch wird ein Tool namens Zappa installiert, mit dem Sie Ihren Code bereitstellen können.
Als nächstes müssen Sie Zappa einrichten. Lauf:
zappa init
Es führt Sie durch einen Zauberer. Akzeptieren Sie einfach die Standardeinstellungen für alles.
Laufen Sie zuletzt:
zappa deploy dev
Dadurch wird Ihr Code für Lambda bereitgestellt. Es dauert ein paar Minuten, also lass es laufen. Am Ende erhalten Sie eine URL-Kopie, da Sie diese im nächsten Schritt benötigen.
Schließlich empfehle ich auch den folgenden Befehl auszuführen, da Sie die resultierenden Dateien auch im nächsten Schritt benötigen:
python generate_custom_slots.py
Stellen Sie sicher, dass Ihre Kodi-Box aktiviert ist und ausgeführt wird, wenn Sie dieses Skript ausführen, da Sie die Namen von Filmen, Shows und anderen Medien aus Ihrer Bibliothek abrufen können.
Du bist fast da! Jetzt müssen wir nur noch eine Alexa-Skill für diesen Code einrichten.
Schritt 5: Erstellen Sie Ihre Alexa-Fähigkeit
Um den Code von Ipson mit unserem Echo zu verbinden, müssen wir einen Alexa-Skill erstellen, der diesen Code verwendet. Diese App wird nicht an niemanden verteilt, sondern ist für immer im "Testmodus", verbunden mit Ihrem eigenen Amazon-Konto zur Verwendung mit Ihrem Echo.
Richten Sie zunächst ein kostenloses Amazon Developer-Konto ein. Gehen Sie zu dieser Seite, melden Sie sich mit Ihrem Amazon-Konto an und registrieren Sie sich für ein Entwicklerkonto. Füllen Sie die erforderlichen Felder aus, stimmen Sie den Bedingungen zu und sagen Sie "Nein", wenn Sie gefragt werden, ob Sie Ihre Apps monetarisieren möchten.
Sobald Sie eingeloggt sind, gehen Sie zu "Alexa" in der oberen Symbolleiste. Klicken Sie unter "Alexa Skills Kit" auf die Schaltfläche "Erste Schritte"..
Klicken Sie anschließend auf die Schaltfläche "Neue Fähigkeit hinzufügen".
Geben Sie Ihrer Fertigkeit einen Namen - ich habe meinen Kodi genannt - und geben Sie einen Aufrufnamen an. Das sagen Sie, wenn Sie einen Befehl aufrufen möchten. Zum Beispiel ist mein Anrufungsname auch „das Wohnzimmer“, was bedeutet, dass ich sagen muss: „Das Wohnzimmer fragen…“, um Alexa-Befehle für mein Mediencenter zu geben.
Nach meiner Erfahrung funktionieren lange Anrufnamen besser als kürzere. Ich habe eine Weile „Kodi“ verwendet („Kodi nach… fragen“), aber Alexa hatte gelegentlich Probleme, Filme zu finden. Ich kann Ihnen nicht sagen warum, aber längere Anrufnamen wie "das Wohnzimmer" funktionieren für mich fast einwandfrei. Also wähle etwas mit ein paar Silben.
Klicken Sie auf Weiter, wenn Sie fertig sind.
Klicken Sie in der Mitte des nächsten Fensters auf die Schaltfläche "Slot-Typ hinzufügen".
Erstellen Sie einen neuen Slot mit dem Namen ZEIGT AN
. Gehen Sie zurück zu Ihrem kodi-alexa-master-Ordner, öffnen Sie die SHOWS-Datei mit Notepad ++ und kopieren Sie die Shows in das Feld auf der Amazon-Seite. Dies hilft Alexa, die Shows zu erkennen, die Sie ihm diktieren.
Alternativ können Sie einfach einige Ihrer Fernsehsendungen in der Box auflisten, eine pro Zeile. Sie müssen nicht jede Show in Ihre Kodi-Bibliothek aufnehmen, aber es ist gut, eine anständige Anzahl von Beispielen zu haben (ich habe festgestellt, dass 20 oder 30 ziemlich gut sind)..
Klicken Sie auf OK, wenn Sie fertig sind.
Wiederholen Sie diesen Vorgang mit diesen Slot-Typen: MOVIES, MOVIEGENRES, MUSICARTISTS, MUSICALBUMS, MUSICSONGS, MUSICPLAYLISTS, VIDEOPLAYLISTS und ADDONS (Wenn Sie für keine dieser Informationen Informationen haben, erstellen Sie den Slot-Typ trotzdem Schreiben Sie das Wort „Leer“ in die Box. Es wird keine Probleme verursachen.)
Wieder benötigen Sie nicht jede einzelne Show, jeden Film oder Interpreten in diesen Slots. Sie müssen sie also nicht jedes Mal aktualisieren, wenn Sie Ihrer Bibliothek einen neuen Film hinzufügen. Es hilft nur, eine anständige Anzahl von Beispielen in jedem zu haben.
Wenn Sie alle neun Slot-Typen erstellt haben, kehren Sie zum kodi-alexa-master-Ordner zurück. Öffnen Sie den Ordner speech_assets und öffnen Sie den Ordner IntentSchema.json
und SampleUtterances.txt
Dateien mit einer App wie Notepad++.
Markieren Sie den gesamten Text in der IntentSchema.json
Datei und fügen Sie sie in das Feld „Intent Schema“ auf der Amazon Developer-Website ein. Wiederholen Sie diesen Vorgang mit der SampleUtterances.txt
Datei, platzieren Sie den Text in das Feld "Sample Utterances".
Wenn Sie fertig sind, klicken Sie auf Weiter. Es kann einige Momente dauern, bis das Interaktionsmodell erstellt wird.
Wählen Sie auf der nächsten Seite „HTTPS“ als Endpunkttyp aus und fügen Sie die URL ein, die Sie am Ende von Schritt 4 erhalten haben. Wählen Sie Ihre geografische Region (Nordamerika oder Europa) und wählen Sie "Nein" für die Kontoverbindung. Weiter klicken.
Wählen Sie auf der nächsten Seite "Mein Entwicklungsendpunkt ist eine Unterdomäne einer Domäne mit einem Platzhalterzertifikat von einer Zertifizierungsstelle" aus. Weiter klicken.
Sie sollten auf der Testseite keine Informationen hinzufügen müssen. Sie können jedoch bestimmte Aspekte des Codes testen, wenn Sie wissen, was Sie tun. Andernfalls klicken Sie auf Weiter.
Füllen Sie auf der Seite "Veröffentlichungsinformationen" die erforderlichen Felder aus. Machen Sie sich jedoch nicht zu viele Gedanken darüber, was Sie eingeben, da Sie diese App nicht zur Zertifizierung einreichen. Sie sind der einzige, der diese App verwenden wird. (Hier können Sie ein 108 × 108-Symbol und ein 512 × 512-Symbol verwenden.) Klicken Sie auf Weiter, wenn Sie fertig sind.
Wählen Sie auf der letzten Seite für beide Fragen zum Datenschutz "Nein" und aktivieren Sie das Kontrollkästchen "Komplikation". Klicken Sie auf die Schaltfläche "Speichern", wenn Sie fertig sind. Klicken Sie NICHT auf die Schaltfläche "Zur Zertifizierung einreichen".
Sechster Schritt: Testen Sie Ihre neuen Befehle
Wenn alles gut lief, sollten Sie jetzt Ihre neuen Befehle testen können. Vergewissern Sie sich, dass Ihre Kodi-Box eingeschaltet ist, und sagen Sie Folgendes:
"Alexa, bitte das Wohnzimmer, Staffel 1 zu spielen, Episode eins von Friends"
(… Ersetzte dies offensichtlich durch eine Episode und eine Show, die Sie auf Ihrem Computer haben.) Es kann Alexa einen Moment dauern, aber hoffentlich sollte sie antworten und die fragliche Show beginnen. Wenn Sie eine Fehlermeldung erhalten und die Episode nicht abgespielt wird, gehen Sie zurück und stellen Sie sicher, dass Sie alles richtig gemacht haben.
Sie können Alexa fragen, ob Sie neue Episoden haben, sie bitten, die nächste Episode einer Show zu spielen, oder sie sogar dazu verwenden, Kodi zu kontrollieren, so ineffizient wie es auch sein mag („Alexa, bitte das Wohnzimmer anhalten“, „Alexa , bitten Sie das Wohnzimmer nach unten zu navigieren, usw.). Besuche die SampleUtterances.txt
Datei, um alles zu sehen, was Alexa mit dieser Integration tun kann. Wenn Sie jemals einen neuen Ausdruck hinzufügen möchten, der einer dieser Funktionen entspricht, melden Sie sich einfach bei Ihrem Amazon Developer-Konto an und fügen Sie ihn der Liste hinzu, die Sie in Schritt 4 eingefügt haben.
Es ist nicht das Schnellste oder Einfachste, das Sie einrichten können, aber wenn Sie es erst einmal zum Laufen gebracht haben, ist das meiner Meinung nach eines der coolsten Dinge, die Sie mit Ihrem Amazon Echo tun können. Jetzt kann ich fernsehen, während ich in der Küche koche oder wenn die Batterien meiner Fernbedienung leer sind. Dies ist die Art von Leistung, die Amazon Echo entwickelt hat, und obwohl es ein bisschen Arbeit kostet, lohnt es sich.
Probleme haben? Schauen Sie sich diesen Thread in den Kodi-Foren sowie auf der ursprünglichen GitHub-Seite an oder schreiben Sie eine Zeile in unsere Kommentare unten.
Titelbild von Doomu / Bigstock und Amazon.