Amazon Echoを購入することができたので、せっかくなのでSkillをつくってみようかなと。
アドベントカレンダーですけど、とくにネタっぽいというわけでもなくとにかくユルくやります
どうせなら、自分が使いたいようなもの作ろうかなと思った次第です。
寒くて余計に億劫になりがちな運動、そのモチベーション上げてくれるSkillあったらうれしいのは?!
よっしゃ、筋トレに使えそうなスキルつくろ!
…もうありました
こまった。
なお、現在この投稿日の前日です。
サクッと実装できるものつくってみます!
やったこと
自分の言ったことに対して、とある返答をしてくれる機能を実装してみました。
・しんどいなぁ…ていうとき、キーワードで話しかけたら返答してくれる内容
※ちなみにAlexaになにかしら返答くれる機能は既にあります。
Amazon alexa skill の超簡単な構成
- フロント側:実際の音声インターフェイス→Alexa Skills Kit
- バック側:入力された音声指示からの処理して返す→Lambda
開発画面
Skillそのものの開発手法は既にいろんな方が紹介しているので省略します。
今回は自分でつくったところだけ。
Amazon alexa skill
対話モデル作成用のGUIが用意されているので、作業がやりやすい!
Lambda
alexa skills kitをトリガーにしてLambda関数をうごかす仕組み。
今回の関数は Node.js
で書きました。
音声入力があった場合にLaunchRequest
が動作し、単純に返答するだけの処理です。
とってもシンプルですね!
ちなみにpythonだとより複雑な処理も書けるようですが今回はパス
いざテスト
alexa skills kitのテストシミュレータ画面です。
エラー発生
Unhandled
のイベントが発生してしまい、なおかつそのハンドラが存在しないので怒られていた。
修正
Unhandled
を追記する。(あとalexaのアクションをask
からtell
に変更)
実機でも試してみる
Skills Beta Testing を使う
公開情報や、プライバシーとコンプライアンス情報とかを設定すると実際に公開しなくても
ベータテストとして、メール等で招待したユーザーのみ実機での動作確認が可能となる機能です。
招待されると、Amazon Echo(alexa)の設定画面はこんな感じ。アイコンの画像は適当の極みです。
ちなみに、Androidスマホ上からはうまくこの画面に飛ばなかったので、PCのブラウザ上で開きました。
「スキルを有効にする」と、手持ちのEchoで使えるようになります。(画像は既に有効化済み)
完成
実際に話しかけて、応答してくれる動画を載せようかと思ったのですが、自分の声が入るのが嫌なので辞めました
でも、ちゃんとEchoは応えてくれたので満足です。
感想
alexaのskill開発はとても簡単。
もっと複雑な処理の場合、pythonでなら実現できそう。
python、もっと勉強しようかなと思いました。
なお、今回作ったSkillは公開しない予定です
本開発作業はAWSやAmazon Developer Servicesのアカウント作成の工程から始めて、実機テスト完了までかかった時間がタイトル通り、大体5時間くらいでした。集中力途切れまくりでした。
最後に、ちょうど半額セールがはじまったのでgoogle home miniも買いました。
こちらもどんなものか楽しみです