百度语音DuerOS对接
- 百度语音对接
- 一 流程
- 二 编码
- 三 使用规则
百度语音对接
百度语音对接是基于云云对接的方式实现,主要有四个重点
1 账号授权
2 webService-发现设备
3 webService-控制设备
4 webService-属性上报
本篇值描述1和大致的流程、实际的文档可以参考官网 https://dueros.baidu.com/didp/doc/dueros-bot-platform/Introduction_markdown
5 发布上线
一 流程
1 注册duerOS账号.
2 创建一个技能-智能家居
输入名称
3 填写账户授权信息-根据Auth2.0协议
授权地址: 登录H5页面
Client_Id: 技能id
Scope: 可选填
Token地址: Auth2.0协议code换取token的接口地址
ClientSecret: 技能密匙 (用于代码验证)
WebService: 与duerOS交互的接口地址( webService-发现设备、webService-控制设备、webService-属性上报)
二 编码
根据 duerOS协议. 进行数据交互即可
测试完毕后即可申请发布
/*** webService方法解析数据* 文档: https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/discovery-message_markdown** @param parse* @return*/private String webServiceExecute(JSONObject parse) throws BusinessException {String out = null;// 1 获取参数 header & payloadJSONObject headerIn = parse.getJSONObject(header);JSONObject payloadIn = parse.getJSONObject(payload);if (JsonUtils.isEmpty(headerIn) || JsonUtils.isEmpty(payloadIn)) {log.error("非法入参parse:{},header或者payload为空", parse);return out;}// 2 获取执行参数 header.name 和 header.namespaceString headerNameIn = headerIn.getString(name);String headerNamespaceIn = headerIn.getString(namespace);if (JavaStringUtils.isEmpty(headerNameIn) || JavaStringUtils.isEmpty(headerNamespaceIn)) {log.error("非法入参parse:{},name或者namespace为空", parse);return out;}// 3 分发动作 - vipWebServiceExecuteRequest webServiceExecuteRequest = WebServiceExecuteRequest.builder().parse(parse).header(headerIn).headerName(headerNameIn).headerNamespace(headerNamespaceIn).payload(payloadIn).build();switch (Constant.DuerOSProtocol.value(headerNamespaceIn)) {case DISCOVERY: // 3.1 发现设备out = webServiceExecuteDiscovery(webServiceExecuteRequest);break;case CONTROL: // 3.2 控制消息out = webServiceExecuteControl(webServiceExecuteRequest);break;case QUERY: // 3.3 查询消息out = webServiceExecuteQuery(webServiceExecuteRequest);break;case UNBINDBOT: // 3.4 解除绑定out = webServiceExecuteUnbindBot(webServiceExecuteRequest);break;case ERROR:break;}return out;}
三 使用规则
1 小度音响绑定小度app
2 小度app找相应的skill,进行账户授权
3 发现设备
4 控制设备
试一试吧、小度小度,打开灯光