基于OpenHarmony开发的语音小助手

基于OpenHarmony开发的语音小助手

本教程将演示如何在BearPi-HM_Nano开发板上使用GPIO输入功能去读取语音模块信息,实现****开关灯自由****!!

一、实验前器材准备

语音识别模块

在这里插入图片描述

语音播放模块

在这里插入图片描述

SD卡

在这里插入图片描述

无源喇叭

在这里插入图片描述

BearPi-HM_Nano开发板

在这里插入图片描述

E53—SC1模块

在这里插入图片描述

面包板

在这里插入图片描述

二、环境搭建

(1)搭建小熊派的开发环境

参考官方文档

三、电路连接

BearPi-HM_Nano开发板引脚连接

GPIO_11——P1.2(语音识别模块)

GPIO_12——P1.2(语音识别模块)

在这里插入图片描述

语音播放模块引脚连接

IO1——P1.2(语音识别模块)

IO2——P1.3(语音识别模块)

GND——GND(小熊派)

VCC——VCC(小熊派)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jzdgTzjy-1648207410102)(file:///C:\Users\han\AppData\Local\Temp\ksohtml224264\wps9.jpg)]

语音识别模块引脚连接

GND——GND(小熊派)

VCC——VCC(小熊派)

P1.2——GPIO_11(小熊派)

P1.3——GPIO_12(小熊派)

在这里插入图片描述

无源喇叭引脚连接

正极—SPK1(语音播放模块)

负极—SPK2(语音播放模块)

四、软件介绍

(1) BearPi-HM_Nano开发板

引脚初始化
GpioInit();**//初始化LED灯**IoSetFunc(**WIFI_IOT_IO_NAME_GPIO_7**, **WIFI_IOT_IO_FUNC_GPIO_7_GPIO**);GpioSetDir(**WIFI_IOT_IO_NAME_GPIO_7**, **WIFI_IOT_GPIO_DIR_OUT**);**//初始化GPIO_11按键,设置为下降沿触发中断**IoSetFunc(**WIFI_IOT_IO_NAME_GPIO_11**, **WIFI_IOT_IO_FUNC_GPIO_11_GPIO**);GpioSetDir(**WIFI_IOT_IO_NAME_GPIO_11**, **WIFI_IOT_GPIO_DIR_IN**);IoSetPull(**WIFI_IOT_IO_NAME_GPIO_11**, **WIFI_IOT_IO_PULL_UP**);GpioRegisterIsrFunc(**WIFI_IOT_IO_NAME_GPIO_11**, **WIFI_IOT_INT_TYPE_EDGE**, **WIFI_IOT_GPIO_EDGE_FALL_LEVEL_LOW**, ON, ***\*NULL\****);**//初始化GPIO_12,设置为下降沿触发中断**IoSetFunc(**WIFI_IOT_IO_NAME_GPIO_12**, **WIFI_IOT_IO_FUNC_GPIO_12_GPIO**);GpioSetDir(**WIFI_IOT_IO_NAME_GPIO_12**, **WIFI_IOT_GPIO_DIR_IN**);IoSetPull(**WIFI_IOT_IO_NAME_GPIO_12**, **WIFI_IOT_IO_PULL_UP**);GpioRegisterIsrFunc(**WIFI_IOT_IO_NAME_GPIO_12**, **WIFI_IOT_INT_TYPE_EDGE**, **WIFI_IOT_GPIO_EDGE_FALL_LEVEL_LOW**, OFF, ***\*NULL\****);
中断调用函数

这部分代码主要分析语音识别到指令触发中断的功能代码,这里以ON函数为例,语音识别模块P1.2的引脚与主控芯片的GPIO_11连接,首先通过调用IoSetFunc()和GpioSetDir()将GPIO_11设置为普通GPIO的输出模式。从前面原理图可知,当收到指令时,GPIO_11会被下拉到地,所以这里要使用IoSetPull()将GPIO_11引脚设置为上拉,这样才能产生电平的跳变。最后通过GpioRegisterIsrFunc()将中断类型设置为边沿触发,且为下降沿触发,当按键被按下时,GPIO_11会从高电平转为低电平,产生一个下降,这个时候就会触发中断并回调ON函数。在ON函数中实现点亮LED灯操作。

**static** **void** ON(**char** ***arg**){(**void**)**arg**;GpioSetOutputVal(**WIFI_IOT_IO_NAME_GPIO_7**, 1);}**static** **void** OFF(**char** ***arg**){(**void**)**arg**;GpioSetOutputVal(**WIFI_IOT_IO_NAME_GPIO_7**, 0);}

(2) 语音识别模块代码介绍

##### **引脚定义**sbit PA3=P1^2; //对应板上标号 P1.2sbit PA4=P1^3;  //对应板上标号 P1.3##### **功能实现**switch(dat)	/*对结果执行相关操作*/{case CODE_DMCS:	 /*命令“开灯”*/PrintCom("命令识别成功\r\n"); //串口输出提示信息PA3=0;//让PA1端口为低电平							break;case CODE_KFBYZ:	 /*命令“关灯”*/PrintCom("命令识别成功\r\n");//串口输出提示信息PA4=0;//让PA2端口为低电平		break;}

五、实物图

等待指令

在这里插入图片描述

接收到“开灯”指令

在这里插入图片描述

`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25620.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

带语音通话功能的华为ME909s-821a使用方法

关键词:华为 HUAWEI ME909s 821a V2 语音 Codec 正文:不少用户反馈,希望华为ME909s-821a模块能带上语音通话功能,其实821a模块引出了PCM数字音频接口,我们只需要外挂一个PCM codec即可实现语音通话功能。但是考虑…

调用华为API实现中文语音识别

目录 1. 作者介绍2. 华为云中文语音识别2.1 录音文件识别与获取2.2 限制要求2.3 对象存储服务(OBS)简介 3. 实验过程以及结果3.1获得API3.2 代码实现3.3 运行结果 参考(可供参考的链接和引用文献) 1. 作者介绍 张楠,女…

chatgpt赋能python:Python处理Word文件的优秀方案

Python处理Word文件的优秀方案 如今,Word文档在生活中变得越来越普遍,不仅在学校或办公室中使用,而且也在日常生活中,像编辑简历、写作业、撰写文档和工作报告等方面也十分常见。因此,学习如何使用Python处理Word文件…

期待文心一言体验号

期待百度文心一言的体验号,用好chatGPT首先要问自己想要什么,该怎么问才能高效拿到想要的目标结果。遇弱则弱,遇强则强,遇到正能量就能传递正能量! 谁有文心一言体验地址麻烦提供一下,交流一下: 下方是回复…

ChatGPT时代:数据标注会成为一种人机交互“语言”么?

标注猿的第70篇原创 一个用数据视角看AI世界的标注猿 大家好,我是AI数据标注猿刘吉,一个用数据视角看AI世界的标注猿。 从去年的10月份到现在有半年的时间没有更新了,去年没有更新是疫情的原因,今年没有更新主要有两个原因一…

Plus 版 Chatgpt,和任何的 PDF 聊天! #Chatpdf

Chatgpt 的出现,颠覆了整个内容生产行业的同时,也极大地提高了很多文字工作者的效率。 于是一时之间,各大公司都在争先推出自己的聊天机器人,希望在这个新兴而庞大的市场分一杯羹。‍‍‍‍‍‍‍‍ 于是 Chatpdf 出现了&#xff…

大厂程序员手把手教你如何写简历(附简历模板)

代码随想录刷题网站上线咯:programmercarl.com,200道力扣题目刷题顺序,详细题解,支持C、Java、Python、Go、JS等多语言版本,一个你只要发现,就会收藏的硬核算法学习网站。 文章目录 简历基调谨慎使用精通两…

ChatGPT做的简历戳中HR心巴,小伙刚毕业就拿下梦想offer!

西风 发自 凹非寺量子位 | 公众号 QbitAI 鹅妹子嘤,最近一位毕业生用ChatGPT生成的求职信,分分钟躲过简历筛选算法。 然后,自己梦寐以求的工作就真的到手了! 这位用ChatGPT帮忙找工作的小伙表示: 三月份以来写所有东西…

软件测试个人求职简历该怎么写,模板在这里

目录 1、个人资料 2、专业技能 3、工作经验 4、项目经验 5、教育背景 1、个人资料 姓 名:xxx 性 别:x 手机号码:138888888xx 邮 箱: xxx 学 历:本科 专 业:电子商务 英 语:四级 当前工作…

程序员简历应该怎么写?

说到程序员简历,这两个月,我看过不下10,000份简历。。。 答主不是HR,也不是技术负责人,但是在网站的运营工作中,每天最开心的事情就是研究候选人的简历了~~ 这些人中,有BAT的资深大牛程序员,也有…

建议这样使用ChatGPT,让你成为更好的开发者

这样使用ChatGPT,让你成为更好的开发者 作为开发人员,您的责任之一是不断学习和提高您的技能。ChatGPT 是一个强大的工具,可以通过多种方式帮助您成为更好的开发人员。如果你不知道什么是 ChatGPT,它是 OpenAI 开发的一种大型语言…

大会线上同步直播, 来不到现场也可以线上看直播,以及参会秘籍

紧急提醒:还有1天! 2020.NET开发者大会就要开幕啦! 你都做好参会准备没有? 特殊时期,为方便小伙伴们顺利参会,小编特意整理了这篇大会参会攻略,大到各种日程安排、小到签到、出行、防疫等&#…

10、记录使用科大讯飞的语音唤醒硬件生成PCM文件,通过ffmpeg库去生成MP3音频文件

基本思想:不太会ffmpeg解析pcm的音频文件,所以记录一下结合具体的场景和具体的应用 具体生成的pcm使用的官方代码,不详细叙述,官方的唤醒模块将会产生一个pcm文件,可使用下列命令或者代码将pcm转成mp3文件&#xff0c…

深兰科技亮相2023数博会:硅基知识大模型推动个人数字化产业

近日,2023中国国际大数据产业博览会 “数字经济与实体经济深度融合”论坛在贵阳举行。腾讯云、京东集团、网易、深兰科技等8家企业负责人进行了行业演讲。 作为2023数博会的专业论坛之一,本次论坛以“数融百业 创变赋新”为主题,从数实融合视…

吴怀宇 | 对比欧盟,中国的《人工智能法案》应有什么底座?

来源:OpenDAI 作者:吴怀宇 中国科学院博士、北京大学博士后 2023年6月14日,欧洲议会全体会议表决通过了《人工智能法案》授权草案,标志着该法案将进入欧盟立法严格监管人工智能技术应用的最终谈判阶段。欧洲议会此前曾发出声明&a…

希尔伯特旅馆里,住着AI的某种真相

“无穷”和“无穷1”,哪个更大? 已经吸收了不知道多少数据的AI模型,和比他多学习一条数据的模型,哪个更智能? 想聊聊这个问题,出于一个偶然的机会。很早之前我在测试ChatGPT的时候,突然想问他个…

AI大时代——一次全新的生产力革命

✏笔者按: 我这个人是比较笨的,我是在3月9日左右才恍然意识到一个崭新的AI大时代已经到来了。 全文7339字,阅读需要约10分钟 >>前言 我是在大三时候阅读《游戏编程中的人工智能技术》这本书的时候接触到的人工智能和神经网络的相关…

“AI教父”Geoffrey Hinton:智能进化的下一个阶段

来源 | The Robot Brains Podcast OneFlow编译 翻译 | 杨婷、贾川 ChatGPT等大模型带来的震撼技术革新,让Geoffrey Hinton突然改变了自己的一个想法。 这位75岁的“人工智能教父”意识到,数字智能优于生物智能的进程无法避免,超级智能很快就会…

为什么说 AI 将拯救整个世界?

【CSDN 编者按】AI 会让我们失业吗?AI 会“杀”死人类吗?当一门重要的新技术横空出世的时候,人们总是会担心它给人们带来的种种威胁,基于此,本文作者认为,虽然 AI 风险很高,但也存在非常有影响力…

从破解虫脑到攻克人脑:一条“永生之路”的新赛道?

从破解虫脑到攻克人脑:一条“永生之路”的新赛道? 首张果蝇大脑连接组:耗费十余年,重建三千神经元,超50万突触! 论文地址 果蝇幼虫大脑的连接组。 所有脑神经元的形态学都经过了突触分辨率的电子显微镜成像…