batoo3の備忘録

プログラミング学習のアウトプットをぼちぼち

Raspberry PIにAVSを入れてやろう計画!その1

AlexaをRaspberry PIに入れてやろう計画!

Alexaの搭載されたスマートスピーカーなどの端末は、スキルを有効にすることでゲームや機能追加などが行えるのはご存知の通り!

 

今回は、Alexa自体をRaspberry PIに入れる。つまりAlexa Voice Service(AVS)を使い、ラズパイをオリジナルのスマートスピーカーとして動作できればいいなという感じからスタートしました。 最終的には独自のウェイクワードで起動させたい。

 

f:id:batoo3:20180924164547j:plain

さて、こちらが我が愛機のRaspberry PI ~batoo Edition~ (ただ本体に3.5inchディスプレイがついているだけ)。こいつにAVSを入れていきます。

 

ただ入れるだけでは面白くないので、ウェイクワードエンジン(WWE)を変更して独自の単語で起動できるようカスタマイズしてやりましょう。

 

AVSをRaspberry PIに入れる際の下準備など

とりあえず、ラズパイにOSは以前入れていたものを放置していたのでアップデート。Raspberry PIにAVSを入れる前には、開発者コンソールから必要な項目を登録をしておく必要があります。

 

この辺りは、Twitterで先にいただいていた@zono_0さんの情報が大変分かりやすかったです!ありがとうございます!

今回ラズパイ本体へのSSH接続の項目は、ネット環境という諸事情からパス。小さいながらもディスプレイついてるので、それを見ながら直接ターミナルにBluetoothキーボードでちまちま打ち込んでいく感じで作業しました。

 

最後の認証方法が変わっている!?

ステップが多いかもしれないけど、順を追えばなんということはないもの。ここまででAVSを使うための端末の登録など、すべて完了!あとはサンプルアプリが実行できるようにセットアップスクリプト(setup.sh)を実行するだけ!

 

しかし、セットアップスクリプト完了後。端末を認証するスクリプト(startauth.sh)が生成されない。調べてみると、認証方法に変更があった模様。

 

認証はサンプルアプリ実行時に出てくるURLから行う

どうやら、サンプルアプリ(startsample.sh)を起動すればいいそうな。


サンプルアプリを起動すると、以下の内容がコンソールに表示される。

######################################################
#       > > > > > NOT YET AUTHORIZED < < < < <       #
######################################################

############################################################################################
#     To authorize, browse to: 'https://amazon.com/us/code' and enter the code: {XXXX}     #
############################################################################################

 

このURLにアクセスするとログイン画面が表示されるので、端末をAVS製品として登録したアカウントでログインしちゃいます。

 

するとコード入力を求められるので、同じく表示されているcodeを入力すると認証が通ります…

 

えっと…。通るはずなんですが、なぜかIn Limited Mode(制限モード)で動作しました。

 

指定すべきクライアントIDが以前とは違う

これについても、変更があったようです。

 

AVSに登録した商品詳細から、セキュリティプロファイル→他のデバイスやプラットフォームとたどり、クライアントID名の欄に任意の名前を入力。

 

これで自動生成されるIDをクライアントIDとして設定すると、ようやく完全版としてサンプルアプリを動作させることができました。

 

とりあえず、今できているのはここまで。随時、テスト中なので進んだら進捗報告します!厄介な問題としては、マイクが反応しないという…。

 

前途多難。でも、頑張って目的達成を目指すぞ!