# 智能家居控制服务简介
# 服务流程
当用户请求你的智能家居控制服务时,流程如下图所示:
# 智能家居服务的运行逻辑
- 用户在设备的关联APP中的智能家居页面,选择智能家居控制服务提供商,绑定对应服务商IoT云的账号。绑定账号后,用户在IoT云的智能家居设备会同步到关联APP中。
- 当用户语音说:“打开厨房的灯”时,iFLYOS会识别用户开灯的意图和要控制的设备。之后iFLYOS会向IoT云服务发送指令请求。这些指令包含用户的授权信息,设备的唯一标识,和设置请求的相关信息。
- 作为智能家居控制厂商,你在接收到iFLYOS的请求后,你需要通过你的IoT云控制特定的设备,并回复iFLYOS是否控制成功。
- iFLYOS收到你的回复后,将把回复中的信息告诉用户。
另外,用户也可以通过语音查询设备状态,比如用户说:“现在空调多少度?”
# 支持的设备类型和操作
iFLYOS支持控制的设备的类型列举如下,具体的设备和操作可查看控制文档
- 开关类
- 电视类
- 音响类
- 灯光设置类
- 温度设置类
- 风速控制类
- 模式控制类
# 谁可以使用智能家居服务接入
拥有智能家居IoT云的智能家居厂商。基本要求如下:
- 你拥有某品牌下的设备的控制权,比如灯、开关、空调等;
- 你通过云端向设备下发指令来控制设备;
- 你拥有自己的用户体系,并支持 OAuth2.0 授权。
# 接入步骤
# 一、创建服务
在服务接入控制台,创建新服务,选择智能家居控制服务,填写智能家居控制服务的名称。服务名称只支持中文,需要控制在10个中文字以内。填写完成点击【创建服务】进入服务配置。
注意
服务名称和类型一经填写不可修改
# 二、服务配置
在服务接入控制台中,填写相关信息。所需信息如下:
- 服务LOGO:上传你的正方形LOGO,支持png和jpg格式。
- 授权链接:你的IoT云的账户授权相关的H5页面,该页面用于账户授权登录,需适配手机端。
- token地址:你的IoT云给iFLYOS取token的地址。
- Client ID:你的IoT云需要为iFLYOS分配Client ID,用于iFLYOS访问时进行鉴权。
- Client Secret:你的IoT云需要为iFLYOS分配Client Secret,用于iFLYOS访问时进行鉴权。
- 服务处理链接:iFLYOS将在解析用户的请求后将请求相关信息发送至你填写的服务器链接,具体发送的参数和协议请参考iFLYOS智能家居接入协议设备发现,设备控制,设备状态查询。
配置完成后可进行测试调试。
# 三、开发调试
- 准备搭载iFLYOS的设备,或下载模拟设备的APP (opens new window)。
- 下载测试调试用的手机APP (opens new window)。
# 授权接入
将相关信息提交至iFLYOS,授权流程详见。
# 服务接入
# 请求消息示例
{
"header":{
"namespace":"iFLYOS.IoT.Device.Control",
"name":"TurnOn",
"messageId":"1bd5d003-31b9-476f-ad03-71d471922820",
"payloadVersion":1
},
"payload":{
"accessToken":"<access token>",
"deviceId":"34234",
}
}
header参数
参数 | 说明 | 类型 | 必须出现 |
---|---|---|---|
namespace | 消息命名空间,取值见下表 | String | 是 |
name | 指令名称 | String | 是 |
payloadVersion | payload版本,目前版本为1 | int | 是 |
messageId | 代表一条message的唯一ID | String | 是 |
namespace取值
取值 | 说明 |
---|---|
iFLYOS.IoT.Device.Discovery | 设备发现 |
iFLYOS.IoT.Device.Control | 设备控制 |
iFLYOS.IoT.Device.Query | 设备属性查询 |
payload参数
payload的内容与header中的name值相关,不同指令其payload内容不同。
# 四、提交审核
当你完成了上述对接,并通过测试后,需要提交iFLYOS进行测试审核。在提交审核时,你需要下载模板后填写自家IoT云兼容iFLYOS智能家居控制协议的设备列表,并上传。
我们在收到你的上线申请后,会联系你邮寄设备并进行测试审核。
# 五、发布服务
审核通过后你将收到我们的短信提醒,审核通过后用户即可在小飞在线等设备关联APP上访问你的服务,绑定后即可通过语音控制智能家居设备。