1.前置条件
java语言、天猫精灵X1、技能类型->智能家居
2.OAuth2.0的搭建
因为AliGenie平台要求对接需要采用通用的OAuth2.0开放授权协议,所以我们先需要搭建一个OAuth2.0的服务让AliGenie对接使用。
如图2.0.1配置所说,我们首先需要提供一个账户授权连接地址、一个client ID、一个Client Secret、Access Token URL
账户授权连接地址: 按照AliGenie平台描述的是一个OAuth2.0的授权页面。我们通常是做一个h5的登陆页面,在当前页面或者在控制类里面接收再跳转到一个h5页面进行当前系统的登录校验。登陆成功之后重定向到AliGenie访问带过来的redirect_uri去。注意:重定向redirect_uri里 需要带上code(也就是授权码)
Client ID:自己定义的客户端id 、可以留作纪录使用
Client Secret:自己定义的客户端芈月、可以当做校验使用
Access Token URL:当前重点,生成与AliGenie平台交互的token接口。返回可以参照AliGenie平台的规范,成功情况下返回access_token、refresh_token、expires_in 三个字段
后台使用jar: org.apache.oltu.oauth2.authzserver,org.apache.oltu.oauth2.resourceserver
3.设备管理
开发者网关地址:对于当前设备操作、查询的接口。当前接口会接收AliGenie传递的json
关注重点:namespace、name、accessToken
当前三种namespace:设备发现("AliGenie.Iot.Device.Discovery"),设备控制("AliGenie.Iot.Device.Control"),设备属性查询("AliGenie.Iot.Device.Query");
根据当前请求进行相应的操作,注意格式规范。
AliGenie.Iot.Device.Discovery类型:返回设备列表
AliGenie.Iot.Device.Control类型:得到当前设备的操作
AliGenie.Iot.Device.Query类型:设备的属性查询
接收到设备操作、就可以接进自己的设备和后台之间的通讯进行操作
到此为止、该写的代码已经完成
4.如何操作
一.帐号申请、绑定、测试
在AliGenie 用自己的或者单位的淘宝帐号进行申请(个人认证比较快)。
1.认证通过之后填好服务设置(访问地址记得需要https加密类型)、
2.在测试验证模块打开测试
3.在技能发布添加对话信息等(对话信息记得和上面提到设备列表的名称相关联)
如我返回的两个设备名称是电视、空调。对话信息我则设置打开电视、打开空调
4.天猫精灵登录(当前淘宝帐号)、绑定天猫精灵设备。在智能家居模块点击进入,就可以看到你设备列表返回的数据。然后就可以操作天猫精灵了
二.需要注意点
1.服务设置需提供https访问、设备管理可以http访问。
2.在测试打开之后、可以不提供审核即可真机测试
3.设备列表的设备名称、技能信息尽量不带数字
4.忘记说了 我注册类型是智能家居类型