如何将亚马逊回声集成到家庭自动化系统中。

时间:2017-10-11 11:23:54

标签: aws-lambda alexa alexa-skills-kit alexa-skill alexa-voice-service

我已经建立了一个目前被许多客户使用的家庭自动化系统。家庭自动化系统包括一个中央集线器,它始终连接到云服务器,还控制各种节点设备。我还开发了一个移动应用程序来远程控制家庭设备。

现在我想为我的系统添加语音控制功能。我认为亚马逊Alexa是我需要的最佳选择,因为我的大多数客户都拥有Alexa。我将概述我想要实现的内容。

假设客户正在向Alexa发出语音命令,例如Alexa, turn on living room's floor light。收到这样的命令后,Alexa应该通过API向参数:Turn On, Living Room, Floor Light发送一个POST请求到我的云服务器。服务器将Alexa的API响应作为Turned on floor light of living room之类的字符串给出,应该在Alexa上播放。

所以这是我的问题。如何配置Alexa以调用API并回放API响应?以及如何为拥有echo和家庭自动化系统的每个用户提供此功能?

3 个答案:

答案 0 :(得分:1)

您希望使用Alexa Smart Home Skill API构建Alexa技能。

API专为您要执行的操作而设计。

所有血腥细节都可以在这里找到:

https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html

短篇小说是:

  1. 您将创建一个由Alexa调用的AWS Lambda
  2. 您的Lambda将获得的第一个电话是" Discovery"呼叫。您将返回所有家庭自动化设备的列表,以及您想要引用它们的名称(例如,设备ID = 7被称为" Floor Light")。 / LI>
  3. 当你说" Alexa时,打开落地灯" Alexa会打电话给你的Lambda说"打开设备ID#7"。然后,您需要进入您的家中并尽一切努力使该设备从关闭变为开启。

答案 1 :(得分:1)

我实际上制作了一个SDK,它有助于简化流程on GitHub。它将逐步指导您如何使用该套件。祝你好运,如果你遇到任何问题,请等。

答案 2 :(得分:1)

我同意tig;一个Alexa智能家居技能是要走的路。

您需要决定如何对用户进行身份验证。如果您的服务器已经提供了OAuth2,那么您可以在安装Alexa技能时使用帐户链接对用户进行身份验证。

Alexa智能家居为您处理所有对话框。您将公开功能:endpointId将代码识别为您的代码(即“lrfloor”),friendlyName是Alexa将响应的内容(例如“起居室落地灯”)。 Alexa然后处理“Alexa,开启...”等。

请注意,亚马逊最近发布了智能家居API的V3,所以请确保您所看到的任何教程或示例都支持新的API,而不是旧的V2。 API非常不同,您可能不希望花费大量时间来学习将被弃用的API。