前回と同様のAlexa関係となります
amazon Alexa と、esp8266連携で
custom Skill を追加し、
今回も、echo系の代用品は、echosim.io(モバイル版chrome) を使用しています
デモは、
設置場所のIoT センサー値を、Alexa に読み上げ実行してもらうように
カスタマイズしています。
会話の例:
呼ひかけ: [ask Sensor to check ]
Alexa : [ok, temperature is 17 degree, and humidity is 44 % , now time is 10 hour 48 minute. ]
*1 ) 少し長めですが。。
後半の、日本時刻も含む内容も応答内容に含まれていますが、
おまけです。
*2) AWS 使う場合は無料枠もありますが、原則は従量課金となりそうですので、予算面ではご注意下さい。
# Youtube
# 今回の custom Skill の構成
alexa は拡張方法として、
Skill Kit が利用可能で、この場合 問合せ系の機能で
custom Skill を使っています。
custom Skillから、Lambda function 呼出までは、事例でよくありそうでしたが、
今回は IoT連携部分は、Lambdaから Rest-APIで、ec2などのweb serverから
センサー値を取得し、alexa に渡してもらいます。
センサー値は事前に esp8266から、web serverのストレージ側に定期更新させておき、
最新データを、alexa に出力可能な構成としています。
*) esp8266の周辺センサはdht11 で、温度/湿度が計測可能でクラウド連携も可能
# code
公式ヘルプや、先人様の記事を参考にしています。
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/developing-an-alexa-skill-as-a-lambda-function
*) 環境面は、下記にログインして作業が必要です。
alexa Skill Kit : developer amazon ( developer.amazon.com )
Lambda : AWS ( aws.amazon.com ) のマネジメントコンソール
(1) 参考のサンプル, node.js版
https://github.com/amzn/alexa-skills-kit-js
helloWorld:
samples/helloWorld/ --カンタンな[hello world] 応答するサンプル、
設定手順や、コードが参考になりました。
[ ASK/ custom Skill 設定 ]:
name : helloWorld
InvocationName : hello world
*) alexa の呼出に関係するキー単語
Interaction model/ intent Schema:
https://github.com/amzn/alexa-skills-kit-js/blob/master/samples/helloWorld/speechAssets/IntentSchema.json
Interaction model/ sample Utterances:
https://github.com/amzn/alexa-skills-kit-js/blob/master/samples/helloWorld/speechAssets/SampleUtterances.txt
*) custom Skill を呼出す、単語パターンみたいなもの?
configuration:
endPoint: Lambda functionを呼び出す指定が必要。
[ Lambda function ]
src/
下のコードを zip圧縮して、デプロイしておきます
テストは、echo系デバイス/ /echosim.io で使用可能です。
tell, Hello world to say hello
ask, Hello world to say hello
と、alexa に話しかけると。[hello world]と返答してくれます。
*) IoT連携部分の実装は、追加しました。
http://knaka0209.blogspot.jp/2017/02/esp-wroom-02-41.html
# 関連のまとめ:
Alexa + IoT のリンク集となります。
http://kuc-arc-f.com/make/?p=1262
0 件のコメント:
コメントを投稿