亚马逊AWS官方博客
手把手教你如何用Lambda + Alexa调用echo设备
知识补充:
什么是AWS Lambda?
AWS Lambda在可用性高的计算基础设施上运行您的代码,执行计算资源的所有管理工作,其中包括服务器和操作系统维护、容量预置和自动扩展、代码监控和记录,只在需要时执行您的代码并自动缩放,从每天几个请求到每秒数千个请求,其提供了AWS基础设施的高可用性,高安全性,高功能性和高可扩展性。
具体可参考:
https://docs.aws.amazon.com/zh_cn/lambda/latest/dg/welcome.html
什么是Alexa Skills Kit?
Alexa是Echo内置的语音助手,通过它能够唤醒Echo。Alexa的优点在于,它基于云端,因此我们可以随时对其进行改进。Alexa Skills Kit (ASK)是一个由自服务API、工具、文件和实例代码的集合,可轻松构建你自定义的Alexa skills,然后发布。
具体可参考:(https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit)
1. 打开链接https://aws.amazon.com/,申请亚马逊AWS账号。登录控制台,选择AWS Lambda服务,创建Lambda Function。
2. 选择Alexa Skills Kit
3. 下载需要用到的代码,解压,打开index.js文件,修改文件中的开发者账号ID:(https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/RecipeTemplate.zip)
修改完成之后,然后打成Zip包上传(注意,这里的打包不需要文件夹,直接把.js文件打包成RecipeTemplate.zip)
接着点击“Create function”
到这里,Lambda 创建成功。
4. 进入https://developer.amazon.com/,创建Alexa Skills Kit。
选择ALEXA
5. 选择“Alexa Skills Kit”
6. 点击“Add a new Skill”
7. 填写Name: Solution Helper,Invocation Name: solution helper
8. 填写Intent Schema,样例代码下载(https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/IntentSchema.json)
9. 填写Sample Utterances,样例代码下载:(https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/SampleUtterances.txt)
10. 点击“Save”后会报错,这个时候点击“Add Slot Type”添加。样例代码下载(https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/LIST_OF_ITEMS)
11. 然后再点击“保存”,这个时候看到Successfully updated the interaction model
12. 此时,点击“Next”,选择Lambda的ARN地址,例如:
arn:aws:lambda:us-east-1:556776719183:function:LambdaAlexaSkillsKit
复制Lambda ARN地址
13. 点击“Next”,即将进入到Test阶段,如下图所示。
14. 然后在Enter Utterance中输入“How can I build a map”,点击“Ask Minecraft Helper”,能看到Lambda Response的结果。
15.(选做)如果是测试用的话这步可以不进行。
接下去会上传两张图片,这两张图片是特定尺寸的,而且是必须要上传的,你可以自定义。或者用两张我已经做好的图片:
(https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/AWS+Logo+108.png)
(https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/AWS+Logo+512.png)
16.(选做)如果是测试用的话这步可以不进行。
17. 使用Web版Alexa Skill Testing Tool进行测试 https://echosim.io/,注意,这里需要用之前的Amazon账号登录。用鼠标点击进行语音。
18. 当输入语音之后,打开Alexa的测试页面,点击Home,可以看到录音识别的效果。http://alexa.amazon.com/spa/index.html#cards
比如我语音输入:
Alexa, Ask solution helper how can build a map
Echo回答:
A map can be crafted by placing a compass in the middle square and eight pieces of paper surrounding it.
也可以进行自定义语音设置,比如我语音输入:
Alexa, Ask solution helper how can I get summit ticket
Echo回答:
Hello, if you want to attend beijing summit, please connect to aws china inside sales team.
19. 搞定,完成!