手把手教你如何用Lambda + Alexa调用echo设备

2019 年 11 月 20 日

手把手教你如何用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。



  1. 选择Alexa Skills Kit



  1. 下载需要用到的代码,解压,打开index.js文件,修改文件中的开发者账号ID,如下:


https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/RecipeTemplate.zip



修改完成之后,然后打成 Zip 包上传(注意,这里的打包不需要文件夹,直接把.js 文件打包成 RecipeTemplate.zip)




接着点击“Create function”



到这里,Lambda 创建成功。



  1. 进入https://developer.amazon.com/,创建Alexa Skills Kit。



选择 ALEXA



  1. 选择“Alexa Skills Kit”



  1. 点击“Add a new Skill”



  1. 填写Name: Solution Helper,Invocation Name: solution helper



  1. 填写Intent Schema,样例代码下载:


https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/IntentSchema.json



  1. 填写Sample Utterances,样例代码下载:


https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/SampleUtterances.txt



  1. 点击“Save”后会报错,这个时候点击“Add Slot Type”添加。样例代码下载


https://s3.cn-north-1.amazonaws.com.cn/bjsdemo/LambdaAlexaSkillsKit/LIST_OF_ITEMS



  1. 然后再点击“保存”,这个时候看到Successfully updated the interaction model



  1. 此时,点击“Next”,选择Lambda的ARN地址,例如:


arn:aws:lambda:us-east-1:556776719183:function:LambdaAlexaSkillsKit



复制 Lambda ARN 地址



  1. 点击“Next”,即将进入到Test阶段,如下图所示。



  1. 然后在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.(选做)如果是测试用的话这步可以不进行。



  1. 使用Web版Alexa Skill Testing Tool进行测试 https://echosim.io/,注意,这里需要用之前的Amazon账号登录。用鼠标点击进行语音。



  1. 当输入语音之后,打开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.




  1. 搞定,完成!


作者介绍:


毛郸榕



亚马逊 AWS 中国助理解决方案架构师,负责基于 AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内的应用和推广,毕业于北京航空航天大学云计算专业,硕士,毕业后直接加入亚马逊 AWS 中国。在大规模后台架构、企业混合 IT 和自动化运维等方面有着丰富的实践经验。目前在集中精力学习新一代无服务器架构设计。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/lambda-alexa-echo/


2019 年 11 月 20 日 08:00389

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

碎片化学习行不行

封不羁

Hexo blog 创建指导手册

想飞的鱼

GitHub Hexo GitHub Pages Blog

针对GPU单指令多数据流的编译优化算法

GPU

gpu 编译器 程序语言 if-conversion

Git 的远端操作及解析(含思维导图)

多选参数

git GitHub gitlab

大厂经验(3):Android端埋点自动采集技术原理剖析

DeeperMan

前端 数据采集 采集 埋点

架构师训练营第五周 - 总结

Eric

极客大学架构师训练营

Raft探索历程--Part2

老胡爱分享

分布式系统 raft

【Python】 any() 和 or 区别你真的知道吗?

Leetao

Python 数据结构 Python基础知识

如果张东升是个程序员

程序员生活志

程序员 张东升

它们为什么这么快:从多进程到多线程再到I/O复用

Ya

多线程 进程 并发

三十张图助你看清红黑树的前世今生

淡蓝色

Java 程序员 数据结构 算法

公司一直用Mybatis的原因原来在这!不得不竖起我的大拇指

小闫

Java mybatis mybatis-config.xml mybatis缓存

k6简单入门

IT民工仁兄

性能测试

Hash一致性算法的Java实现

wei

对mysql事务的认识,再不懂我就捶死我自己!

你是人间四月天

MySQL 面试 mysql事务 Java 面试 大厂面试

[1.3万字] 玩转前端二进制

阿宝哥

Java 前端 base64 Blob

面试官:为什么需要happens-before规则和什么是指令重排序

无予且行

Java 编程 程序员 happens-before java面试

现在面试这么难,背下题就能过的时代一去不复返了

小谈

Java JVM Java 面试 springboot SpringCloud

Java线程池最细的解释,看完后彻底征服面试官

小新

Java 架构 面试 线程 线程池

一致性哈希 -- java 实现

lei Shi

Java程序员的必修课之Spring理解透彻了吗?不会还咋去面试?

犬来八荒

Java spring 面试 后端 框架

小白也有大厂梦,如何从零开始掌握高薪Java工程师必备技能?

无予且行

Java 架构 面试 后端 大厂

有了多线程,为什么还要有协程?

八两

线程 进程 协程 GMP 进程线程区别

重学 Java 设计模式:实战策略模式「模拟多种营销类型优惠券,折扣金额计算策略场景」

小傅哥

Java 设计模式 小傅哥 重构 代码优化

JVM中的双亲委派机制你还没懂吗?

阿文

Java JVMTI JVM 深入理解JVM JVM原理

区块链系列教程之:比特币的问题

程序那些事

比特币 区块链 智能合约 以太坊

GeekPwn 2020少年黑客马拉松大赛即将开启 谁将CARRY全场?

Geek_116789

计算机操作系统基础(十三)---线程同步之读写锁

书旅

php laravel 线程 操作系统 进程

Cordova项目使用Android Studio真机调试

麦叔

android Android Studio 真机调试

道路千万条,安全只三条

石君

安全评估 安全设计

工业4.0|振动分析能做到预防性维护吗?

清水河路人甲

手把手教你如何用Lambda + Alexa调用echo设备-InfoQ