基于Ameba的度秘(DuerOS)上手初体验
前言
前两天想玩下智能语音,在阿里、科大讯飞、思必驰等等各家面前转了转,还是决定先尝试下百度的DuerOS,也就是度秘(未作详细比较,仅为个人第六感结果)。于是乎于是,我需要一个硬件平台,在百度推荐的套件中,基于Ameba的硬件平台应该是自由度最高、最容易获取的套件了吧。于是乎就在某宝的Seeed上买了一套。
不再废话,进入正题:
硬件平台: Ameba RTL8195
SDK版本: Standard SDK v4.0a
准备工作
开发环境的搭建
个人本身从事嵌入式开发工作,比较习惯于使用IAR或是Keil等工具进行单片机的开发,所以选择了IAR作为开发的IDE。有关于IAR的安装,当前为止最新版本是 8.20,瑞昱官方不建议使用最新版本,所以我使用的是7.8,这也是旧的最后一个版本,网上教程较多,请参考度娘。
然后将套件的CON2接口连接至电脑,在下载的SDK中找到串行转USB驱动并安装,在tools\serial_to_usb目录下,安装完成后重新插拔。就能在设备管理器里面看到mbed Serial Port端口。这样就能使用套件自带的CMSIS DAP接口进行调试。
遇到问题1:Mbed Serial Port 丢失,USB驱动无法识别
在刚拿到套件的时候,安装上驱动,刚开始一切正常,紧接着板子上的绿灯快速闪烁,然后Mbed Serial Port就丢失了,Windows提示USB驱动无法识别。很是纠结 - -尝试删除卸载各种可能存在的冲突的软件无法解决,我自己是Win10专业版,在台式机和笔记本上都是如此,后来连接至同事的Win7电脑就没有出现这个问题,在尝试重刷 CMSIS-DAP 的固件后问题解决。重刷教程及固件列表地址如下,若有同学遇到同样问题,请按照此方法尝试解决。
如何更换DAP Firmware?
Wi-Fi 网络配置
作为一个基于Wi-Fi的IOT套件,配网肯定是第一步骤。瑞昱官方对配网的说明文档在SDK的 doc文件夹下的AN0011 Realtek wlan simple configuration.pdf 。开始时尝试用app进行网络配置。
遇到问题:APP进行网络配置时无法发现设备
经错误排查,发现在代码中默认是关闭了 Simple Config 功能。将在 platform_opts.h 中的
/*For Simple Link*/
#define CONFIG_INCLUDE_SIMPLE_CONFIG 1
修改为
/*For Simple Link*/
#define CONFIG_INCLUDE_SIMPLE_CONFIG 0
然后重新编译烧录即可。
建议:请自行考究那段宏定义起了作用,也可以使用AT命令进行Wi-Fi配置。
验证度秘功能
基于 v4.0a 的 标准版 SDK,打上Dueros V10版本的补丁后,先是编译
编译完成,没有错误,然后再烧录,
Download.png
然后重启上电,心里美滋滋的配置网络,配网成功后亲切的喊着小度小度,但设备毫无反应,按照说明文档,唤醒后应该会点亮LED,串口也会打印出相关信息,只能证明设备未唤醒。语音唤醒是由ALC5680负责,理论上是我发出的唤醒音源不标准的可能行不大,因为已多次尝试。
遇到问题:基于Ameba的Dueros无法语音唤醒
可能是我原先配网,烧录修复DAP固件中导致ALC5680的固件也丢失了,所以我尝试重新烧录ALC5680的挂件。
烧录方法:Ameba升级ALC5680固件
其中又遇到问题,4.0a_patch_dueros(v10).zip中没有编译工具,代码也不支持烧录操作,经官方技术群的大佬建议,使用了4.0a_patch_dueros(v09).zip版本来升级ALC5680。
升级完成,再编译烧录DuerOS的固件 - -终于我可以正常体验了。
我:小度小度,你是谁啊!
小度:我是你哥,快滚去写深度体验篇!!
好吧,体验至此结束,祝大家玩的愉快。