リモコンは 1950 年当時のものです。Kodi メディア センターと Amazon Echo をお持ちの場合は、適切な位置に配置された音声コマンドでお気に入りの映画や番組をすべて再生できます…少しセットアップするだけであれば。
私たちの意見では、 Amazon Echo は スマート ホームの最もクールな部分の 1 つです。携帯電話で照明、ブラインド、テレビを制御するのは素晴らしいことですが、声で制御できるのはまさに未来です。私は懐疑的でしたが、すぐに感銘を受け、もっと知りたくなりました。
テレビの電源をオンにできるのは素晴らしいことですが、私が本当に望んでいたのはメディア センターを制御できることでした。 「フレンズの次のエピソードを再生して」と言うと、ライブラリが検索され、最後に見たものを確認して、次のエピソードの再生を開始できるようにしたいと考えていました。そして、少し検索した結果、 ジョー・イプソン という名の進取的なプログラマーがすでに それを行っていること がわかりました。
これには少しセットアップが必要で、最初は非常に恐ろしいように見えます。 Web サーバーを作成し、GitHub からコードをプッシュし、コマンド ラインから少しの作業を行う必要がありますが、これを立ち上げて実行するためにプログラマーである必要はありません。 Ipson はほとんどすべての面倒な作業を行ってくれるので、必要なのは彼のコードをコピーし、いくつかの部分を編集して、適切な場所にアップロードするだけです。このガイドに忠実に従えば、すぐに使い始めることができるはずです。
注: 最も信頼性が高いため、このチュートリアルではアマゾン ウェブ サービスを使用しています。 Ipson によれば、AWS の新規ユーザーの場合、約 1 年間は無料でスキルを実行でき、その後は月額 20 セント未満の料金が発生します。本当に無料のものが必要な場合は、このガイドのステップ 2、3、4 を Ipson のドキュメントにある Heroku の手順 に置き換えて、代わりに Heroku を使用してセットアップできます。ただし、信頼性が少し低く、使用中に一部のリクエストがタイムアウトする可能性があります。 可能な限り最高のエクスペリエンスをお求めの場合は、AWS をお勧めします。月額わずか 20 セントの価値は十分にあります。
ステップ 1: Kodi Web サーバーを準備する
これが機能するには、Kodi に Web からアクセスできるサーバーが必要です。ありがたいことに、これは Kodi に組み込まれていますが、スムーズに機能する前に、ルーターの一部のポートを転送し、他のタスクを実行する必要がある場合があります。
メディアセンターでKodiを開き、「システム」>「サービス」>「Webサーバー」に進みます。 Web サーバーがまだ有効になっていない場合は有効にし、ユーザー名とパスワードを指定します。必ず他のサービスで使用していないパスワードを使用してください。
自宅のパブリック IP アドレス も必要です。ただし、これは変更される可能性があるため、 Dynu などのサービスを使用して動的ドメイン名にサインアップすることを強くお勧めします。まだお持ちでない場合は、続行する前に こちらのガイドに従ってください 。
最後に、Kodi ボックスのポート転送を設定する必要があります。これはルーターによって異なりますが、詳細については 、こちらのガイドをご覧 ください。外部ポートをKodiボックスのローカルIPアドレス(私の場合は192.168.1.12)とローカルポート(デフォルトでは8080)に転送するだけです。
注: Kodi のローカル ポートはデフォルトで 8080 ですが、任意のポートに変更することもできます。また、複雑な問題が発生しないように別の外部ポートに転送することもできます (他のアプリがポート 8080 を要求する可能性があるため)。このチュートリアルでは 8080 を使用していますが、別のものを使用する場合は、ポート 8080 のすべてのインスタンスをここで選択した外部ポートに置き換えるだけです。
すべてがうまくいけば、Web ブラウザを開いて次のように入力することで、Kodi の Web インターフェイスにアクセスできるようになります。
my.dynamic-domain.com:8080
ここで、
my.dynamic-domain.com
は動的ドメインの URL で、
8080
Kodi で設定したポートです。それが機能しない場合は、Kodi、動的ドメイン、ポート転送がすべて適切に設定されていることを確認してください。
ステップ 2: アマゾン ウェブ サービス アカウントを設定する
次に、アマゾン ウェブ サービス (AWS) でアカウントを設定する必要があります。 このページ に移動し、「AWS アカウントの作成」をクリックします。プロンプトが表示されたら、Amazon 認証情報を使用してログインします。 AWS アカウントをまだお持ちでない場合は、アカウントを作成するために連絡先情報を入力するよう求められます。上部にある「個人アカウント」を必ずチェックしてください。
ウィザードの残りの手順を実行します。クレジット カード情報も入力する必要がありますが、心配する必要はありません。先ほども言いましたが、たとえ料金が請求されたとしても、高額な料金が請求されることはありません (特に最初の 12 か月間)。
電話番号で本人確認を行い、サポート プラン (無料のベーシックをお勧めします) を選択した後、画面の右隅にある [サインアップを完了する] ボタンをクリックします。するとAmazonがログインします。
次に、 [Identity and Access Management] ページ に移動し (必要に応じて AWS に再度ログインし)、左側にある [Users] タブをクリックします。 「ユーザーを追加」ボタンをクリックします。
任意のユーザー名で新しいユーザーを作成します。 「プログラムによるアクセス」ボックスにチェックを入れ、「次へ: アクセス許可」をクリックします。
次に、権限を設定するように求められます。 「既存のポリシーを直接アタッチ」をクリックし、「AdministratorAccess」を検索します。 AdministratorAccess オプションをチェックし、「次へ: 確認」をクリックします。
ユーザーが以下の画像のようになっていることを確認し、「ユーザーの作成」をクリックします。
次のページを閉じないでください。ここでアクセス キー ID とシークレット アクセス キーを取得する必要があります (シークレット キーを表示するには、[表示] をクリックする必要があります)。このページを離れると秘密キーを再度取得できなくなるため、安全に保管するためにそれらをテキスト ファイルにコピーしてください。
これらを書き留めたら、そのウィンドウを安全に閉じることができます。
ステップ 3: Python 2.7 をインストールし、変数を設定する
Ipson のコードを AWS にプッシュするには、コンピューターに Python 2.7 がインストールされている必要があります。このチュートリアルでは Windows を使用しますが、これは macOS や Linux でも同様に実行できるはずです。
Windows に Python をインストールするには、 Python のダウンロード ページに移動し 、Python 2.7 をダウンロードします。他の Windows プログラムと同様にインストーラーを実行します。 Python のインストーラーに付属のツールが必要になるため、デフォルトの選択を使用します。
次に、 ここをクリックして Ipson のコードをダウンロードします。ハードドライブのどこかにある ZIP ファイル内の kodi-alexa-master フォルダーを解凍します。
インストールしたら、コマンドラインを詳しく見てみましょう。キーボードの Windows + X を押して、「コマンド プロンプト」を選択します。 (Mac および Linux ユーザーは、それぞれのターミナル アプリを開く必要があります)。そこから、次の 2 つのコマンドを順番に実行します。
C:\Python27\Scripts\pip.exe awscli をインストールします
C:\Python27\Scripts\aws 構成
これにより、AWS コマンドライン ツールがインストールされ、設定ツールが起動します。
プロンプトが表示されたら、アクセス キー ID とシークレット アクセス キーを貼り付けます。デフォルトのリージョン名を尋ねられたら、
us-east-1
(米国にいる場合) または
eu-west-1
(ヨーロッパにいる場合) と入力します。デフォルトの出力形式は空のままにすることができます (Enter キーを押すだけです)。
次に、次のコマンドを実行します。
C:\Python27\Scripts\pip.exe 仮想環境をインストールします
これは後でインストールする必要があります。
次のコマンドを使用して、kodi-alexa-master フォルダーに CD で移動します。
CD C:\Users\Whitson\Documents\Code\kodi-alexa-master
明らかに、ファイル パスを kodi-alexa-master フォルダーを保存した場所へのパスに置き換えます。
しばらくウィンドウを開いたままにしておきます。すぐに戻ってくる必要があります。
まず、Ipson のコードを Kodi および AWS セットアップで動作させるには、構成ファイルでいくつかの変数を定義する必要があります。
このテンプレート
をダウンロードし、名前を
kodi.config
に変更し、kodi-alexa-master フォルダーに保存します。
Notepad++
などのコード対応のテキスト エディタで開き、次の 4 つの変数を編集します。
住所 =
ポート =
ユーザー名 =
パスワード =
address
変数はステップ 1 で設定した動的アドレス (例:
my.dynamic-domain.com
)、
port
ステップ 1 で使用したポート (変更しない限り、おそらく 8080)、
username
と
password
ステップ 1 の認証情報になります。
家に複数の Kodi ボックスがある場合は、この構成ファイルを使用して、Alexa でそれらを個別に制御することもできます。このガイドでは説明しませんが、 Ipson のドキュメント (ここ) で手順を見つけることができます。
完了したら、ファイルを保存し、コマンド プロンプト ウィンドウに戻ります。
ステップ 4: コードを AWS にプッシュする
これらの変数を配置すると、コードをデプロイする準備が整います。コマンド プロンプトに戻り、次の 2 つのコマンドを実行します。
C:\Python27\Scripts\virtualenv venv
venv\Scripts\activate.bat
これにより、新しい「仮想環境」が作成され、アクティブ化されます。
表示される venv プロンプトから、次のコマンドを実行します。
pip install -r 要件.txt
pip インストールのパッケージ化
pip インストール ザッパ
これにより、コードのデプロイに役立つ Zappa というツールがインストールされます。
次に、Zappa をセットアップする必要があります。走る:
ザッパ初期化
ウィザードに従って操作します。すべてデフォルトを受け入れてください。
最後に、次を実行します。
ザッパデプロイ開発
これにより、コードが Lambda にデプロイされます。数分かかるので、そのまま実行してください。最後に URL が表示されます。次のステップで必要になるため、これをコピーしておきます。
最後に、次の手順でも結果のファイルが必要になるため、次のコマンドを実行することをお勧めします。
pythongenerate_custom_slots.py
このスクリプトを実行するときは、映画、番組、その他のメディアの名前をライブラリから取得するため、Kodi ボックスがオンになっていて実行されていることを確認してください。
もうすぐそこです!あとは、このコードに Alexa スキルを設定するだけです。
ステップ 5: Alexa スキルを作成する
Ipson のコードを Echo に接続するには、そのコードを使用する Alexa の「スキル」を作成する必要があります。このアプリは誰にも配布されず、Echo で使用するために自分の Amazon アカウントに接続され、永久に「テスト モード」のままになります。
まず、無料の Amazon 開発者アカウントをセットアップします。 このページ にアクセスし、Amazon アカウントでログインし、開発者アカウントに登録します。必須フィールドに入力し、規約に同意し、アプリを収益化するかどうかを尋ねられたら「いいえ」と答えます。
ログインしたら、上部のツールバーの「Alexa」に進みます。 「Alexa Skills Kit」の下にある「始める」ボタンをクリックします。
次に「新しいスキルを追加」ボタンをクリックします。
スキルに名前を付けます — 私は「Kodi」と名付けました — そして、呼び出し名を付けます。これは、コマンドを呼び出したいときに言うことです。たとえば、私の呼び出し名も「リビング ルーム」です。つまり、メディア センターに対して Alexa コマンドを与えるには、「リビング ルームに… を頼む」と言う必要があります。
私の経験では、短い呼び出し名よりも長い呼び出し名の方がうまく機能します。私はしばらく「Kodi」を使用していましたが(「Kodiに…を依頼する」)、Alexaが映画を見つけるのに時々問題がありました。理由はわかりませんが、「リビング ルーム」のような長い呼び出し名は、私にとってはほぼ完璧に機能します。したがって、音節が少ないものを選択してください。
完了したら、「次へ」をクリックします。
次のウィンドウの中央にある「スロット タイプの追加」ボタンをクリックします。
SHOWS
という名前の新しいスロットを作成します。 kodi-alexa-master フォルダーに戻り、Notepad++ で SHOWS ファイルを開き、Amazon のページのボックスにショーをコピーします。これにより、Alexa が音声で指示した番組を認識できるようになります。
あるいは、ボックス内にテレビ番組を 1 行に 1 つずつリストすることもできます。 Kodi ライブラリにすべてのショーを追加する必要はありませんが、適切な数のサンプルがあることは良いことです (20 または 30 がかなり良いことがわかりました)。
完了したら、「OK」をクリックします。
次のスロット タイプでこのプロセスを繰り返します: MOVIES、MOVIEGENRES、MUSICARTISTS、MUSICALBUMS、MUSICSONGS、MUSICPLAYLISTS、VIDEOPLAYLISTS、および ADDONS (これらのいずれかの情報がない場合は、とにかくスロット タイプを作成します –Ipson のコードではそれが必要です) –ボックスに「空」と記入するだけでも問題ありません。)
繰り返しますが、これらのスロットにはすべての番組、映画、アーティストが必要なわけではないため、ライブラリに新しい映画を追加するたびにスロットを更新する必要はありません。それぞれに適切な数の例があると便利です。
9 つのスロット タイプをすべて作成したら、kodi-alexa-master フォルダーに戻ります。 speech_assets フォルダーを開き、
Notepad++
などのアプリで
IntentSchema.json
ファイルと
SampleUtterances.txt
ファイルを開きます。
IntentSchema.json
ファイル内のすべてのテキストを選択し、Amazon Developer Web サイトの「Intent Schema」ボックスに貼り付けます。
SampleUtterances.txt
ファイルに対してこのプロセスを繰り返し、[Sample Utterances] ボックスにテキストを配置します。
完了したら、「次へ」をクリックします。インタラクション モデルの構築には少し時間がかかる場合があります。
次のページで、エンドポイント タイプとして「HTTPS」を選択し、ステップ 4 の最後で取得した URL を貼り付けます。地理的地域 (北アメリカまたはヨーロッパ) を選択し、アカウントリンクで「いいえ」を選択します。 「次へ」をクリックします。
次のページで、「開発エンドポイントは、認証局からのワイルドカード証明書を持つドメインのサブドメインです」を選択します。 「次へ」をクリックします。
[テスト] ページに情報を追加する必要はありませんが、何をしようとしているのかがわかっていれば、コードの特定の側面をテストできます。それ以外の場合は、「次へ」をクリックします。
[発行情報] ページで、必須フィールドに入力します。ただし、このアプリを認定のために送信するわけではないため、入力内容についてはあまり心配する必要はありません。このアプリを使用するのはあなただけです。 ( と があります。) 完了したら、「次へ」をクリックします。
最後のページで、プライバシーに関する質問に対して両方とも [いいえ] を選択し、[コンプライアンス] ボックスをオンにします。完了したら、「保存」ボタンをクリックします。 「認定のために送信」ボタンをクリックしないでください。
ステップ 6: 新しいコマンドをテストする
すべてがうまくいけば、新しいコマンドをテストできるようになります。 Kodi ボックスがオンになっていることを確認し、次のようなことを言ってみてください。
「アレクサ、リビングルームで『フレンズ』のシーズン 1、エピソード 1 を再生するように頼んで」
(…明らかに、それをマシン上にあるエピソードと番組に置き換えます。) Alexa には少し時間がかかるかもしれませんが、うまくいけば、彼女が応答して問題の番組の再生を開始するはずです。エラーが発生してエピソードが再生されない場合は、戻ってすべてが正しく行われたことを確認してください。
Alexa に新しいエピソードがあるかどうか尋ねたり、番組の次のエピソードを再生するように依頼したり、たとえ非効率的であっても、Alexa を使用して Kodi を制御したりすることもできます (「アレクサ、リビングルームに一時停止してもらって」、「アレクサ」 、リビングルームに下に移動するよう依頼してください。」など)。この統合で Alexa ができることをすべて確認するには、
SampleUtterances.txt
ファイルをチェックしてください。これらの機能のいずれかに対応する新しいフレーズを追加したい場合は、Amazon 開発者アカウントに再度ログオンし、ステップ 4 で貼り付けたリストにそのフレーズを追加します。
これはセットアップが最も速く、簡単な方法ではありませんが、一度機能させると、Amazon Echo で実行できる最もクールな方法の 1 つになると思います。これで、キッチンで料理をしながら、またはリモコンの電池が切れたときでもテレビを見始めることができます。これは Amazon Echo が持つように設計された種類のパワーであり、多少の手間はかかりますが、それだけの価値は十分にあります。
お困りですか? Kodi フォーラムのこのスレッド や 元の GitHub ページ をチェックするか、以下のコメントに一行入力してください。
タイトル画像は doomu /Bigstock および Amazon より。





