AWS IoT 物联网系列

您所在的位置:网站首页 亚马逊语音系统 AWS IoT 物联网系列

AWS IoT 物联网系列

2024-01-20 04:30| 来源: 网络整理| 查看: 265

AWS IoT 物联网系列博客

当前物联网环境中,设备类型多种多样,连接方式不一而足。为了帮助读者更好的理解并运用 AWS IoT 相关服务,我们提供了一个完整的 IoT 起步指南,包含设备的注册及上线、设备管理、用户身份及权限管理以及成本控制,通过这一系列的起步指南,也可以快速了解到 AWS IoT 服务如何与 Amazon Alexa 语音助手进行集成。AWS IoT 物联网系列共8篇,本篇是该系列的第一篇,其他篇链接请在本文结尾处查看。

 

Amazon Alexa 简介

Amazon Echo 是当前最炙手可热的智能语音音响,内置的语音助理 Alexa 可以高效准确的理解用户对它发出的语音指令,而不需要任何的遥控器。市场上的一些智能产品,比如咖啡机、灯具、电视等,只需要语音它们就可以执行一系列的动作,而这些产品都没有内置 Alexa,那设备厂商是如何做到的呢?开发者可以通过 Alexa Skill 来增加更多丰富多彩的应用。

Demo 介绍及准备工作

通过此 Demo,开发者可以学习如何从零开始通过 Alexa skill 设计出具有高度定制化的语言助手,最终使用对话方式定制旅行计划。

为了完成此 Demo,需要使用三个工具:

Alexa skill kit AWS Lambda NodeJS 准备工作: 了解什么是 Alexa skill kit

Alexa Skill kit(ASK)是一套自助服务,其中包括 API、工具、文档和代码示例,使您能够轻松快速地为建立 Alexa Skill。

需要注册两个帐号 亚马逊 AWS 帐号:https://aws.amazon.com 亚马逊开发者帐号:https://developer.amazon.com(注册个人开发者需要上传身份证)

Demo 具体操作流程 登录亚马逊开发者网站,网站右上角点击“Sign In”

登录后进入开发者控制台 选择顶部的 ALEXA SKILLS KIT 按钮 创建一个 Skill,并且取个名字 本示例选定自定义 skill,后三个为预编译模型,要深入了解各个 skill 模型,请参阅这里 下图为 Amazon Alexa 主界面,先重点关注右侧的 checklist,完成一个 Skill,必须完成图中这4项 Invocation Name ->Intents, Sample, and Slots -> Build Model -> Endpoint。 Invocation Name : 给触发 Skill 取个名字,这个名字很重要,本示例设置为 rebecca,记得保存

返回主界面后,Invocation Name 设置完成

Intents, Samples, and Slots: 定义对话逻辑,也就是交互模型都在这里进行创建。此示例中为了大家方便操作,把配置文件制作为 json 文档,请把 json 文档内容粘贴进“JSON Editor”,https://github.com/alexa/alexa-cookbook/blob/master/handling-responses/dialog-directive-delegate/sample-nodejs-plan-my-trip/speech-assets/InteractionModel.json, 点击”Save Model”保存后,再点击”Build Model”(要稍等一会), 最后返回主界面会看到 checklist 完成第二、三步。如要深入开发,强烈建议阅读这个参考文档

会多出一些 Intents 和 slots,这些都是由刚才的 Json 定义而来的,并且 checklist 完成了 Build Model

选择左下角 Endpoint 按钮进入 Lambda 配置,选择 AWS Lambda ARN 按钮

到此为止,alexa skill kit 告一段落,Lambda ARN 暂时空着,接下来先配置 Lambda 。

登录至 AWS 控制台,选择 US East (N. Virginia) 地区,然后进入 Lambda 服务

创建 Lambda 函数

选择蓝图(Blueprints), 晒选框输入“alexa-skill”,然后选择 alexa-skill-kit-sdk-factskill,最后点击右下角的 “configure”

创建 Lambda 函数名称以及角色,两个名字可以不一样

设置 Lambda 角色,记得点击右下角 Allow

下面代码部分暂时不用管,点击创建函数

配置触发器:选择“Alexa Skill Kit”

Skill ID 请查看第11步(图片2)中,Your Skill ID 中字段进行复制,添加后注意保存

Lambda 函数代码打包上传。此项目 Demo 代码路径:https://github.com/alexa/alexa-cookbook/tree/master/handling-responses/dialog-directive-delegate/sample-nodejs-plan-my-trip/src 。此项目有 alexa-sdk 依赖,所以必须打包上传,以下打包上传步骤:

16.1. 克隆 alexa-cookbook 项目或者下载上述链接下的三个文件,此例为直接下载三个文件到新建目录 alexa-demo-skill-kit 中

16.2. 此项目有 alexa-sdk 的依赖,所以使用 npm 安装依赖:

$ npm install

16.3. 项目打包:生成 zip 包

$ zip -q -r9 ~/CreateThumbnail.zip *

16.4. 上传 zip 包,界面如下图

Lambda 代码包上传完成。如需其他语言打包方法详见这里

复制右上角的 Lambda ARN

回到第11步图二页面,设置 Endpoint, 把 Lambda ARN 粘贴到 Default Region 中,并且保存

回到 alexa skill kit 主界面,查看 checklist,确保所有项为绿色对勾表示配置完成

 

接下来就可以测试配置好 Alexa, 继续使用亚马逊开发者帐号登录 https://echosim.io, 然后按住空格键录音,你可以说“open rebecca”,系统会回答“Let’s plan a trip. Where would you like to go?”然后跟着提示回答就可以了。

 

 

 

本篇作者 童轶

AWS 解决方案架构师。负责基于 AWS 的云计算方案的架构设计,同时致力于 AWS 云服务在国内和全球的应用和推广。加入 AWS 之前,在国内知名互联网游戏公司担任高级系统工程师,有七年的游戏运维和 DevOps 经验。现致力于 IoT, Serverless 架构的研究与推广。

 

AWS IoT 物联网系列其他博客目录如下:

AWS IoT 物联网系列 | 第一篇:利用 Lambda 实现 IoT 设备证书的即时注册 (JITR)

AWS IoT 物联网系列 | 第二篇:使用模版自动化 IoT 设备创建及证书注册过程 (JITP)

AWS IoT 物联网系列 | 第三篇:Certificate Vending Machine – IoT设备接入 AWS IoT 平台解决方案

AWS IoT 物联网系列 | 第四篇:如何使用AWS IoT 做 OTA 升级 (链接待更新)

AWS IoT 物联网系列 | 第五篇:物联网场景中灵活实施对设备的控制管理

AWS IoT 物联网系列 | 第六篇:IoT 设备多区域架构方案

AWS IoT 物联网系列 | 第七篇:AWS IoT Core 服务成本优化

AWS IoT 物联网系列 | 第八篇:Alexa 入门实验



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3