陈希祥,黄 伍,李德英
(湖南信息学院 电子科学与工程学院,长沙410007)
人们生活节奏越来越快,时间的合理有效利用成为人们日益关注的焦点。随着计算机与信息技术的迅速发展,家居系统智能化、信息化、数字化带来方便的同时,为使用者提供了更优质的生活体验,具有良好的发展前景与广阔的应用市场[1]。
智能家居[2-3]的起源可以追溯到上世纪80年代的美国,随后在欧美及日韩、新加坡等亚洲发达国家流行,目前已取得较丰富的研究成果[4-5]。智能家居进入我国的时间较短、起步较晚[6],随着我国移动通信技术、自动控制技术、智能技术的不断发展和突破创新,智能家居发展非常迅速。无线通讯技术、总线技术、综合布线技术、以及网络技术[7-8]推进了智能家居与物联网之间的融合发展。
语音识别技术高效快捷、舒适方便,能够很好地帮助人们将复杂繁琐的生活简单化,给人们带来更舒适的居家体验。随着物联网大数据与人工智能技术不断发展,以智能音箱为代表的智能产品广泛应用于家居生活,语音交互逐渐成为下一代人机交互模式[10-12]。近年来国内外对语音控制技术进行了研究,且已取得很多成就[13-14]。文章基于STM32 单片机,使用语音识别技术实现家居系统智能控制。
智能家居系统以家庭环境为依托,应用计算机技术、通信技术、传感器技术以及智能技术,实现家居智能化监控和管理。本文以STM32 单片机为控制核心,基于LD3320 语音识别芯片实现人机交互,针对家居设备设计智能化嵌入式控制系统。系统结构上由硬件和软件两部分组成,实现照明电灯、窗帘和热水器等典型家居设备的智能控制,如图1 所示。
图1 语音识别控制模块框图Fig.1 Block diagram of speech recognition control
在控制方式上主要采用语音采集与识别控制,主要过程如下:
(1)语音指令设置和修改:通过程序设计,对所使用的用户语音指令关键词进行预先设置与修改,作为触发语音识别芯片的一级语音指令。
(2)家居系统语音识别控制:用户发出语音信号作为二级语音控制指令,LD3320 语音识别芯片检测信号,进行特征提取和关键词匹配、频谱分析,正确识别语音指令、数据处理后传送给单片机,由单片机发送相应的控制指令给终端设备,实现家居系统语音控制,如图2 所示。
图2 语音识别流程图Fig.2 Speech recognition flow chart
智能控制系统主要包括单片机最小系统、语音识别电路及相应的外围接口电路等。
选用STM32F103C8T6 芯片做为主控制器,最小系设计是整个控制系统的核心,包括系统电源、实时时钟电路、复位电路等几个部分。
(1)电源电路设计
单片机工作电压为2~3.6 V,由外部提供5 V 直流电源,通过AMS1117 电压转换芯片,以3.3 V 作为单片机供电电源,电源电路如图3 所示。
图3 电源电路Fig.3 Power circuit
(2)时钟电路设计
STM32 内部有5 个时钟源,只需考虑外部时钟设计,即外部高速时钟和外部低速时钟,选择8 MHz频率的外部高速晶振源提供给内部时钟,选择频率为32.768 kHz 的外部低速晶振源提供给实时时钟模块。时钟电路如图4 所示。
图4 时钟电路Fig.4 Clock circuit
(3)复位电路设计
系统复位方式有两种,一是上电复位,由串联电阻以及并联电容构成,系统上电,电容使复位引脚为低电平;电容充电完成后,拉高电平,复位完成。上电复位为系统主要复位方式。二是按键复位,系统利用复位引脚连接按键实现复位。当按键被按下时,复位引脚电平被拉低,系统复位;按键弹起,复位引脚电平拉高。复位电路如图5 所示。
图5 复位电路Fig.5 Reset circuit
采用LD3320 语音识别芯片作为语音控制处理核心,它具有强大的语音识别特征库,识别功能灵敏、短距离内识别误差小。LD3320 内部有8 个数据传输接口P0~P7,且集成一块单片机芯片;语音信号采集并进行处理后,通过串口方式与单片机P0.0~P0.7 相连 实 现数 据通 讯;P3.5~P3.7 分别与RST、WR、RD 等控制信号端连接,P4.3 与MD 端连接,采用10K 的上拉电阻; 系统电路原理如图6 所示,实物如图7 所示。
图6 语音信号采集识别电路Fig.6 Speech signal acquisition and recognition circuit
图7 控制系统硬件图Fig.7 Hardware diagram of control system
在家居系统控制中,系统上电后首先对LD3320芯片进行初始化,包括单片机SPI、GPIO 引脚、片内时钟、定时器以及对各个引脚端的初始化和配置。其次,系统通过LD3320 语音识别芯片采集并识别用户发出的一级语音触发指令及二级语音控制指令,将语音指令进行处理后传输给单片机,单片机发送控制指令给相应的家居设备,实现语音控制。当系统接收到一级触发指令“小智”时,进入预备状态,等待二级语音控制指令。该语音识别芯片允许用户预设50 条识别指令,文章所设计的语音识别指令如表1 所示。
表1 语音识别指令预设Tab.1 Preset values of speech recognition instruction
单条控制指令语句字数限制在5 个字以内,若用户发出的单条语句字数过多,则字的发音,人的叙述时间等因素,影响语音指令识别准确度。
(1)照明电灯开启和关闭。灯光照明模块由2个LED 灯模块组成。单片机通过检测用户发出的语音指令,控制引脚的高低电平输出进而控制LED 灯状态。当识别到二级指令“开客厅灯”语句时,语音识别芯片触发,单片机引脚输出高电平信号,二极管正向导通,LED 点亮;当识别到“关客厅灯”指令时,语音识别芯片触发,单片机引脚输出低电平信号,二极管反向电流截止,LED 熄灭。
(2)智能窗帘智能卷合。当用户发出“开窗帘”或者“关窗帘”的二级语音控制指令时,语音识别芯片便对语音识别信号进行处理并传送到单片机,经L298N 驱动芯片驱动电机正反转,从而控制窗帘的开启和关闭。
(3)热水器开启和关闭。当用户发出二级语音指令“打开热水器”,单片机引脚PA1 输出高电平,控制继电器的PIN 端,使继电器光电耦合闭合,打开热水器开关;当用户发出二级语音指令“关闭热水器”,PA1 输出低电平,继电器光电隔离断开,热水器关闭。
对系统上电,发送“小智”的语音指令,蓝灯亮起,语音识别模式触发,开始进入二级语音指令检测与识别状态;发送“小白”指令,无反应。若16 s 内无二级指令,蓝灯熄灭,语音识别模式关闭。
(1)语音指令测试:通过设定几组不同的语音指令,分为短字符串长度和长字符串长度语音指令,分别对这些语音指令进行检测,观察并判断系统对语音指令长短的处理能力,结果如表2 所示。
表2 长、短语音指令识别能力测试Tab.2 Identification ability test of long and short speech instructions
经过对10 组不同长语音指令、短语音指令识别测试可以看出,语音的长短对识别准确率有较明显的影响,长指令语音识别的能力较弱,有一定识别误差,甚至得不到响应。而对于短指令,语音识别的效率和能力都非常有效。
(2)距离测试:通过在室内5 个不同距离的地点,发送相同的语音指令,检测不同距离对二级语音控制指令的检查与识别能力的影响,结果如表3所示。
表3 语音识别距离测试Tab.3 Speech recognition distance test
通过数据可以看出,离主控制器越远,识别的能力越弱,甚至出现监测、识别不了的情况,而在语音识别芯片的允许范围0~15 m 内,可满足正常住宅控制距离范围。
最后对所设计的家居智能控制系统进行综合测试,结果如表4 所示,结果表明,所设计的系统能够有效实现语音远程智能控制。
表4 智能家居系统语音控制功能测试Tab.4 Speech control function test of smart home control system
综合考虑成本和工作效率,设计基于语音识别的家居智能控制系统,支持非特定人语音识别(ASR),采用双重口令语音识别控制,提升了语音的使用范围。测试结果表明,系统功能正常运行,语音识别芯片的识别率已经能够达到95%,操作方便,具有较好的人机交互能力,可修改、可编程,实现家居系统控制的嵌入式、小型化。
随着5G 和物联网时代的到来,万物互联都变为可能,智能家居改善用户的生活环境、增强人的生活体验,具有非常大的研究与应用空间。特别是图像识别及自然语言处理等人工智能技术与算法的不断发展,家居系统智能化控制提供更优化解决方案,为不同用户提供个性化的智能产品与服务。