发帖
4 0 0

安信可离线语音模组 VC-01、VC-02 系列教程 【高级进阶篇】

WangChong
论坛元老

77

主题

859

回帖

1万

积分

论坛元老

积分
11380
VC系列 51 4 前天 19:32
简介

在上一篇文章中我们对安信可语音开放平台进行了全面的介绍, 大家可以快速的使用安信可语音开放平台来构建自己的SDK和固件。但是在对应的IO控制行为的介绍并不是很多, 因此在本章节我们将着重介绍当语音命令被识别后所触发的控制行为。他们分别是简单IO高低电平控制、PWM波形输出(只可以控制周期和次数)、串口输出(可以自定义波特率)


首先我们需要使用安信可语音开放平台配置IO如下所示(适用于VC01/VC02 devkit)(IO的配置,前文中有详细介绍)


Snipaste_2025-03-31_05-09-14.png

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

Snipaste_2025-03-31_05-12-50.png

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

Snipaste_2025-03-31_05-19-00.png

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


然后同时配置上述的命令为免唤醒命令(不需要触发唤醒,可以直接发送语音命令)

Snipaste_2025-03-31_05-25-39.png



接着便可以生成固件信息

Snipaste_2025-03-31_05-26-51.png

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

Snipaste_2025-03-31_06-24-41.png

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

Snipaste_2025-03-31_06-28-48.png


烧录效果演示

PWM输出控制


使用语音命令 : 提高亮度降低亮度,并且将手持示波器的探头接到IOA_27. 下图为IOA_27的输出波形信息。

Snipaste_2025-03-31_18-56-46.png


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

360截图20250331190004.png


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

Snipaste_2025-03-31_19-01-02.png


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

Snipaste_2025-03-31_19-04-00.png

这里逻辑分析仪对这个信号采集的不是很好, 逻辑分析仪上只显示了 9次输出,但是示波器上显示一共输出了十次。 请以示波器输出为准。


串口输出控制


之后我们将测试串口输出功能(上文中配置的9600波特率)将逻辑分析仪的探头接到开发板的 TX1上 如下所示

微信图片_20250331190931.jpg

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


Snipaste_2025-03-31_19-11-30.png

可以看到, 数据被正确的以9600的波特率进行解码。 正好是我们设置发送的 AA BB CC DD



普通IO高低电平输出控制



使用语音命令: 打开灯泡

微信图片_20250331192552.jpg
左侧冷光LED灯已经打开


使用语音命令: 关闭灯泡

微信图片_20250331192555.jpg
左侧冷光LED灯已经关闭


总结

在本文中我们着重探究和使用了VC系列模组在识别到语音命令后的不同的控制行为(IO控制, PWM、UART)。 通过对不同控制行为的控制演示,使其行为可以直观的被观察到。 那么在下一个章节中我将来做一个应用Demo来将上述的控制行为应用起来(着重介绍UART)。我们将使用状态机的方式来解析串口数据从而实现任意种类的数据发送和解析。
──── 0人觉得很赞 ────

使用道具 举报

赞~佬用的手持示波器是谁家的啊
人均一台示波器😔
昨天 11:44
1055173307 发表于 2025-4-1 09:05
赞~佬用的手持示波器是谁家的啊

众仪的703S, 用着还是不错的. 就是调参数不方便. 不过一键Auto还行
WangChong 发表于 2025-4-1 11:44
众仪的703S, 用着还是不错的. 就是调参数不方便. 不过一键Auto还行

好嘞  谢谢佬
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28252 个
  • 话题数: 40216 篇