我已经建立了一个目前被许多客户使用的家庭自动化系统。家庭自动化系统包括一个中央集线器,它始终连接到云服务器,还控制各种节点设备。我还开发了一个移动应用程序来远程控制家庭设备。
现在我想为我的系统添加语音控制功能。我认为亚马逊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和家庭自动化系统的每个用户提供此功能?
答案 0 :(得分:1)
您希望使用Alexa Smart Home Skill API构建Alexa技能。
API专为您要执行的操作而设计。
所有血腥细节都可以在这里找到:
https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html
短篇小说是:
答案 1 :(得分:1)
我实际上制作了一个SDK,它有助于简化流程on GitHub。它将逐步指导您如何使用该套件。祝你好运,如果你遇到任何问题,请等。
答案 2 :(得分:1)
我同意tig;一个Alexa智能家居技能是要走的路。
您需要决定如何对用户进行身份验证。如果您的服务器已经提供了OAuth2,那么您可以在安装Alexa技能时使用帐户链接对用户进行身份验证。
Alexa智能家居为您处理所有对话框。您将公开功能:endpointId将代码识别为您的代码(即“lrfloor”),friendlyName是Alexa将响应的内容(例如“起居室落地灯”)。 Alexa然后处理“Alexa,开启...”等。
请注意,亚马逊最近发布了智能家居API的V3,所以请确保您所看到的任何教程或示例都支持新的API,而不是旧的V2。 API非常不同,您可能不希望花费大量时间来学习将被弃用的API。