alexa echo 控制智能设备
现在国外很流行通过音响语言控制智能设备!,国外主流的alexa(又称为echo,下文中echo等同于alexa) 和google home。这篇我来介绍如何接入alexa的平台!让你们公司平台(下文称为自己产品)对接alexa !下篇我再介绍关于google home的
如果有疑问可以联系本人:349512123@qq.com
alexa 部分: 如何设置
先了解下如何让你的alexa设置控制你们公司的产品。
1:首先你要有个alexa的音响
2:下载alexa的app。(安卓只知道华为应用市场有,ios要有美国的touchId才能下载到)
3:用alexa app 初始化好echo,让echo连上wifi
4:去skill市场搜索到你们公司的开发的smarthome skill。如果审核未通过,可以用你开发者账号登陆alexa app 在your skill 可以看到你正在开发的技能(下图为我们公司的skill)
5:点击enable ,进入自己产品的登陆页,输入自己产品账号和密码,并授权alexa可以获取这个账号(自家产品)下面的设备信息!
6:对echo说discovery my smart home devices。这样就同步设备到alexa的云端
7:对echo 说 turn on the 《deviceName》,或者其他语言指令,就可以控制设备
alexa的原理
先看下图:
1:对alexa说 turn on the light。alexa根据turn on 知道调用smarthome skill。根据 light 去云端查询light的ID,因为你在“如何设置”的第6部中有同步设备名字和id到alexa的云端,所以alexa可以找到light的id
2:alexa 获取到你的id,会像你skill对应的lamdba发一个请求:请求报文如下:
{
"header": {
"messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688",
"name": "TurnOnRequest",
"namespace": "Alexa.ConnectedHome.Control",
"payloadVersion": "2"
},
"payload": {
"accessToken": "[OAuth token here]",
"appliance": {
"additionalApplianceDetails": {},
"applianceId": "[Device ID for Ceiling Fan]"
}
}
}
你的lamdba需要接收这个请求,再转发到自家产品控制设备的云,成功控制设备后再由lamdba返回相关response,这样alexa 识别到相对应的response,就回复ok!response如下:
{
"header": {
"messageId": "26fa11a8-accb-4f66-a272-8b1ff7abd722",
"name": "TurnOnConfirmation",
"namespace": "Alexa.ConnectedHome.Control",
"payloadVersion": "2"
},
"payload": {}
}
资料:
https://developer.amazon.com/... https://developer.amazon.com/... alexa开发过程
进入 https://developer.amazon.com/...
选中下图
完成这些就可以用开发者账号测试了!如果测试通过,就可以填入发布信息!官方审核通过,其他了就可以添加这个技能了!
打个广告:本公司承接智能音箱技能接入服务!有意请联系我
公司主页: