熟悉Alexa Skill Set, 通过Alexa对设备进行语音控制。在开始本实验前,请先注册Amazon Developer账号。
- Raspberry PI 3B+
- 小风扇(可以用LED代替)
- Serverless: 快速开发,测试,部署Lambda
请参考Serverless文档,安装并配置。
将代码拷贝至树莓派,并修改index.js
中的ThingName
变量,将其替换为之前创建的设备;将host
中的url替换为合法地址。
该程序启动后,会自动订阅Device Shadow的变化,并且根据变化打开或者关闭小风扇。
-
在ASK Console中点击[Create Still], 输入技能名称,选择Custom并创建技能
点击下载Alexa SkillSet代码,并使用Serverless
进行快速部署
- 打开Alexa SkillSet, 点击侧边栏中的[Endpoint]
- 找到[Your Skill ID],并复制至剪贴板
- 打开
serverless.yml
,找到alexaSkill下面的appID
, 将值替换成改成复制的内容 - 利用
serverless
进行快速部署
sls deploy --region us-west-2 // Oregon region
- 在AWS Conole中找到刚才发布的Lambda函数,并复制arn
- 在Alexa Console中找到编辑Endpoint,将刚才复制的arn填入[Default region]
- 点击[Save Endpoint]
- 选择[Invocation], 输入Invoke Name, 点击[Save Model],保存成功后点击[Build Model]
- 等待数秒后,Model编译成功
按照下图,选择[Test], 按住话筒,用英文向Alexa发送指令,例如 ask Puppy to turn on the air purifier