Raspberry PiでAmazon Echoを自作する方法【完全ガイド】
現在、多くの家庭やオフィスでは、日常のタスクをサポートするためにアシスタントソフトウェアが活用されています。市販のスマートスピーカーにはさまざまなモデルがありますが、実は自分の手で作ることもできるのです。Amazon Developerが提供するAlexaソフトウェアを利用すれば、Raspberry Piを使ってオリジナルのAmazon Echoを構築できます。
用意するもの
このプロジェクトには、以下の機材が必要です。
- Raspberry Pi 3 または Pi 2 Model B と Micro-USB電源ケーブル
- Micro SDカード(最低8GB)―― OSがインストールされていない場合は、「NOOBS(New Out of the Box Software)」という初心者向けの簡単なOSインストーラーがおすすめです。最も手軽なのは、NOOBSがプリインストールされたSDカードを購入する方法です。
- USB 2.0 ミニマイク
- 外部スピーカーと3.5mmオーディオケーブル
- USBキーボード・マウス、および外部HDMIモニター
- インターネット接続(EthernetまたはWiFi)
- Pi 2で無線接続を行う場合は、WiFi無線アダプターが必要です。Pi 3にはWiFiが内蔵されています。
Amazon Developerアカウントの登録
Amazon Developerアカウントをお持ちでない場合は、公式ページで無料のアカウントを作成しましょう。その際、AVS(Alexa Voice Service)の利用規約にも目を通しておいてください。

続けて、プロフィール情報を入力します。

アプリ配信契約(App Distribution Agreement)を読み、同意します。

アプリを収益化するかどうかを選択してください。

Amazon Developerでデバイスを作成する
Amazon Developerアカウントの登録が完了したら、Alexaデバイスとセキュリティプロファイルを作成します。セットアップの過程で「ProductID」「ClientID」「ClientSecret」の3つのパラメータは必ずメモしておきましょう。後ほど再入力が必要になります。
まず、上部メニューから「Alexa Voice Service」を選択します。

「Welcome to Developer」画面が表示されます。

最初の画面では、構築する製品についての情報を入力します。
1. まず、デバイスに名前を付けます。

2. 次に、スペースや特殊文字を含まないProductIDを入力します。
注意:この値は後で必要になるので、必ず記録しておいてください。

3. 製品タイプとして「Alexa-Enabled Device」を選択します。

4. Alexaにはコンパニオンアプリが必要です。この質問には「はい」を選択しましょう。

5. ドロップダウンメニューから「Wireless Speakers」を選びます。
6. 説明欄には「Raspberry Pi Project on Github」と入力します。これはAVS向けの情報であり、他のユーザーには表示されません。
7. 「Touch-initiated」と「Hands-free」の両方のオプションにチェックを入れます。

8. デバイス用の画像をアップロードすることもできますが、ここではスキップして構いません。
9. 商用配信と子供向け製品に関する質問には「いいえ」を選択します。

10. 「次へ」をクリックします。
セキュリティプロファイルの作成
このページでは、プロジェクトのユーザーデータとセキュリティ認証情報を識別するための、新しいLWA(Login with Amazon)セキュリティプロファイルを作成します。
1. 「Create new profile」をクリックします。

2. プロファイル名を入力します。「Alexa Security Profile」のような名前で問題ありません。

3. プロファイルの説明文を入力します。「Alexa Security Profile Description」などでOKです。

4. 「次へ」をクリックします。
5. AmazonがClient IDとClient Secretを自動生成します。これが後で必要になる残りの2つの値です。手元に控えておきましょう。

6. Allowed origins(許可オリジン)とAllowed return URLs(許可リターンURL)を入力します。このプロジェクトではhttpとhttpsの両方のルートを設定するため、「Allowed Origins」フィールドに「https://localhost:3000」と入力します。
7. 「Add」をクリックします。
8. 同じボックスに「https://localhost:3000」も入力します。

9. 再度「Add」をクリックします。
10. Allowed Return URLsについても同様に、以下の2つのURLを入力します。
https://localhost:3000/authresponse https://localhost:3000/authresponse
11. 「Finish」をクリックする前に、ページが以下のようになっていることを確認してください。入力したURLがまだテキストフィールドに残っていないかチェックしましょう。追加済みのURLはグレーの背景で表示されます。

12. 「Finish」をクリックすると、次の画面が表示されます。これでプロジェクトの作成は完了し、インストールの準備が整いました。

Alexaサンプルアプリのクローン
1. ターミナルを開きます。

2. 以下のコマンドを入力します。
cd Desktop git clone https://github.com/alexa/alexa-avs-sample-app.git
認証情報を追加してインストールスクリプトを更新する
インストールスクリプトを実行する前に、Amazonで控えておいた認証情報(ProductID、ClientID、ClientSecret)をスクリプトに書き込みます。
1. ターミナルで以下のコマンドを入力します。
cd ~/Desktop/alexa-avs-sample-app nano automated_install.sh
2. エディタが起動すると、次の画面が表示されます。キーボードの矢印キーで移動し、ProductID、ClientID、ClientSecretの各フィールドを自分の値に置き換えます。

変更後は以下のようになります。
ProductID="Your Device Name" ClientID="amzn.xxxxx.xxxxxxxxx" ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"
3. Ctrl + X を押してエディタを終了します。変更を保存するために「Y」を押し、Enterキーを押します。
インストールスクリプトの実行
スクリプトを実行するには、ターミナルを開いて以下のコマンドを実行します。
cd ~/Desktop/alexa-avs-sample-app . automated_install.sh
スクリプトの実行中に、いくつかの簡単な質問をされます。これは、プログラムをインストールする前にAmazon側で必要な設定がすべて完了しているかを確認するためのものです。

