0

我已经建立了一个当前许多客户正在使用的家庭自动化系统。家庭自动化系统包含一个中央集线器,该集线器始终连接到云服务器,并控制各种节点设备。我还开发了一个移动应用程序,用于远程控制家庭设备。如何将亚马逊回声整合到家庭自动化系统中。

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

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

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

回答

1

您将需要使用Alexa智能家居技能API构建Alexa技能。

API是专门为您正在尝试做的事情而设计的。

所有血淋淋的细节可以在这里找到:

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

简短的说就是:

  1. 您将创建一个AWS拉姆达是被用Alexa
  2. 第一被呼叫打电话给你的Lambda会得到一个“发现”电话。您将返回所有家庭自动化设备的列表,以及您想要引用它们的名称(例如Device Id = 7被称为“Floor Light”)。
  3. 当你说“Alexa,打开地板灯”时,Alexa会称你的Lambda为“打开设备ID#7”。然后,您需要到达您的家中,并尽一切可能使该设备从关闭变为开启。
+0

我希望用户在使用服务之前进行身份验证。我如何提示用户使用Alexa登录到我的系统? –

1

我实际上做了一个SDK,这有助于简化这个过程on GitHub。它逐步引导您如何使用套件。祝您好运,如果您有任何问题,请点击。

+0

此SDK使用亚马逊物联网。我没有使用 –

+0

@alternativeony这是正确的,我可以问你为什么反对AWS IoT? –

1

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

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

Alexa智能家居为您处理所有对话。您只需公开功能:endpointId将设备标识为您的代码(即“lrfloor”),friendlyName是Alexa将响应的内容(例如“客厅地板灯”)。然后Alexa处理“Alexa,打开...”等

请注意,亚马逊最近宣布了智能家庭API的V3,所以请确保您看到的任何教程或示例都支持新的API,而不是较旧的V2。这些API是非常不同的,你可能不想投入大量的时间来学习将被弃用的API。