ごきげんよう
この記事は
「するめごはんのVUI・スマートスピーカー Advent Calendar 2018」
の10日目の記事です。
以前、Alexaスキルを作るツールとしてNOIDについてこのアドベントカレンダーで触れました
https://qiita.com/surumegohan/items/a4170515010554e229a0
今回は同じくツールとしてNode-Redを使って挨拶スキルを作ります。
#作り方
作り方と言っても、Qiitaや個人ブログに情報はあふれていると思います。
今回は以下の本に従ってみます。
スマートスピーカーアプリ開発入門 3大スマートスピーカー Amazon Echo Google Home LINE Clova対応
##1.まずはNode-REDのアカウントを作成
##2.次にIBM Cloudのアカウント作成
ライトで大丈夫です。
##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つにはなるのではないでしょうか。
今回は以上です。