インストールには約30分かかるので、お茶でも飲みながら待ちましょう。
正しくインストールされると、ターミナルウィンドウは以下の画像のようになります。

3つのターミナルウィンドウ
Alexaアプリを実行するには、3つのステップを完了する必要があります。それぞれ別のターミナルウィンドウで実行し、必ず正しい順序で行ってください。
筆者の場合、必要なプログラムがいくつか不足していたため、作業しながら随時インストールしました。同じ問題に直面した方のために、各ステップに補足説明を加えています。
ターミナル1
このウィンドウでは、AVS(Alexa Voice Service)とのアプリ認証を行うWebサービスを起動します。
ターミナルを開き、以下のコマンドを入力します。
cd ~/Desktop/alexa-avs-sample-app/samples cd companionService && npm start
注意:npmはJavaScriptのパッケージマネージャーです。コマンド実行時に見つからない場合は、公式サイトから入手できます。
スクリプトが完了すると、ウィンドウは以下のように表示され、Piがポート3000で待ち受けていることがわかります。

このウィンドウは閉じないでください。以降のステップでも開いたままにしておく必要があります。
ターミナル2
このウィンドウはAVSとの通信を担当します。
別のターミナルウィンドウで以下のコマンドを入力します。
cd ~/Desktop/alexa-avs-sample-app/samples cd javaclient && mvn exec:exec
注意:mvnはApache Mavenの略です。インストールされていない場合は、公式サイトから導入してください。
クライアントを実行すると、「Please register your device by …」というダイアログボックスが表示されます。
「Yes」をクリックします。

ブラウザによっては、接続が安全ではないという警告が表示されることがあります。その場合は「詳細設定」ボタンをクリックし、次の画面で「localhostにアクセスする(安全ではありません)」を選択して先へ進みます。
次に、開発者アカウントの認証情報を使ってAmazonにログインします。
次の画面では、先ほど作成したセキュリティプロファイルを登録するデバイスに使用する許可を求められます。「OK」をクリックしましょう。

すると、「https://localhost:3000/authresponse」で始まるURLにリダイレクトされ、以下のような画面が表示されます。

開いているダイアログボックスに戻り、「OK」ボタンをクリックします。これでクライアントがAlexaデバイスからのリクエストを受け付けられるようになりました。
ターミナルとVoice Serviceのダイアログボックスは開いたままにしておいてください。

ターミナル3
このウィンドウでは、ウェイクワードでAlexaを起動するアプリケーションをインストールします。音声ではなくタッチ操作でAlexaを起動したい場合は、このステップをスキップしても構いません。
新しいターミナルウィンドウを開き、SensoryまたはKITT.AIのウェイクワードエンジンを起動するために、以下のいずれかのコマンドを入力します。
Sensoryのウェイクワードエンジンを使う場合は、以下を入力します。
cd ~/Desktop/alexa-avs-sample-app/samples cd wakeWordAgent/src && ./wakeWordAgent -e sensory
KITT.AIのウェイクワードエンジンを使う場合は、以下を入力します。
cd ~/Desktop/alexa-avs-sample-app/samples cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai
動作確認をしてみよう
ウェイクワードの「Alexa」と話しかけてみましょう。ビープ音が鳴ったら、コマンドを話しかけます。例えば、「Alexa」と呼びかけ、ビープ音を待ってから「今何時?」と聞いてみてください。
正しく応答があれば、あなたのAlexaデバイスの完成です!
さらに活用したい場合は、AmazonのAlexa公式ページでアイデアをチェックしてみてください。このAlexaは、市販のEchoと同等の機能をすべて備えています。
-
Raspberry PiとOctoPrintで3Dプリンターを快適に制御する方法
3Dプリンティングは、初心者にとってハードルが高い趣味に思えるかもしれません。しかし、仕組みさえ理解してしまえば、非常に楽しくやりがいのある趣味へと変わります。入門者の中には、Windows 10で手軽に使えるプラグアンドプレイ式の3Dプリンターを購入したいと考える方も多いでしょう。例えば、Monoprice Select Mini Pro(約250ドル)や、3Dプリントに加えてレーザー彫刻・CNCフライス盤機能も備えたSnapmaker 3in1(約800ドル)などが挙げられます。どちらもエントリーモデルとして優れた選択肢ですが、造形サイズが小さいため、大きなパーツを印刷したくなったとき、す
-
Amazon Echo Dot(時計付きモデル)の設定方法を徹底解説!初期設定から便利な使い方まで
Amazonの最新スマートスピーカー「Echo Dot」第3世代には、時計表示機能を搭載したモデルがあります。本体を囲むバンドの下にLEDディスプレイが組み込まれており、外気温や時刻の確認はもちろん、タイマー設定時にはカウントダウンが点滅表示されます。これらの機能は、通常モデルより10ドル高い価格で提供されています。 しかし、この時計付きの特別なAmazon Echoは、どのようにセットアップすればよいのでしょうか? 実はとても簡単です。この記事では、時計付きAmazon Echo Dotの設定方法を詳しくご紹介します。 時計付きAmazon Echoの設定手順 ディスプレイ付きEchoデバイ