フォームを埋めたら”NEXT“ボタンを押して次へ。セキュリティー設定を行う。PROFILE“をクリック。セキュリティー設定のフォーム入力項目はこれだけ。プロファイルの名前を入力。Secret“の二つが生成されてます。URLs”の入力項目が現れるので、それぞれに“http://localhost:3000′′、”http://localhost:3000/authresponse”と入力して”UPDATE”。ちなみに、最後に入力したURL二つは、ラズパイでAlexaSDKをインストールした後に、認証するために必要になります。ID“などはラズパイの設定ファイルに書き込むことになります。ほい!ではAVS-SDKの必須ライブラリインストールもうすでにぐったりしている人もいるかもしれないが、ぐったりするのはこれからだから。いえ、この先、コピペで行けるから気は楽に。Easy.ということで、ここからは、ラズパイのコマンドラインを立ち上げてひたすらコピペ。本当にコピペだけでAlexaのサンプルアプリ動作まで行けてしまうんだけど、先に述べたように「忍耐力」は必要だからね。(あと、公式ドキュメントだけだとハマった部分もあったんだけど、ハマらないようにガイドします。$SOURCE_FOLDER2.Buildツール類をインストールapt-getだけでなく、ソースからmake(コンパイル)しないといけないライブラリ類もあるので。installこの辺りはまあまあ余裕。installこのあたりからいきなりコンパイル時間が長い!ぶっちゃけ、腹筋30回(インターバル30秒)×3セットやっても、全然時間が余ったので、25kgのハンドグリップをニギニギしつつ待つ。installプッシュアップバーを使った腕立て深めで10回×3セットでは時間が余りまくったので、水曜日のダウンタウンみてた。libsqlite3-devapt-getが癒し。インストールできるね。installまだまだ続くよ。ぶっちゃけ、夜から構築作業し始めたから、make放置して寝ようかと思った。installここらあたりになってくると、なんのライブラリを入れているのかよくわからない。install記憶が定かではないが、確かこの辺りでお風呂に入ったけど、出てきてもまだmake終わってなかった。installプラグインのGoodってなんやねん。installプラグインのBadってなんやねん。待ち疲れて、make放置して寝た。installインプットされた音声を録音したり再生したりするライブラリらしい。SDKでは、話しかけた音声をストリーミングで解析するのではなく、一度音声ファイルに保存して、保存したファイルを音声解析するのかな。"Sensory"これ結構重要なんだよね。Siriって、ホームボタンを押して音声入力モードにしてから話かけるわけじゃん。音声入力インターフェースって、なんらかのトリガーで音声入力モードにすることで音声認識をスタートさせるわけだけど、Siriはホームボタン長押しがトリガー。Alexaはその起動に物理的なボタンではなくてAlexaと呼びかける「音声」をトリガーにしている。実はこれって結構大変で、それを担ってくれるのがSensory。(間違ってたらごめん。ldconfigapt-getは癒し。-DCMAKE_INSTALL_PREFIX=$LOCAL_BUILD3.設定ファイルに設定を書き込む(ここどハマりポイント)viでもvimでもnanoでもなんでもいいですが、設定ファイルを編集します。設定ファイルは以下のパスに。~/BUILD/Integration/AlexaClientSDKConfig.jsonちなみに、ここは私がどハマりしたポイントです。設定ファイルの項目に何を書き込めばいいかわからない部分がいくつかあって悩んだ。(公式ドキュメントに書いていない。}まず"authDelegate"内の値。"refreshToken"は、後の認証作業で自動的に書き込まれるので今は空欄にしておいてOK。(これは公式にそう書いていたので安心。)"clientSecret"、"clientId"の二つは、上記ラズパイのデバイス登録したときに表示された値を書き込みます。Developersで登録したデータをあちこち探してもそんな値はない。ID"の値を書き込んでおく。)次に、"deviceSerialNumber"。Developersのデータを見ていても「それらしい」雰囲気のものすらない。どんな値を設定すればいいのかさっぱりわからないので、適当に”12345678”といれたら通った。(のちに、何処かのサイトでIDはなんでもいいと書いていた。)次に、"alertsCapabilityAgent"内の値。"databaseFilePath"は、データベースのファイルパスなんだけど、とりあえず任意の場所でOK。ex./home/pi/alexa/database.dbデータベースがなければ、そのパス上にDBが作成されるので、ご安心を。"alarmSoundFilePath","alarmShortSoundFilePath","timerSoundFilePath","timerShortSoundFilePath"これらの値の意味がわからない。意味がわからないので、空でいいや、と全部の値を空文字に設定してコンパイルしたら以下のようなエラーがでるし。MediaPlayer:doStopFailed:reason=gstElementGetStateFailedつまり、上記4つの値は空にはできないと思い、公式githubのissueを手当たり次第に当たっていたら、アラームとタイマー用の音声ファイルを設定しないといけないってことが判明。https://developer.amazon.com/public/solutions/alexa/alexa-voice-service/content/alexa-voice-service-ux-design-guidelinesここからタイマーとアラームの4つの音声をラズパイ上の任意の場所にダウンロード。もって、4つのファイルパスを上記の設定ファイルに書き込む。installまたこのmakeが長い。AuthServer/AuthServer.py上記コマンドで、ラズパイ内にWEBサーバーが立ち上がる。すると、ページがリダイレクトされて、Amazonの認証ページに進むので認証ボタンを押す。認証に成功すると以下のような画面が現れて、先ほどの設定ファイルに"refreshToken"が自動的に書き込まれる。$LOCAL_BUILD/modelsAlexaのコマンドが表示されAlexaがスタートした!早速、Alexaに話しかけてみる。help."私:(よし!やったー!うまくいったどー!)いやー、ラズパイちゃんにAlexaさんが載って、ちゃんとお返事してくれています!難しいことはしていないけど非常に時間がかかっただけに、Alexaさんの反応を聞けて嬉しい限り。この先、話しかけるとなぜかアプリが落ちる。now?"とか、Alexaさんと別の会話をしようとすると一気に機嫌を損ねてしまうようで。急にブチ切れて、落ちちゃう。公式のGithubにもissueが結構溜まってきてるし、Sampleアプリの不具合なのか、私の設定がどこかでミスっているのか・・・。今回は一旦この辺りにしておいて、近いうちに修正していきます。おまけ(費用のお話)昔買ったラズパイを使いまわしているので、現在の価格と相違があるかもしれませんが、予算的なことを。ちなみに、ラズパイ本体以外は、全部格安のもので揃えました。※今回はリモートディスクトップ(VNC)を使ってラズパイを操作したので、モニター等は使っていません。日常日記Daisuke日本一大きな大仏って奈良?鎌倉?よく「奈良の大仏」と「鎌倉の大仏」どちらが大きい?というクイズがあったりする。答えはどっち?正解は、奈良の大仏さん。奈良の大仏(東大寺の大仏さん)が、14.98m(約15m)。鎌倉の大仏(高徳院の大仏さん)が、11.31m(約11m)。いうことで、奈良の大仏さんのほうが、3mも大きい。奈良の大仏さんデカいねー。東大寺(奈良)の大仏さん、「坐像(座っている大仏)」で日本一大きくて有名なわけです。(「立像(立っている仏像)」で一番大きいのは牛久大仏120mだけど。)小学校の修学旅行で奈良の大仏さんを見たときは、子供ながらに「でかい!すごい!」って思ったよね。それ以降ずっと「大仏といえば奈良の大仏さん」だったわけだけど、先日、その常識に対して考えさせられる衝撃の事実に直面した。福井県の大仏さんそれは、2017年のゴールデンウィークのど真ん中。まで旅をした日のこと。(博物館の中で動くティラノサウルス)恐竜博物館からの帰り、まだまだ時間があったのでのんびりとお土産もの屋さんに寄ったりしていたら、お土産のパッケージとか、お店に設置している観光マップとかにちょくちょく「大仏」って言葉でてくる事に気がついた。「日本一の大仏」って書いている。「福井県の大仏」って全く聞いたこと無いよな〜。地図を見ると「恐竜博物館」から近いことがわかったので、ついでに大仏さんのお姿を拝見しに行ってみることにした。大仏さんがあると言われる「大師山清大寺(全く聞いたことがない)」に着くと、とんでもなく大きな駐車場。500〜600台は軽く入るのではないか。その広さを前にして、直感的に「自分が知らなかっただけで、これは高名なお寺に違いない!」と思ってワクワク。駐車場に止まっている車は1台・・・。時は、ゴールデンウィークのど真ん中。観光客って少ないのかな〜」なんて思いつつお寺の前の「門前町」の入り口まで歩いていく。うん??・・・頭が混乱する。京都の清水寺の二年坂・三年坂のように「お土産物屋が軒を連ねている」というイメージはもともと全くなかった。お寺への入り口かあるのかと思ったが、意外とそうでもなく、予想外に「お土産物屋さんが軒を連ねる門前町」が目の前にある。参道の両側にお店がたくさんある・・・。お店が一軒も開いてない。すべてのお店のシャッターが下りている。今日は町全体の定休日??定休日にきちゃったかな?あまりにも気になって、一軒づつよくよく観察してみると、どうもお店の看板が「裏返し」になっている。確実に、全店閉店(廃業)している?これだけのお店があったことを考えると、昔はたくさんの参拝者で賑わっていたのかもしれない。「何かの理由」によって、どうやら今の門前町は「廃墟化」しているようだ・・・。駐車場には車が一台しかなかったが、この参道を歩いているのも私一人。:「拝観料500円になりますー。私:「500円ですね。第一寺人:「ごゆっくりどうぞー。聞ける雰囲気ではなかった。「なぜ門前町がこんなに荒廃してしまったのか・・・?」なんて。いえ、騙されているわけではない。目の前には素晴らしい巨大な仁王門が。仁王門の中には、東大寺にも負けるとも劣らない巨大仁王像が左右に二体どーーん。(参拝者が私しかいないので、大きさ比較ができずわかりにくいがとにかくデカイ。)そして、仁王門をくぐると、はるか先に超巨大大仏殿がどーーん。(なんども言う、人がいないので大きさがわかりにくが、デカイ、広い。)覚悟は決めて歩き出す。なれば、もはや大仏とタイマンである。中に入ると、大仏さん登場。(大仏さんの写真撮影をしても良いのかどうかわからなかったので、パンフレットの写真。そのどデカイ大仏の周りを1メートルくらいの仏像が無数に配置されている。パンフレットを見ると、無数の仏像は1,281体あるらしい。千体以上の仏像・・・まさに、「無数の仏像」。パンフレットを見ると、仏像の大きさが17.00mとなっていて、「奈良の大仏よりも大きい」と書いている。なんと、本当に日本一大きな大仏である。わけが分からなくなってくる。日本一の大仏は「奈良の大仏」だと学校で習って育ってきた。私は、奈良の大仏よりも大きな大仏と現実に対峙している。いまここに日本一大きな大仏が存在し、しかし、学校では奈良の大仏が日本一であると教えられる。考えを巡らせつつ、パンフレットを開くと大仏殿の近くに五重塔があると書かれている。「京都の東寺の五重塔よりも大きい」と、、、つまり日本一大きな五重塔らしい。