这是本文档旧的修订版!


在开始本指南之前,请先阅读ConnectCore 8M Nano上手指南,并刷入DEY 4.0的系统安装包,测试QT和Webkit的一些基本功能,以便掌握ConnectCore 片上系统的一些基本的特性和操作方式。

注意,语音识别演示镜像是基于DEY 3.2的固件,本操作会把之前刷好的DEY4.0固件清除,并更新固件为DEY 3.2语音识别相关的演示环境。如果您还没有测试过DEY 4.0的特性,建议您先完整操作一遍DEY 4.0的功能演示。

本文档以精简的方式展示语音识别和控制的能力,您也可以参考官方文档:https://www.digi.com/resources/documentation/digidocs/embedded/dey/3.2/cc8mnano/yocto_r_connectcore-voice

ConnectCore 8M Nano开发板的语音识别演示固件可以从Digi的官方FTP下载,当前最新的支持版本是DEY 3.2。您可以根据开发板的类型来下载不同固件,以便后面进行固件更新操作。因为Digi服务器在境外,建议您采用断点续传的下载工具下载,下载完成后,请核对SHA256的hash值,以确保文件的完整性。

请访问官方的FTP去下载https://ftp1.digi.com/support/digiembeddedyocto/3.2/r3/images/voicekit/dey-image-voice-recognition-ccimx8mn-dvk.zipCC8m nano 语音识别固件包。

找一张uSD卡并格式化为FAT32分区,将下载的压缩包的内容解压到uSD卡中。然后将uSD卡插入到CC8MN开发板的卡槽。

按下图所示连接好硬件,使用uSD卡更新固件时,网口也可以不接。只需接好Console口和电源即可,我们需要一个串口终端程序来显示它。可使用超级终端或是putty等终端程序(linux下则常用minicom作为终端程序),串口终端的波特率设置为115200/8/n/1。注意开发板线缆连上后有两个COM口供选择,只有一个是Cosole口(通常是靠前的那个串口号),上电后CC8MN开发板的console口会输出相关的启动信息。

上电后按任意建停在Uboot中,在Console口中执行脚本

setenv image-name dey-image-voice-recognition
run install_linux_fw_sd

脚本会自动执行一系列UBoot命令,并将固件更新到NAND闪存中。在更新过程中会自动重置环境变量,其中出厂的mac地址等是写保护的,所以会有出错提示,这是正常的,没有关系。

早期版本不支持直接使用上面命令时

早期版本不支持直接使用上面命令时

可以用: ⇒ fatload mmc 1 $loadaddr install_linux_fw_sd.scr
⇒ source $loadaddr

上面自动升级固件如遇到问题,有可能是不同DEY版本的问题,可以用下面手工命令的方式来升级,确保SD卡中有卡刷包,然后执行: ⇒ update uboot mmc 1:1 (如果uboot不刷也可以不执行)
⇒ update linux mmc 1:1
⇒ update rootfs mmc 1:1
⇒ update recovery mmc 1:1

开发板上的音频相关接口布局如下: 注意这不是音频和麦克风合在一起的耳机接孔,您需要的是麦克风和扬声器的单独接口,用耳麦一体的音频接口无法正常测试。经测试,许多国内麦克风接口无法使用,建议用USB耳麦来实现。

测试麦克风的方法: 上电,用root登陆linux,先关闭demo程序:

vicctl stop demo-washer  先停掉demo程序
arecord -f cd sound.wav --duration 10   然后对着麦克风说话,录个10秒音频
aplay sound.wav  播放刚才录制的声音,如果无任何声音,说明麦克风有问题。

测试扬声器: 可先下载一段测试音频,配置好网络,然后用scp上传到板子:

aplay testaudio.wav

网络配置 DEY系统的网络配置,请参考:DEY下网络设置

接口测试 请参考CC8MN开发板接口测试

测试例程

Digi提供了各种接口的测试例程。一些系统镜像已经预编译好例程,可以在命令行中直接执行。如果您的文件系统不带有例程,可以烧一下集成好例程的文件系统镜像,也可以利用DEY应用程序开发章节提供IDE来编译所需的例程。
部分例程用法请参考Digi嵌入式Linux例程和测试说明 除了Digi提供的官方例程外,许多github上的开源程序都可以很轻松集成到DEY文件系统中,请参考DEY系统开发章节。

注意ConnectCore 8系列有几种预编译固件,它的启动器是systemd,你可以用systemctl list-unit-files 查看当前安装的服务,您可以根据自己的需求,用systemctl临时调整或关闭影响自己测试功能的一些程序或服务。

经过上述的步骤,CC8MN单板机中已经有一套上电后就运行的嵌入式Linux,您可以参考DEY应用程序开发来开发可以在板子上运行的程序。

Digi提供的预编译好的DEY嵌入式系统可以方便开发人员进行测试各项功能和接口,但不同的应用需要的接口和软件包等各不相同。DEY系统开发是指利用DEY的系统开发环境和工具来裁减和定制适合自己使用的嵌入式linux系统。请参考DEY开发环境搭建