Node-REDを使ってAlexaスキルを創る
この記事は ADVENTARの 「するめごはんのVUI・スマートスピーカー Advent Calendar 2018」 の10日目の記事です。
以前、Alexaスキルを作るツールとしてNOIDについてこのアドベントカレンダーで触れました
今回は同じくツールとしてNode-REDを使って挨拶スキルを作ります。
作り方
作り方と言っても、Qiitaや個人ブログ等に情報はあふれていると思います。
今回は以下の本に従ってみます。
スマートスピーカーアプリ開発入門 3大スマートスピーカー Amazon Echo Google Home LINE Clova対応
1.まずはNode-REDのアカウントを作成
2.次にIBM Cloudのアカウント作成
https://www.ibm.com/cloud-computing/jp/ja/lite-account/
ライトで大丈夫です。
3.IBM Cloudにログイン
ここで、アカウントIDはメールアドレスでログインできます。
4.何も考えないと一部英語になる
本の通りに進めていけば問題ないですが、何も考えないでポチポチやっていくと、画面の一部が英語になります。
が、特に躓くような英単語はないと思います。
5.作成できる画面
商業誌の内容をそのままは書けないのですが、以下のような画面になります。
話しかけられたら、インテントの種類を判別して起動時はLaunchRequestなのでそのまま挨拶をする。 それ以外はインテントの場合分けをswitchをかませて対応を分岐させ、応答を返したらHttpのResponseにつないであげます。
6.Alexa Consoleもほぼ通常通り
Node-REDで作成したインテント名で、挨拶のためのインテントを作成してあげます。
ただし、エンドポイントはLambdaではないので、Node-REDで作成したURLをWebhookとして指定します。
7.後は話しかけるだけ
きちんと動きます。
もし、「応答に時間がかかっている」というエラーになった場合は、Node-REDの画面で、線がすべて結びきれているか確認してみましょう。 JSONの作成はできていても、レスポンスを返すようになっていない場合があります。
まとめ
Node-REDでもスキル作成はできますし、本を参考にすれば、Node-REDもAlexaも初体験だったとしても、ぜいぜい2~3時間で作成できると思います。
※Amazonアカウント作成で躓く場合は別
Alexaのスキルをつくることに特化するならNOIDの方が断然楽だと思います。 ただ、Webhookとして、もっと汎用的にいろいろなことをやりたいとなると、Node-REDは選択肢の1つにはなるのではないでしょうか。
今回は以上です。