安信可离线语音VC01/02:硬件规格书、开发资料、烧录工具、应用开发
安信可离线语音模组 VC-01、VC-02 系列教程 【基础认知篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【快速上手篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【中级入门篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【高级进阶篇】
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】虚拟开发环境搭建和分享
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】事件和GPIO控制
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】PWM输出
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】串口输出
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】SDK音频替换失败记录过程
安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】自定义音频播放控制
以上合集可查看:https://bbs.ai-thinker.com/foru
安信可离线语音模组 VC-01、VC-02 系列教程 【高级进阶篇】
简介
在上一篇文章中我们对安信可语音开放平台进行了全面的介绍, 大家可以快速的使用安信可语音开放平台来构建自己的SDK和固件。
但是在对应的IO控制行为的介绍并不是很多, 因此在本章节我们将着重介绍当语音命令被识别后所触发的控制行为。
简单IO高低电平控制
PWM波形输出(只可以控制周期和次数)
串口输出(可以自定义波特率)
首先我们需要使用安信可语音开放平台配置IO如下所示(适用于VC01/VC02 devkit)(IO的配置前文中有详细介绍)。

由于想要识别到语音的命令之后,使用串口来输出复杂命令。 因此需要使能串口引脚 (如果在IO配置中不配置串口功能, 那么在控制命令添加的时时候串口输出将不可见)。

由于需要测试三种行为的IO, 所以在这里配置简单的IO高低电平控制、串口控制和PWM控制等。
接着设置其对应的行为,点击控制详情, 对新建的语音命令添加控制行为。

如上图所示,它一共具备以下命令和效果:
●当识别到语音命令提高亮度的时候 GPIO_A27 将会输出脉冲, 周期为50MS, 次数为10
●当识别到语音命令降低亮度的时候 GPIO_A27 将会输出脉冲, 周期为10MS, 次数为10
●当识别到语音命令打开灯泡的时候 GPIOB2(开发板上冷色LED)将会输出高电平
●当识别到语音命令关闭灯泡的时候 GPIOB2(开发板上冷色LED)将会输出低电平
●当识别到语音命令串口发送数据的时候 UART1_TX 将会输出自定义的数据 AA BB CC DD
同时配置上述的命令为免唤醒命令(不需要触发唤醒,可以直接发送语音命令)。

生成固件信息。

在漫长的等待后, 固件生成完毕, 点击固件进行下载。

在下载之后使用烧录工具对固件进行烧录
(需要烧录uni_app_release_update.bin 固件,不要烧录错了,否则会没有响应)。

烧录效果演示
PWM输出控制
使用语音命:提高亮度和降低亮度,并且将手持示波器的探头接到IOA_27。 下图为IOA_27的输出波形信息。

由于这个手持示波器输出波形短的时候对频率占空比的计数显示不是很正确, 因此再使用逻辑分析仪来查看对应的周期。这里分别使用两次命令对数据进行PWM解码。

前者的周期为50MS,占空比为50%,频率为20KHZ,和设置的控制输出一致。

后者的周期为10MS上下,占空比为50%,和设置的控制输出一致。

这里逻辑分析仪对这个信号采集的不是很好, 逻辑分析仪上只显示了 9次输出,但是示波器上显示一共输出了十次, 请以示波器输出为准。
串口输出控制
之后将测试串口输出功能(上文中配置的9600波特率)将逻辑分析仪的探头接到开发板的 TX1上,如下图所示:

此时使用语音命令: 串口输出数据,然后观察逻辑分析仪中采集到的数据,并且对其进行解码。

可以看到,数据被正确的以9600的波特率进行解码。 正好是设置发送的 AA BB CC DD。
普通IO高低电平输出控制
使用语音命令: 打开灯泡。可以看到左侧冷光LED灯已经打开

使用语音命令: 关闭灯泡。可以看到左侧冷光LED灯已经关闭

总结
在本文中着重探究和使用了VC系列模组在识别到语音命令后的不同的控制行为(IO控制, PWM、UART)。 通过对不同控制行为的控制演示,使其行为可以直观的被观察到。
在下一个章节中将做一个应用Demo来将上述的控制行为应用起来(着重介绍UART),将使用状态机的方式来解析串口数据从而实现任意种类的数据发送和解析。
下期再见~
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !