基于STM32 单片机的智能家居控制系统设计

2021-01-12 08:26林学伟严明忠
关键词:控制指令智能家居指令

林学伟,严明忠

(福建技术师范学院,福建 福清 350300)

0 引言

嵌入式技术与传感器技术的发展,使得更多先进的智能商品用于日常生活中,有效改善了人们的生活质量,提高了工作效率[1]。智能家居控制系统是一种将自动化、一体化、物联网化、智能化融为一体的系统,以居家场所为平台,将人们生活中息息相关的各类设备紧密地结合在一起,从而实现对室内甚至室外的控制与监测。一个相对完整的智能家居控制系统主要包括:照明控制系统[2]、家用电器控制系统、多媒体控制系统以及安全防盗控制系统等。当前智能家居控制系统已经可以实现对设备的更新及添加删除,但目前的智能家居控制系统在实际应用中存在成本高、行业标准不统一、跨产业合作困难等问题。

针对上述问题,为实现智能家居控制系统的价格合理化、标准化、易操作、注重用户体验、多样性等发展趋势,本文设计了基于STM32 单片机的智能家居控制系统。

1 智能家居控制系统硬件设计

1.1 STM32单片机选型

选用STM32 单片机作为智能家居控制系统的主控制中心,为实现系统的高性能、低功耗等应用需要,本文选用意法半导体生产厂商生产的STM32K653F4210 单片机作为系统核心部分[3]。STM32K653F4210 型号单片机中电源供电、输入和输出接口的驱动电压为2.0~3.6V,具备良好的电复位、掉电复位和可编程功能的电压探测器,晶振为5~18MHz,内嵌出厂前调校的8MHz RC 振荡电路。同时,STM32K653F4210 型号单片机采用嵌入式ARMCortex-T 内核添加技术,可实现最高128 MHz的工作频率,算法包括周期乘法以及硬件除法。

STM32K653F4210 型号单片机当中还集成了42-124KB 的Flash 动画存储器,支持低功耗休眠模式,最低功耗小于1μA,具备两个PWM 输出口和一个高频信号输出口(CLO),实现对电机进行调速。并且,单片机内置32*14 Bits 数据带电可擦可编程只读存储器,可实现信号记忆;具备串行调试(SWD)和JTAG接口,具备最多同时安装的112个快速输入和输出端口、最多可同时设置11 个定时器、最多达13 个通信接口;绿色友好的开发环境,支持四线制在线仿真和烧录,支持C 语言和汇编语言开发;具备1μs 的双32 位模拟数字转换器,以及8 兆位/秒的通用异步收发传输器以及18兆位/秒的SDH物理接口等外设,在功耗以及集成度上具有良好的表现。

1.2 主电路设计

首先,设计了外围电路,主要有复位电路、时钟电路和晶振电路。其次,添加了语音识别电路、以太网通讯电路,使系统具备远程通信、控制以及语音识别的功能[4]。除此之外,还包括微控制器电路、串口电路、继电器控制电路以及串口通信电路等多个电路。图1为主电路结构组成示意图。

图1 主电路结构组成示意图

选用型号为LD553的非特定人语音识别芯片,该型号芯片电路中集成了更高精度的语音识别处理器、输入/输出转换器等,因此不需要其他外界辅助芯片的连接。LD553型号非特定人语音识别芯片的工作电压为2.5V,输入主控始终频率为2.5MHz~35MHz,在省电模式状态下的电流消耗为0.98μA。LD553型号非特定人语音识别芯片可以独立完成对用户语音的识别,并且具有MP3的播放功能,核心为数字信号处理和先入先出队列缓冲器[5]。为进一步实现用户在室内环境中通过语音质量相应控制实现对各类电子设备的控制,将语音识别电路与主控制器之间采用串行外设接口连接,其主要目的是节省主控制器中的计算机接口资源。在LD553型号非特定人语音识别芯片支持的最大时钟频率2.1MHz的条件下,系统可以实现对语音识别和控制的实时畅通[6]。将LD553 型号非特定人语音识别芯片MD引脚与逻辑高电平相互连接,SCK、MOSI 分别对应时钟信号、通信讯号。将LD-EDS 和LG-TRQ 接口对应复位输入信号以及中断输出信号,并保证在低电平条件下依然有效。

设计系统在实际应用过程中,用户要将自己的语音参考样本存储到系统当中的资料库中,利用该资料库在系统运作之前首先进行特定的语音识别训练[7]。通常情况下,只需要按照相应的训练指示完成两遍语音的录入即可开始正常使用。

2 智能家居控制系统软件设计

2.1 设置语音识别关键词列表

