基于STM32的室内安防监控系统设计
2020-08-03王桂君
王桂君 ,蒋 蓁
(1.上海大学机电工程与自动化学院,上海 200444;2.上海飞机制造有限公司,上海 200443)
0 引言
随着社会的发展,家居安全越来越受到人们的重视。在种类繁多的家居智能安全产品中,一款可靠、稳定、功能强大的家居安全设备正快速地成为当今人们的必需品。文献[1]~文献[2]采用ZigBee模块组或全球移动通信系统(global system for mobile communications,GSM)移动网络,通过中文短消息的形式,及时把报警情况发送至用户的手机屏幕,并发出声音报警。但系统的可扩展性以及互联网的优势没有发挥出来。文献[3]~ 文献[5]利用两个麦克风进行多声源分离和二维平面定位,提出了一种基于双麦克风的室内语音分离与声源定位系统,可是没有将报警信号实时传送到远程端。所以基于声源定位的室内安防监测系统的应用前景十分广阔,涉及的应用场所也越来越多。其在家庭安防中必将发挥声源定位的优势。
1 系统总体结构
本文设计方案是以STM32为主处理器和51单片机为辅助处理器[6-7]的组合方式;系统整体分为防盗门监控模块和搭载摄像头的声源定位模块两部分。其系统总体框图如图1所示。从图1可以看出,STM32核心控制模块主要包括麦克风阵列声音采集模块、摄像头模块、TF卡模块和舵机模块等部分。51单片机模块主要包括声光报警模块和WiFi传输模块等。51单片机和STM32模块通过总线方式进行数据或命令的传输。
图1 系统总体框图
系统实现思路如下:防盗门监测装置端采用51单片机对WiFi模块、声光报警模块和光电对管传感器进行控制,实现对防盗门安全信息的实时采集;有异常状况时即刻进行声光报警,并通过WiFi模块将预先编辑好的危险信息发送到手机。
搭载摄像头的声源定位模块则通过防盗门监测模块的继电器进行实时控制。如果防盗门监测装置端感测到危险信号,则立即通过继电器接通搭载摄像头的声源定位装置端的电源,启动STM32。STM32借助直接存储器访问(direct menory access,DMA)的方式来一次控制多路模拟/数字(analog/digital,A/D)的数据采集。通过STM32内部的A/D转换模块实时采集麦克风传声器的变化值,将采集到的数据先进行语音信号预处理,得到可以使用的信号段;然后通过时延估计算法进行危险声源定位。根据定位的方位角及时调整摄像头所对准的方向并进行拍照,然后将拍摄的照片以截取屏幕的方式保存在TF卡中,便于后期查看。
2 系统硬件设计
系统硬件主要包括声源定位摄像头端的电路设计和门禁检测装置端的电路设计。声源定位摄像头端的设计包括声源定位装置的硬件设计、摄像头部分的硬件设计、图像存储部分的硬件设计。门禁检测装置端的硬件设计包括无线通信模块的设计、防盗门状态检测装置的选择、声光报警模块的设计以及继电器控制模块的设计。其中,声源定位摄像头端的麦克风阵列设计又包括麦克风阵列传声器的选择、麦克风传声器语音信号的采集、采集语音信号调理电路设计和麦克风传声器模拟信号/数字信号转换电路的设计。本文着重介绍声源定位传感器模块硬件设计。
2.1 声源定位摄像头端的硬件设计
①麦克风阵列硬件设计。
麦克风阵列的硬件设计好坏直接影响了整个系统的性能。为了实现对语音信号的采集和调理,本文所设计的声音传感器模块采用音频处理芯片LM386和LM393[8]。其中:LM386针对模拟的语音信号进行语音处理;LM386是音频集成功放器件,它的功耗很低,而且增益可以大范围调节。
驻极体电容传声器模拟信号处理电路如图2所示。另外,LM393针对数字量的阈值设定的语音信号进行语音处理,不会受到VCC端的电压值限制。当负载电阻没有被运用时,它的输出能够作为简单的对地开路,而且LM393输出的电压将会快速提高。驻极体电容传声器数字信号处理电路如图3所示。
图2 驻极体电容传声器模拟信号处理电路
图3 驻极体电容传声器数字信号处理电路
2.2 防盗门监测装置端硬件设计
2.2.1 STM32与51单片机交互通信模块
STM32与51单片机交互通信模块如图4所示。从图4可以看出,系统采用中断触发、总线传送的方式,51单片机可以通过P1~P2的端口向STM32发送中断请求,STM32将数据发送到PA端口上,然后51单片机可以通过读端口的方式将数据发送到单片机中。
图4 STM32与51单片机交互通信模块
2.2.2 手机端与51通信模块
防盗门监测装置端需要具有高优先级,在有异常状况时可以进行声光报警,并将危险信息及时发送到手机上。ESP8266模块[9]与51单片机接线图如图5所示。其中,51单片机通信接口采用串口的方式与ESP8266进行连接。这样,手机就可以通过连接ESP8266预设的IP地址和端口进行SOCKET远程通信,及时获取家居报警信息。
图5 ESP8266模块与51单片机接线图
3 系统软件设计
系统软件设计主要由声源定位摄像头端的软件设计和防盗门监测装置端两部分程序构成。声源定位摄像头端的软件设计包括了声源定位装置的程序设计、摄像头部分的程序设计、液晶屏显示模块程序设计以及图像存储部分的程序设计。防盗门监测装置端的软件设计主要就是无线通信模块的程序设计。
声源定位软件主要包括麦克风阵列的声音信号采集、基于时延估计算法的定位、控制舵机旋转、摄像头采集、TFT屏显示以及SD卡截取图像等功能[10]。声源定位摄像头端的程序设计流程如图6所示。从图6可以看出,首先系统进行硬件的初始化,等待是否有危险信号。如果有危险信号,则启动麦克风进行数据采集,并通过试验估计算法进行判断声音的来源和位置,并发送相应指令给舵机;通过舵机的旋转到达指定位置启动摄像头并进行拍照。
图6 声源定位摄像头端的程序设计流程图
3.1 时延估计算法程序设计
声源定位装置端的准确性主要靠算法实现。时延估计算法的程序设计流程如图7所示。
图7 时延估计算法的程序设计流程图
首先通过麦克风传声器采样得到模拟量,然后经过STM32的A/D转化得到数字量。最后,利用定时器来产生很短的定时间隔,提供给A/D转换器进行定时采样,将采样转化得到的数据不断存放到一个数组中。因为外界声音的大小在不断产生着变化,在任何一段时间之内肯定会存在这段声音信号中的一个最大值。通过冒泡法判断找出两个数组中元素最大值所在的位置,进而可以根据两个数组中最大值元素在数组中的位置差乘以采样间隔就是想要得到的时延。得到时延后,就可以进一步算出声源的方位。
3.2 系统测试
对声源定位系统的麦克风阵列定位、信号处理后的数据进行测试。首先,进行模拟偷窃者发声,麦克风传声器阵列A、B获取的声音信号与波形进行采集。然后,为了判断硬件设备检测的准确性,对波形的有效性进行验证。
声音传感器接收到的语音波形如图8所示。
图8 声音传感器接收到的语音波形
从图8可以看出,两个声音传感器检测到的语音信号波形几乎是同步的,所以可以验证发声时声源定位是有效的。
4 结论
本文设计了基于声源定位的室内安防监测系统。系统可以对麦克风传声器采集到的语音信号进行预处理,采用一维麦克风阵列下的时延估计算法来进行声源定位;根据声源位置控制舵机和摄像头,将信息传送到远程端。实际测试结果表明,该系统能够快速识别声源定位,在智能家居时代具有很高的实际应用价值。