周宝昌 谢智阳 梁景亮
摘要:随着互联网的飞速发展,科学技术面向新突破进入良好发展的时代。人们的生活水平不断提高,在选择家庭电器的时候,也开始慢慢趋向智能化的生活体验。智能家居就是通智能化去控制家电,通过微电子技术,实现对家庭电器的智能控制,从而实现家居的自动化和信息化,不断满足人们的生活需求。本产品是以Arduino为中央控制器,配合一款LD3320的非特定语音识别模块ASR M08-B和JQ8900-16P的语音播报模块,实现对家庭灯光系统的语音控制,达到智能化。
关键词:智能家居;语音识别系统;Arduino;ASR M08-B;JQ8900-16P
中图分类号:TN912.34 文献标识码:A 文章编号:1007-9416(2019)09-0037-02
1 项目简介
本项目是基于Arduino中央控制器,通过语音识别模块ASR M08-B采集并识别语音信息,语音模块JQ8900-16P播放对应的反馈语句,实现家庭灯光的智能语音控制系统。为了让读者更好的了解本项目智能家居系统的组成及原理,设计了一个交互式的展示动画,使读者在了解基本组成和原理的同时,以便更好的了解和学习Arduino单片机相关知识及ASR M08-B语音识别模块的相关知识。
2 系统设计原理
系统原理图1所示语音识别模块ASR M08-B采集并识别语音信息,再将对应语音的字符信号反馈至Arduino中控,中控系统通过识别和信息处理后发出对应的控制信号去控制室内的灯光的开与关,同时输出IO电平信号至JQ8900-16P语音模块,控制语音识别模块播放对应的反馈语句,实现交互式的家庭灯光智能语音控制系统。
3 基于Arduino的语音识别系统硬件设计
3.1 Arduino单片机
Arduino是一款非常的便捷且容易上手开源的电子平台,包含硬件和软件。对Arduino的编程是通过Arduino编程语言和Arduino开发环境来实现。
3.2 ASR M08-B语音识别模块
ASR M08-B语音识别模块,能进行非特定语音识别,识别距离为3米,在本产品中模块由Arduino的5V供电。模块的语音识别率达到了85%-95%,模块语音识别度远高于对应市面上的其他模块的识别度,ASR M08-B语音识别模块采用了TTL串口通讯,且内置了高清麦克风用于接收语音信号。
ASR M08-B语音识别模块支持三大识别检测模式,可按需要进行使用。
(1)循环检测模式。持续检测周围语音信息,直到识别成功。
(2)口令检测模式。通过两个指令来控制一个动作,要求赋予的两个指令需在八秒内同时检测。
(3)按钮检测模式。触发按钮,八秒内读出语音指令,模块识别,超过八秒模块识别不到,需重新触发按钮。
3.3 JQ8900-16P語音播报模块
JQ8900-16P语音模块,它可以储存音频信息,并通串口输出音频,模块的板子上集成有一个十六位的MCU,所选用的是SOC方案,并且采用了一款专门解码音频的ADSP,采用的是硬解码的方式,能够更加高效地确保系统的稳定性和音质。模块的尺寸非常小巧方便使用。
3.4 扬声器
这是一个8Ω,0.5W,直径为70.5mm的扬声器,这种电子积木非常小巧方便,适用于单片机开发实验使用。
在此系统中,通过JQ8900-16P语音识别模块驱动播报系统反馈情况的语音,实现交互式的语音识别体验。
3.5 实验材料(表1)
4 系统软件设计
4.1 软件设计
软件设计流程分为三大部分,首先第一步是对ASR M08-B语音识别模块进行灯光控制指令编辑,使其具有分别控制四个室内灯光开与关的控制语句。第二步,设置JQ8900-16P的语音模块,设置对应IO口的音频。第三步,设计Arduino单片机中控程序,Arduino单片机接收由ASR M08-B语音识别模块传递来的字符信号,识别信号通过IO口电频控制对应灯光的亮灭,同时赋予JQ8900-16P对应音频IO口低电平信号,播放系统执行结果音频信息。
4.2 程序设计
4.2.1 ASR-M08-B模块设置
(1)对“ASR M08-B设置软件 V3.2.exe”。
(2)在视口左上角选择“串口号COM3”、选择“打开串口”、并点选“十六进制显示”。
(3)语音识别模块通过USB转串口模块连接至电脑。接线方法如下:
语音模块TXD --> USB模块RXD
语音模块RXD --> USB模块TXD
语音模块GND --> USB模块GND
语音模块3V3 --> USB模块5V
(4)选择模块模式“A”(循环检测模式)端,这里最好触发一次上面的大按钮(按一次即可,为了确保模块工作在正确的模式)。
(5)接着编辑指令信息,选择添加关键词,例如:(00,kai deng,001,$)这里所设置的kai deng就是开灯关键语句的拼音。
单击发送,就可以将你所需要识别的语句添加至ASR M08-B语音识别模块。接着可以对模块进行测试,对着模块说“开灯”模块会返回“0B”,表示正常。
依照此方法分别对整个系统的:客厅灯,阳台灯,主卧室,洗手间灯,添加开关控制语句。
4.2.2 JQ8900-16P模块设置
设置模块连接USB更新所需要的音频文件,文件名须为5位数字,该五位数既是该文件的曲目号。选曲播放指令(0 x b)靠此数字来识别。