针对用户控制指令的语音识别是通过系统内部的音素识别实现的。用户说出的控制指令,由语音识别芯片将各类音素采集,并与系统中对应的控制指令匹配,输出相应的信息,从而成功完成识别并将识别码返回[8]。将语音识别关键词列表实现写好并存储在SD卡当中,SD卡中的关键词包括:收到指令、开关灯指令、开关窗帘指令、开关房门指令等。不同关键词指令对应着不同的音频编码书写方式,例如,收到指令为:“P0:A1 10 11 01:xiao zhi xiao zhi:收到.mp3”其中“P0”表示为序号;“A1 10 11 01”表示为识别码;“xiao zhi xiao zhi”表示为关键词;“收到”表示为识别用户控制指令成功后返回的语音[9]。若用户在这一阶段说出“小智,小智”两个字,则设计系统会将其与前一个关键词进行比较,在完成匹配后,得知关键词“xiao zhi xiao zhi”仍然满足相应的要求词语[10]。此时,设计系统会自动将返回码发出,并将内容显示为“A1 10 11 01”,此时设计系统会播放之前已经完成加载并进入到音频编码的片段,即“收到”,结束上述所有动作,设计系统就自动完成一次对用户控制指令语音识别的过程。

当设计系统成功完成对用户控制指令的识别后,会返回一个相应的识别编码,并播放对应的回复音频编码。该音频编码在上微机当中是输入汉字合成的发音,以此可以更加生动形象地反映系统是否成功识别了用户的控制指令[11]。控制指令对应的音频编码回复音内容包括,“小智”:“收到,请说出指令”;“打开厨房灯”:“好的,厨房灯已为您打开”;“打开房门”:“好的,房门已为您打开”等等。涵盖对应控制指令的回复音频编码文件均存储在SD卡根目录下,当相应的一次控制指令语音成功识别后,设计系统将会自动播放与关键词之后对应的提示音频编码。

2.2 控制指令与控制动作通信连接

完成对用户控制指令的识别后,设计系统在实现相应控制动作时,采用ZigBee 协议,在STM32 单片机当中采用实际轮训机制,完成系统相应的工作流程:在设计系统开始运行后,首先进行初始化硬件描述、媒介控制、网络以及操作控制。其次,进行操作任务轮询,当用户提出相应的控制指令时,系统从休眠状态迅速转换为唤醒状态,并进行中断处理,本文设置了控制指令的优先级[12]。因此,当有优先级极高的事件发生时,优先处理优先事件。最后,当设计系统完成对事件的处理后,继续查看是否存在其他待办事件,若没有则继续等待下一次事件的发生。通信方式主要采用通讯芯片与微处理器串口方式进行连接,实现通过用户语音识别控制[13]。语音控制在程序运行的过程中需要对串口进行处理,当串口接收到相应的语音控制指令时,判断缓冲区内的字符是否为控制信息,若是则继续判断该语音是否为预设语音。同时启动定时器中断服务程序,并将定时器的时间设定为15s,在15s 内识别语音控制指令,完成相应的控制动作。

3 仿真实验

3.1 实验准备

使用传感器的数值作为实验测量数据,利用无线局域网和Internet 网络通过获取传感器数据以对比两种系统的运行情况[14]。

利用网线将设计系统或传统系统与计算机连接,完成微处理器、以太网以及计算机三者的相互连接。两种控制系统在通电后,进行一系列的初始化,包括芯片初始化、申请内存,同时添加并打开网卡等操作[15]。分别在安静的实验室环境以及嘈杂的实验室环境中,利用设计系统与传统系统,由同一实验人员向多种家用设备发出相同的操作控制指令,例如开窗、关窗、开门、关门等。实验人员的语速设置为3 字/s,每一条关键词读取均为5 次,记录两种系统指令准确识别次数。

3.2 实验结果与分析

由图2 和图3 对比可以看出,设计系统无论是在安静的实验室环境还是在嘈杂的实验室环境,均可以保证对指令的准确识别次数高于80次,而传统系统均为50 次以下。同时,在嘈杂实验室环境下,传统系统的指令准确识别次数又进一步降低,与设计系统之间的差距更大。在实验过程中,设计系统运用了相关的控制算法,能够将各类算法综合运用,并通过控制指令语音识别列表对用户控制指令进行识别,从而将用户的控制指令转换为对应的指令信号,控制开窗、关窗、开门、关门等动作。利用SIM32单片机也可以有效地提高系统的可靠性和鲁棒性,通过简单的控制指令便可实现对系统的训练,达到改善用户居家环境的效果,让用户感受到智能家居带来的方便、快捷。实验证明,基于STM32 单片机的智能家居控制系统在实际应用中具有更高的精确性,针对用户的控制指令可实现高效的交互。

图2 安静实验室环境下两种系统仿真实验结果图

图3 嘈杂实验室环境下两种系统仿真实验结果图

4 结语

基于STM32 单片机的智能家居控制系统具有良好的交互性和精准的识别指令功能,可以保证用户在远距离对室内甚至室外的家用电器进行很好的控制。但由于研究水平有限,该系统在应用中仍然存在一些问题需要进一步优化和改进,例如系统整体耗电量高、通讯传递网速较慢、上位机中的数据并未进行加密处理等。针对上述问题还需进行更加深入的研究,从而为智能家居控制系统的普及提供技术支撑。

猜你喜欢
控制指令智能家居指令
城轨车辆控制指令试验装置研制
基于PLC的智能家居控制系统研究
宏指令控制的多轴系统研究及实现
基于Zigbee的无线通信技术在智能家居中的应用
智能家居发展或将实现弯道超车
高速公路隧道通风、照明联动控制方案探讨
中断与跳转操作对指令串的影响
基于汇编指令分布的恶意代码检测算法研究
智能家居更贴心
一种基于滑窗的余度指令判别算法