基于BearPi开发板的语音控制开关(七)更换ASR PRO语音识别模块

后来发现了ASR PRO语音识别模块,ASR PRO板载CH340K芯片,一根Type-C线就可以下载程序,并且开发板上有自动断电电路可以实现一键下载,支持可视化编程,功能远超LD3320。 上手体验ASR PRO 下载天问Block编程软件 官网: http://twen51.com/ 根据提示安装软件,安装过程中会自动安装CH340驱动。 通过typec连接到电脑,设备管理器的端口(COM和LPT)下会显示一个叫CH340的COM端口,设备连接成功。 运行软件,选择ASRPRO设备 然后选择开发模式,模式包含配置模式、编程模式和字符编程。配置模式一目了然,使用简单,功能有限;编程模式是图形化编程,妥妥拽拽即可完成编程,简单易学,功能丰富;字符编程就是手写代码了,c语言,非专业人员较难上手。我选的编程模式。 进入软件,右上角会显示已经连接的设备。 软件默认打开ASRPRO的示例代码,可以不用任何编辑直接烧到模块里。示例代码可以直接编译,编译前需要先生成模型。点击“生成模型”,这里需要注册用户,注册、登录后即可生成模型,生成完成会弹窗

基于BearPi开发板的语音控制开关(六)开发、调试

根据前文的电路连接,开始编程。 小熊派编程 根据前文对小熊派的介绍,先创建一个项目目录: ./applications/BearPi/BearPi-HM_Nano/sample/VoiceControl,目录下边创建两个文件 VoiceControl.c 和 BUILD.gn,内容分别为: #include #include "ohos_init.h" #include "wifiiot_gpio.h" #include "wifiiot_gpio_ex.h" // 开灯 static void LightON(char *arg) { printf("\r\n========== 开灯 ==========\r\n"); (void) arg; GpioSetOutputVal(WIFI_IOT_IO_

基于BearPi开发板的语音控制开关(五)连接电路

各模块都已经把玩过了,接下来把他们组合起来,完成语音开关功能。 参照的文章里接线和代码都没太看明白,用的扩展板也不一样,文章里用的是“E53-SC1智慧路灯”扩展板,我用的是“E53-IA1智慧农业”扩展板,所以我这个设计只参考了作者的思路,线路连接和代码都是我自己摸索着做的。各模块之间通信使用的是GPIO,通过高低电平切换模拟物理开关的按下和弹起,感觉这种通信方式不太正统,但是SPI、UART等通信方式还没研究明白,等研究明白了再做优化。 各模块引脚连接 GND(小熊派) ———— GND(语音播放模块)、GND(语音识别模块) V5.0(小熊派) ———— VCC(语音播放模块)、5V(语音识别模块) IO_11(小熊派) ———— P1.0(语音识别模块) IO_12(小熊派) ———— P1.1(语音识别模块) IO_1(语音播放模块) ———— P1.2(

基于BearPi开发板的语音控制开关(四)初识LD3320A语音识别模块

接下来研究下LD3320A语音识别模块,前文已经准备了该模块。 编程 先为该模块编程,这里用到Keil5作为开发环境,如果没有可参照 Keil5嵌入式开发环境(IDE)的安装和使用 进行安装。 完整代码在文末提供下载,我用的是 LDV7语音模块驱动程序.zip 文件里解压出来的 LDV7语音识别模块--口令模式+IO口控制 工程,找到工程下的 keil4 APP 目录下的 YS-V0.7.uvproj 文件,双击打开工程。 main.c 61行,PrintCom("一级口令: 小杰\r\n"); 改为 PrintCom("一级口令: 小黑\r\n"); 修改唤醒词,这里是串口调试工具里显示用的,没有业务逻辑意义 237行,PA3=1; 改为 PA3=0;

基于BearPi开发板的语音控制开关(三)初识BY8001-16P串口语音模块

前文介绍,我已经准备了LD3320A语音识别模块和BY8001-16P串口语音模块,LD3320A用来识别语音,BY8001-16P用来播放提示音。在试用语音识别模块前我先简单研究了BY8001-16P。 把mp3文件拷贝到tf卡中,文件编号是按存入的先后顺序编排的。 IO口触发播放 根据上边的电路图接线,这里可以用USB转TTL模块,先通电,可以连接电脑USB和非PD充电头。当然这里也可以用其他5V供电设备。 BY8001-16P的供电电压是3.6V~5V,推荐4.2V,我一开始按推荐电压供电,播放音频时响一声就停,折腾半天没找到原因,后来换了5V供电好了。 先将两个模块的GND连接;SPK1和SPK2连接喇叭的正负极,不区分正负;将两个模块的VCC连接。这里可以先不接RXD和TXD两个引脚。 将语音模块的IO1和GND用一个导线触连一下,即开始播放第一个mp3。 该模块有5个触发IO口,支持15段按键一对一触发播放。 这里遇到一个问题,就是当尝试按上表规则播放第二个mp3的时候没有反应,播放第三个的时候播放的是第二