AVS兼容服务接入指导

已经接入AVS的设备接入DuerOS,设备开发者之前积累的代码和经验,在接入DuerOS时能够最大程度的发挥作用, 只需要特别关注两个不同点就可以了:帐号登录和服务地址。

帐号登录

  • 设备开发者要接入DuerOS,需要在DuerOS开放平台注册开发者帐号,创建一个应用,详细操作请看控制台接入流程文档。拿到应用的client_id和client_secret,访问由百度OAuth提供的授权服务,获取access token,详细了解OAuth的使用方法,请点击帮助文档。(注:应用创建成功之后,需要到百度OAuth控制台安全设置中配置授权回调页链接,才能正常进行授权。)

  • 设备开发者需要修改companionService(或者companionApp)的配置文件(比如config.js),以及客户端程序(如javaClient)的配置文件(比如config.json),使用刚才的应用提供的client_id和client_secret,连接OAuth授权服务来登录。companionService(或者companionApp)获取授权时访问的服务地址和路径(如修改authentication.js中获取code和token时的路径地址),也需要修改成DuerOS提供的服务地址。

设备开发者只需要按照上面提供的方式去做帐号登录,就可以完全复用之前研发的代码(接入AVS的登录时所开发的代码)。

服务地址

  • DuerOS输出了完全兼容AVS协议的服务。

    • DCS兼容v20160207版本的AVS协议,服务地址为:

      https://dueros-h2.baidu.com/dcs/avs-compatible-v20160207/
  • DuerOS提供的AVS兼容服务,需要设备端在请求中附带设备ID DCS协议要求,每一个连接请求,都需要在http header中上传设备的唯一ID,格式为:

    dueros-device-id: xxxxxxxxxxx

设备开发者连接上面提供的服务地址,并且在请求中上传设备id,就可以完全复用之前研发的代码(接入AVS时开发的服务交互逻辑、客户端的协议处理逻辑等),从而快速拥有DuerOS提供的中文智能语音服务。

其它要求

  • DuerOS是使用Http2协议作为网络传输协议。出于安全考虑,DuerOS要求开发者在Http2协议中使用ALPN进行协议协调,禁止使用NPN。

切换示例

下一节的内容,我们以github上的开源示例来给设备开发者们详细介绍,已经接入AVS的设备如何接入到DuerOS,请点击