本文做者:DuerOs算法
目录服务器
1、教学视频markdown
2、总体架构架构
3、开发步骤&资料整理app
4、常见问题解答异步
5、智能家居文档 树状提纲学习
—————————————————————————————————————————————测试
1、教学视频 优化
>>点击观看<<spa
2、总体架构
面向 智能设备厂商 的技能类型
智能家居技能让用户经过语音来控制智能设备,查看设备的状态,如控制开灯、关灯。智能家居技能还支持 智能场景 的设置。
开发者仅需参照智能家居协议,实现受权及通信,便可接入DuerOS设备云,成为受控设备。
当用户发出语音指令时,DuerOS解析出用户的意图,而后向技能发送该意图相应的指令。技能收到指令时,对设备进行相应的操做。
参见文档:
3、开发步骤
前期准备
一、开发者认证
二、建立智能家居技能
流程详见文档:
三、配置OAuth 2.0 帐号关联
四、配置设备云服务地址
开发步骤
一、学习Smarthome协议
二、填写技能基础信息
三、配置服务受权信息
四、根据Smarthome协议进行开发
五、模拟测试
六、申请发布
七、录制视频OR寄送设备,等待审核上线
八、版本迭代管理
开发资料
技术课堂:https://dueros.baidu.com/didp/news/technicalclass?id=dbp
4、常见问题解答
如何搭建DuerOS智能家居系统
中控设备(如:小度音箱、小度在家等)
经过 设备开放平台,将设备接入DCS-SDK,具备DuerOS的对话AI能力;
受控设备(如:智能灯、空调等)
经过 技能开放平台,建立“智能家居技能”,只需受权设备信息和轻量化开发,便可轻松实现智能家居的指令控制;
智能家居技能支持哪些功能?
开关控制:打开、关闭电灯等
调控功能:调节房间的亮度、温度和湿度,或调整冰箱温度等
设备操控:播放家电娱乐设备、切换电视频道、调整音量大小、电视快进和回访等控制
智能场景:智能场景是指一些智能设备的组合使用,把多个智能设备调到预先设定好的状态。如用户使用睡眠场景时,智能家居技能会调暗灯光、关上窗帘。
目前可控制的设备类型和指令?
设备类型:
灯、空调、空气净化器、热水器、洗衣机、窗帘、插座、场景控制、电视、电风扇、加湿器、扫地机器人、取暖器、烤箱、微波炉、电饭煲、压力锅、烹饪机、破壁机
控制功能及示例指令:
有哪些成功的合做案例?目前哪些设备已能够被DuerOS控制?如何购买?
一、成功案例: Broadlink、小葱智能、LifeSmart、涂鸦智能、时在智能、咖浦智能…
二、查看已接入设备及购买方式
下载并打开 小度在家\小度音箱\...app
进入“智能家居”板块,点击“查看能够控制哪些设备”
选择所需的设备类别,便可查看可控的品牌和型号,点击所需商品将会跳转至相应的购买连接
用户如何使用 智能家居技能?
将中控设备(如:音箱)和被控设备(如:灯)成功联上WIFI
在“技能商店”里启用技能,并登录受权帐号
便可经过“小度小度,打开灯”等语音指令进行控制;
有哪几种“发现设备”的方式?
法① 用户启用技能,并登录受权时,DuerOS会自动拉取用户的设备列表
法② 为开发者提供用户设备的接口,开发者能够主动向DuerOS推送用户设备的更新列表数据;
法③ 用户也能够经过“小度小度,发现设备”的语音指令,来主动更新设备列表
开发实现&图示
支持设备的新增或名称的改变,可经过同步更新(A-B)或异步更新(1-2-3)的方式来实现。
如何区分多台同类的设备?如:客厅灯、卧室灯
多个同类型的设备(如:多个灯),支持用户经过开发者\厂商的app来设置每一个设备名称(如:客厅灯);
开发配置
设备名称
经过 discoveredAppliance.friendlyName字段,来传递用户设置的设备名称
是字符串类型,不能包含特殊字符和标点符号,长度不能超过128个字符。
分组控制
结构化同步厂商分组信息,支持如下表达
引导、澄清
一、当用户的表达指向多个设备,咱们想办法引导用户明确表达
按设备名称澄清:“打开台灯仍是床头灯?”
补充房间信息澄清:“打开卧室的灯仍是客厅的灯?”
二、多个设备请用户表达设备名称
三、没法分辨引导用户更名
用户使用
一、用户若是为各设备设置了不一样的名称,但在表述时只是说了“小度小度,打开灯”
音箱会与用户确认“请问您要打开哪一个灯?”
二、用户若是没有配置不一样名称,则在控制时,会对全部的同款设备进行控制;
工做原理 & 技能调用流程
技能工做原理
技能调用方式
开发是否须要使用BOT-SDK?
智能家居无需考虑NLU的具体实现,不用使用BOT-SDK;只需参照智能家居协议进行开发便可。
如何填写 配置服务 的受权内容?
受权目的:受权DuerOS将识别后的控制指令,发给开发者的服务器或设备云。
受权内容说明
受权地址:开发者受权DuerOS访问的服务器或设备云地址,需遵照OAuth 2.0标准(打通百度帐号和自有帐号)。
Client_Id:开发者分配给DuerOS SH的Client_ID
ClientSecret:开发者分配给DuerOS SH的密钥
Scope:获取的用户数据的权限列表(名称,头像,年龄,性别…),多个权限之间请使用空格进行分开。
回调地址:每一个技能建立时,在开放平台上生成的惟一URL地址,该地址不能修改。
Token地址:用于获取开发者的Access Token,以便DuerOS访问他们的服务器。须要遵照OAuth 2.0标准协议。
请求方式:Access Token的请求方式。
WebService:智能家居设备的设备云服务部署地址。
当前平台不支持的设备类型或控制指令,要如何设置?
平台暂时不支持开发者自行扩充,若有相关的需求,可联系咱们补充优化相关的功能。
商务沟通邮箱:dueros-bd@baidu.com ,标题注明:【智能家居】
智能家居技能模拟测试\真机测试步骤?
模拟测试
一、在平台右侧对话测试框内,输入“发现设备”,会反馈提示“正在查找设备,须要xx秒”
二、成功发现设备后,便可输入控制命令(如:打开灯),来操控绑定的设备;
真机测试
一、进入真机测试页面,点击启用
二、在真机设备上登陆同一个百度帐号
三、经过语音输入“小度小度,打开技能调试模式”进入技能;
四、能够经过“小度小度,发现设备”来更新可控设备列表,经过语音控制指令,测试控制智能家居。
如何发布上线智能家居技能?审核和视频录制有哪些要求?须要提供哪些资料?
申请上线:
技能开发完成,并经过模拟测试验证后,便可填写技能相关信息,在平台上申请发布上线;
录制视频:
技能提交申请上线后,DuerOS会进行技能的审核。
为了尽快经过审核,请录制设备控制视频,内容需包含主控和全部被控设备,须要能够成功控制被控设备的相关功能项。
视频请发送至 xudandan02@baidu.com
邮件格式:
邮件标题:【技能审核】待审核技能名称
邮件正文:正文需注明待审核技能ID,视频文件可以使用附件或者网盘连接的形式发送
设备寄送(可选):
将技能中涉及的全部智能家居设备和设备相关使用文档邮寄给DuerOS,以便DuerOS审核该技能;
寄送前需将设备与开发者帐号受权绑定完成,并在使用文档中提供对应的帐号和密码。
寄送信息:
通信地址:北京市海淀区西北旺东路10号院百度科技园4号楼
收件人:张忠琦
联系电话: 18521725422
正式发布上线的技能,将会在哪里显示?
小度音箱 等无屏音箱
针对无屏音箱等设备,可使用 小度音箱\厂商自有 app
“智能家居” 里查看并启用已上线的智能家居技能;
小度在家 等有屏设备
小度在家\厂商自有app——发现更多——智能家居
小度在家设备内——更多——智能家居
亮度\风速…等是否支持设置成50%的程度值,是否提供相应的接口信息?
支持亮度等程度值的设定。以亮度为例,使用value参数,可控制灯光亮度的百分比值
为double类型,取值范围为0~100。其中0表示灯在打开时的最小亮度,100表示灯的最大亮度。
详情可参考 智能家居控制协议——控制消息:
是否支持场景模式?如何自定义?
支持用户\开发者经过开发者\厂商的app来自定义场景模式的名称和功能;
开发配置:
经过SCENE_TRIGGER来触发场景模式控制;SCENE_TRIGGER 描述特定设备的组合场景
设备之间没有相互关联,无特定操做顺序。例如“打开睡眠模式”包括关灯和锁上房门,可是关灯和锁上房门之间没有必然联系,能够先关灯而后锁上房门,也能够先锁上房门后关灯。
使用 friendlyName字段,来传递场景模式的名称;
控制灯光颜色,使用的是什么色彩模式?
DuerOS采用的是HSB其中H表明色相;S表明饱和度;B表明亮度。;
设备名称出现ASR识别错误,要如何修正?
DuerOS会经过数据训练和算法升级不断优化ASR识别状况,也欢迎各位开发者为咱们提供建议和需求一同优化技能体验。
若有识别率较低的词句,欢迎将此类例子及常见表达方式或误识别结果反馈给咱们,定向的作泛化提优。
5、智能家居文档 树状提纲