摘要
随着安全技术、智能技术、微机控制技术等行业的迅速发展,致使安防产品得到一定程度的升级与改进,进而为智能化安防产品的生产与研发提供了有力的技术支撑。本文所采用的智能安防系统将人脸识别技术与数字模拟技术进行融合,利用STM32系列单片机实现液晶显示屏的显示,并利用 GSMA6无线通讯技术建立了一种智能化的安防系统,它具备人脸识别的功能,可以对住户的进出进行实时监控,进而保障住户生命及财产安全。并在发生火灾时,该系统可作为易燃性气体的保护器。且在火灾迸发之初,该系统可以实时检测可燃气体,保证家中的防火安全进而来保障住户的生命安全。利用 GSMA6通讯技术,实现对住户的安全监测。本系统设计能给家庭用户带来安全便捷的体验,有良好的市场和发展前景。
关键词
安防产品;单片机;人脸识别;模数转换;GSMA6无线通信
Abstract
With the rapid development of security technology, intelligent technology, microcomputer control technology and other industries, the security products have been upgraded and improved to a certain extent, and thus provides a strong technical support for the production and research and development of intelligent security products. The intelligent security system used in this article integrates face recognition technology with analog to digital conversion, the STM32 series microcontroller is used to realize the display of the LCD screen, and use the GSMA6 wireless communication technology to establish a kind of intelligent security system, it have the function that facial recognition, can be in and out of the real-time monitoring of residents, To protect the safety of life and property of households. And in the event of fire, the system can be used as a flammable gas protector; And at the beginning of the fire outbreak, the system can cut off the power circuit in time, to ensure the safety of the power supply in the home to protect the life of the residents. Using GSMA6 network communication technology to realize the security monitoring of households. The system can provide convenient and safe use experience for home users and has broad application prospect.
Key words
security products; microcontroller; face recognition; analog to digital conversion; GSMA6 wireless communication
目录
在科学技术急速发展的时代中,人们对安防方面也愈发重视。虽然市场上已经出现了不少安防类产品,但是这些安防产品功能过于单一。要想完成家庭安防的工作任务,显然不太可能,所以实现安防产品功能多样化是当今安防工作的首要任务。
1.1 研究背景
随着时代的演变,各种高科技不断地出现,人们对高科技的过度依赖,也给人们的生活带来了很多的安全隐患,比如说各种老化电器的燃烧的爆炸、因短路造成的火灾、煤气的泄露等,都对人们的生命安全造成了巨大的威胁。当今社会中仍然有很多不法分子在活动,非法入侵、抢劫盗窃的犯罪现象时有发生,而且随着现今的科技水平的不断发展,不法分子的犯罪手段更加职业化和智能化,所以智能家庭安防系统的设计与实现具有迫切的意义。
在家庭中火灾、煤气泄漏和非法入侵事件以较高的频率出现,当发生火灾、煤气泄露和非法入侵时,会对人的财产和生命造成不可估量的损失。
随着经济的快速发展,人们的住房模式也在发生着变革,近些年来,住宅小区大范围增多,商品住房形成了较大的规模[1]。人们对家庭安防越来越重视,在此同时,单片机呈现出高效革新的态势,使其在电子领域能够满足高效应用的要求,且集中表现在手机通信、家庭电器中的使用方面,能够在极大程度上提升人均生活质量[2]。
在单片机和传感器技术的支持下,安防系统才能得以实现。安防系统不仅在操作上有着更快捷的操作,而且还拥有及其可靠的性能。其人性化的设计能够提高用户的使用体验和满意度。而且在系统不断完善下会更加智能化,能为用户带来更加安全可靠的保障。
1.1.1 国内研究现状
随着我国的科学技术、经济实力的不断攀升,全国人民的总体经济状态得到了一定程度的改善,信息发达的时代在暴露各种问题的同时也使得人民的安全防范意识得到一定程度的加强,并使安防生产技术行业得到了迅速发展。但与其他世界各国相比,国内的智能家居安全系统与其之间存在着巨大的差距,欧美等发达国家的防火防盗报警系统的使用频率在70%左右,而国内的安防报警系统的在人民群众中的使用频率不足20%。
目前,社会上许多双职工家庭,白天家中无人,所以安防系统必须同时具有实时防火、防燃气泄漏的功能[3]。此外,社区的安全保护工作还很薄弱,住户的在防火防盗等方面的安全认知还有待提高,安全保护制度也有待推广和完善。
中国的安防市场在时代的发展下,已经形成了研发、生产、销售和维修的产业链。更是有不少公司的安防产品受到了广大用户的青睐。在2020年海康威视、大华股份、亚萨合莱、博世和安讯士等前五家企业成功进入全球智能安防50强榜单。海康威视公司及大华股份公司分别以77亿美元和38亿美元的营收数据稳居全球第一与第二的位置。其中海康威视公司的门禁一体机和大华股份公司的环境检测机更是成为了当下的热销产品。
1.1.2 国外研究现状
目前,国外经济水平达到一定高度的国家已然逐步形成了一个集安全保护、火灾救援、医疗救护于一体的安防产业。它结合了安全保护、火灾救援、医疗救护等信息系统,如影像捕捉、人体面部辨识、电脑控制、互联网技术等,使得安防产业得以迅速发展。
国外当前已有的大规模综合式火灾报警系统或智能火灾报警系统,通常都是基于对个别异常的光、热、烟、气、味等异常方位进行检测与判断,检测其有没有达到一定的临界值。
多传感器式火灾探测器是一种智能设备,它采用三种形式各样、作用不同的传感器,对仿真数据进行采集,并将其转化为数字信号,再由探测器进行数值运算。
许多昂贵的建筑必须有他们的火灾报警系统(Many expensive buildings must have their fire alarm systems.)[4]。Netatmo公司在2019年宣布推出智能可视门铃,这将是第一个提供Apple HomeKit集成的门铃。Netatmo智能可视门铃已经领先于Ring和August。美国安防行业收入在2020年就达到980亿美元,而美国智能家庭安防的市场渗透率约为8%,而美国Vivint公司旗下的Vivint智能门铃更是一度成为市场热销产品。
目前,国外在探索和研制能够对火灾进行早期预警的技术与装备,例如,通过神经网络自身的自主能动性、学习模仿性等特性,可以构成一个智能的火灾检测系统,从而提高火灾检测的准确率,增强系统的可靠程度。
1.2 研究的目的与意义
在科技快速发展的时代,不法分子的作案手段也得到了提高,人们的安全受到巨大的威胁,所以安防系统的诞生是必然的。同时,人们在日常生活中的安全也是及其重要的,当可燃气体泄露时,会爆发严重的火灾。安防系统的出现能够通过检测可燃气体的泄露从而达到避免火灾事故的发生。
1.2.1 研究的目的
智能家庭安防系统是未来安防系统的发展方向, 人脸识别技术、可燃气体检测技术和温湿度检测技术成为了当前智能家庭安防领域的热带技术,在这些技术的支持下,可以针对非法入侵和避免火灾发生开发出一款集人脸识别、可燃气体检测和温湿度检测与一体的智能家庭安防系统。该系统必须满足低价位、高精度和高可靠性的特点。而且该系统在家庭和工业上都有很高的使用价值。
人脸识别功能能够有效地避免非法入侵的发生,同时也能够为用户提供更加安全可靠的保障。可燃气体检测对家庭安防方面十分重要重要的,它能够检测可燃气体的浓度,从而避免火灾事故的发生。
1.2.2 研究的意义
近几年,随着社会经济的迅速发展,居民的生活水准得到了一定程度的提高,乡村城市化的发展,居住地人口数量变动很大,进而对居住环境的需求也越来越高,在追求生活美好、使用方便、安全性高的同时,也越来越重视居住环境的安全性。随着我国经济的迅速发展,出现了大量的社会问题,特别是房屋失窃和房屋失火等问题。
为了保护人民的生命和财产,降低火灾给家庭所带来的巨大伤害,更加精准及时的发出报警信号。各个国家在提高社会安全治理的同时,也在不断提高在防灾减灾等方面科学技术上的投资。过去的机械防盗网和防盗窗在住宅的防盗应用过程中,展现出了许多安全弊端,如对灭火救援过程中造成一定程度的阻碍,为罪犯提供了有利的翻越空间以及充足的逃逸时间,且随着岁月的变迁,其很可能会逐渐腐朽失稳进而对行人的生命安全造成一定程度的威胁。因此,研究具有可靠性、安全性、及时性的火灾自动报警系统具有很大的实际应用价值。
1.3 主要研究内容
本设计侧重于用户的家庭安防,本系统主要是针对家庭安防中的家庭财产安全和家庭人身安全这两个方面。
在家庭财产安全方面,本系统采用人脸识别技术设置门禁功能,遇到非法入侵时,系统会通过GSMA6无线通讯发送短信到用户手机,提示用户门外有非法入侵者闯入,并使用声光报警器警告非法入侵者迅速离开。
在家庭健康安防方面,通过温湿度传感器和可燃气体检测传感器来检测家庭内环境变化来实现的。当检测到的温湿度或可燃气体浓度超过用户设定的阈值时,GSMA6模块会向用户发送警报短信,声光报警器会提示家庭内的用户可燃气体超过阈值。当室内燃气泄漏时,室内的烟雾浓度会相应的上升从而远高于正常情况[5]。系统自动启动风扇进行室内通风。
本系统会将采集到的数据通过OLED屏进行显示,用户可以通过系统的实时检测了解当前的室内环境的变化信息。
本章内容是围绕系统设计时的技术可行性、经济可行性、总体框架设计、功能设计和参数设计进行分析,是分析论证系统实现不可或缺的内容。
2.1 可行性研究
本设计研究的是关于家庭安防的系统,该系统以单片机为核心,利用传感器来提供报警信号,使得成本低,易于维护,探头小,可安放于隐蔽的地方且不易被发现,接收信号灵敏,因此有明显的优势和广阔的发展前景。
本系统不仅具有传统防火防盗控制方法的优点,还具有易于维护、实现非接触和高精度监测等特点,并且硬件开销成本低,适宜大多数普通家庭和寝室。
2.1.1 技术可行性分析
本系统选用STM32F103单片机,STM32F103微控制器采用Cortex-M3内核,CPU最高速度达72 MHz。该产品具有128KB Flash、多种控制外设、USB全速接口和CAN等多种功能。
人脸识别模块则是利用PyAI-K210开发面板。PyAI-K210模块具备AI人脸识别,模块主控采用RISC-V双核64位CPU,拥有高达1 TOPS算力,CPU功耗仅0.3W;模块简洁,尺寸小巧;内置AI人脸识别算法和模型库,启动超快;支持ARM、MSC51等8位、32位单片机轻易驱动,驱动代码极少。
本系统的无线短信模块采用GSMA6进行通讯。GSM系统已成为最成熟的移动通信系统,世界上大多数移动运营商都采用了这种系统(GSM system has become the most mature mobile communication system, most of the world's mobile operators have adopted this system.)[6]。使用ARM或者单片机通过串口与GSMA6模块通信。该模块使用标准的AT命令,基于GSMA6模块产品的开发往往都是基于ARM平台,使用嵌入式系统进行开发。在GSMA6模块正常运行的情况下,系统可以连续不间断地运行,使所开发的程序具有良好的兼容性。
本系统温湿度模块使用DHT11温湿度传感器,利用复合材料对温湿度传感器DHT11进行实时监测和记录,利用蜂鸣器和LED灯对用户的温湿度变化进行报警并及时响应(The composite material is used to monitor and record the temperature and humidity sensor DHT11 in real time, and the buzzer and LED light are used to alarm and respond to the temperature and humidity changes of users in time.)[7]。DHT11传感器准确性高,功耗低。具有较快的响应速度、较强的抗干扰能力、较高的性价比等特点,适合室内温湿度的测量。
气体传感器则是利用MQ-2可燃气体传感器来进行检测,MQ-2传感器能用来检测家体内部的烟雾和可燃气体,对有可燃气体浓度超标进行声光报警,达到对室内空气质量实时监测的目的[8]。
2.1.2 经济可行性分析
STM32F103在市面上的价格为:21元人民币。该单片机的选用极大地节约了系统所需成本,STM32F103单片机拥有极高的性能:主流的Cortex-M3内核;丰富合理的外设、合理的功耗、合理的价格、强大的软件支持、丰富的软件包、全面丰富的技术文档、芯片型号种类多和覆盖面广等优点。最先成功试水CM3芯片的公司,积累了大批的用户群体,为其领先做铺垫,在市场上有很大的发展空间。
人脸识别模块使用K210开发板,其市场价格为:17.38元人民币,可以通过单片机串口简单控制,只要根据模块协议,就可以很轻松实现人脸识别的存储和实现。模块价格低廉,相比动辄几百块的单片机开发板,仅售不到百元的价格使其具有极高的性价比。
温湿度传感器则是选用DHT11温湿度传感器,该传感器的市场价格为:4.5元人民币,更是具有精确度高、功耗低、响应块等优点。超低的价格提升了自身的性价比的同时也使得DHT11传感器拥有巨大的市场空间。
气体检测模块采用的是MQ-2气体传感器,其市场价格为:3.25元人民币。MQ-2气体传感器拥有简单的驱动电路、灵敏度高、响应快等优点,使得其具有超高的性价比和市场发展空间。
本系统总成本为:46.13元人民币。当用户遭受到非法入侵时,所造成的损失是不可估量的,此外系统还配备了温湿度和气体检测,用于检测室内环境变化和可燃气体的检测,防止出现火灾隐患。本产品与其他的安防产品相比,价格上本产品具有很高的性价比。用户的人身安全是无价的,故本产品经济可行。
2.2 系统总体框架设计需求
本设计以单片机作为系统控制核心,完成对外来人员的连续监测,采用OLED液晶屏对采集到的数据进行实时显示,如实时采集到的温度、可燃气体浓度,以及可能需要的人脸信息验证等,做到系统信息显示直观,方便用户能够简洁获取到当前系统运行状态和需要了解的数据信息。
本系统由温湿度检测模块,可燃气体传感器MQ-2,人脸识别模块,独立按键采集模块进行数据的采集,由STM32单片机对采集的数据进行处理,使用OLED将数据进行显示,利用LED和蜂鸣器进行声光报警,使用GSMA6模块利用短信将报警信息发送到用户手机。本系统的总体框架如图2-1所示。
图2-1 系统总体框架图
2.2.1 系统功能设计
智能家庭安防系统要做到安全、便捷、可靠这三点,需要实现以下功能:
(1)实时检测室内可燃气体浓度,做到及时触发预警(阈值可自定义设置);
(2)实时采集室内温度,湿度并在OLED液晶屏上显示;
(3)系统触发可燃气体预警后会自动打开风扇;
(4)系统可以设置人脸识别(通过动态人脸识别摄像头模组,实现活体检测,人脸检测功能),可设定识别数量不少于10位。当识别三次都未成功时判定为未知人员闯入,触发系统预警;
(5)系统触发报警后能够通过短信通知用户预警内容。
2.2.2 系统参数设计
本系统由于涉及到了人脸检测、温湿度检测和气体检测。检测数据性能与传感器参数息息相关,故需要传感器在硬件范围内进行检测工作,其参数如下:
(1)温度:-55℃ ~ +125℃(可设阈值),精度:±2℃;湿度:20-90%RH,精度:±5%RH;
(2)可燃气体浓度:10-2000PPM,精度:±20ppm;
(3)设备自检周期:180天;
(4)脸部轮廓参数:68或128个特征点;
(5)识别成功率:98%以上,识别速度:1S以内。
2.3 本章小结
本章主要阐述智能家庭安防系统的总体设计。首先是对这个系统的总体设计进行了简要的说明,其次是对系统进行了可行性研究、技术可行性分析、经济可行性分析和系统总体框架设计需求分析。然后通过系统的功能和参数的设计对系统总体进行功能和数据分析,为后续章节的系统设计做好了准备工作。
第三章 系统硬件设计
智能家庭安防系统的设计可分为系统的上位机软件设计和单片机软件设计以及系统的硬件设计一共是三个部分,在本章内容中,对智能家庭安防系统的硬件及系统电路原理图进行分析和设计。
3.1 单片机模块设计
本系统采用的是STM32F103单片机,STM32F103单片机具有实用性强、成本低、造价低和高性能等优点。STM32F103C8T6处理器采用32位ARM Cortex-M3作为核心,是ST出品的M3系列中等容量增强型的带有128KB闪存处理器,有高达20KB的存储空间可供用户进行开发使用。
该单片机有单周期乘法和硬件乘法器,支持使用内部时钟或者外部时钟,且内部嵌入了32KHz的RTC振荡器以及经过出厂调试的8MHz的RTC振荡器和产生CPU时钟的锁相环(PLL),但是由于内部时钟温漂比较大,故一般都采用外部晶振作为时钟源,经过单片机的锁相环本单片机最高可以支持72MHz的工作频率。
该单片机有2个12位的模数转换器,最低1US的转换时间,单片机最多支持16路输入通道,功能强大,单片机的模数转换器的电压转换范围为0-3.6V,具有双采样以及保持功能。
该单片机还具有7个通道的DMA控制器,用于进行数据的搬运服务,DMA在配置好后可以不用单片机控制而自行高效地搬运内存数据,可以支持的外设有:定时器、ADC、SPI、I2C和USART。
该单片机有3个16位的定时器,分别是定时器2、定时器3和定时器4。有一个高级定时器1具备带死区控制以及紧急刹车。单片机有2个I2C接口、3个串口(USART)、2个SPI接口,一个CAN接口和USB2.0的全速接口。它可以在多通道高数据速率的条件下以低CPU使用率稳定工作(It can operate stably with low CPU usage at multi-channel high data rates.)[9]。故目前该款单片机应用是非常广泛的,可以在很多产品中见到它的身影。
由于STM32F103系列是ST公司设计的一个比较完整的系列,其各个具体型号之间差异并不大,各个引脚是完全可以兼容的,不需要做过多的修改,上手使用起来非常容易,重点是学习成本非常低,这也是本次选择这个系列的重要原因。STM32单片机最小系统板实物图和STM32单片机最小系统原理图分别如图3-1和3-2所示。
图3-1 STM32单片机最小系统板实物图
图3-2 STM32单片机最小系统原理图
3.2 人脸识别模块设计
本系统采用的人脸识别模块为K210开发板,K210开发板拥有RISC-V双核64位CPU,1 TOPS算力,CPU 0.3W功耗模块简洁、体积小,内置AI人脸识别算法和模型库,支持快速启动。
支持UART数据接口,波特率:9.6kbps - 115.2kbps,K210Al主控,主频400 - 600M,峰值算力1T,8MB SRAM,其中2MB用于Al电源管理芯片,复位IC以及晶振板载16M FLASH,DVP最高60帧,内置量产Al人脸识别算法,成熟可靠,识别率大于99.9%,误识小于0.1%,识别时间小于0.4S红外加彩色镜头双目、动态识别、活体识别、防照片、防视频支持白光和红外补光,500到800个人脸特征库内置汉字库,LCD 4:3、16:9、16:10等尺寸MCU屏幕支持通过用户接口进行参数配置复位,GPIO外置,5V输入,电流400mA(补光灯电流除外)。使用单片机的串口2和该模块对应的IO连接,人脸识别模块原理如图3-3所示。
图3-3 人脸识别模块原理图
3.3 温湿度传感器模块设计
该系统使用了DHT11温度、湿度传感器,利用该传感器对室内温度和湿度进行实时调节,以确保室内舒适。DHT11是一种集成了数字模组数据采集技术和温湿度检测技术的新型数码传感器。它由电阻测湿仪和 NTC温度计组成,并与8位高性能微处理器相连。采用单片机及其它单片机进行简单的线路联接,即可实现对当地的温度、湿度的实时监测。
DHT11和单片机可以通过简单的总线串行接口进行通讯,只需输入/输出。具有较高的精确度和较低的功耗。该系统响应速度快,抗干扰能力强,价格比高,适用于室内温度和湿度的测定。DHT11的原理图如图3-4所示。
图3-4 DHT11温湿度模块原理图
3.4 气体传感器模块设计
本系统采用MQ-2气体传感器来检测家居内部可燃气体浓度,气体传感器检测到可燃气体时其模块的AO输出的电压会发生改变,根据手册的电压浓度转换公式,单片机就可以通过读取到的气体传感器电压转化出来当前室内的可燃气体浓度,当可燃气体浓度过高时,单片机发出相应指令以保证家居环境的安全性,从而起到防范火灾和火灾报警提醒的作用。
MQ-2半导体气体传感器是以检测空气中的具有低电导率的金属氧化物二氧化锡为主体的N型半导体气敏元件,用于检测家居内部的可燃气体浓度。
MQ-2气体传感器具有广泛的探测范围、简单的驱动电路、高灵敏度和优异的稳定性、能够快速响应恢复和寿命长等优点。本系统单片机电源为3.3V,能够接受到最大3.3V的模拟电源,但是气体传感器电源为5V,故需要做分压处理,即从气体传感器模拟出IO的电压进行电阻分压,分压比例为3:2大小,则此时输入到单片机AD口的电压最大为3V。可燃气体传感器原理图,如图3-5所示。
图3-5 可燃气体传感器原理图
3.5 声光报警模块设计
该系统使用了一种具有报警功能的蜂鸣装置,该蜂鸣装置是一种三线制的有源蜂鸣装置,它是一个具有3.3 V电压的VCC电源,一个GND电源负极,一个I/O端口与一个微控制器相连。该模块由PNP三极管运转,在输入/输出端口低的情况下,蜂鸣装置会发出声音,而单片机的二极管则连接在LED的负电极上,通过控制负电极的电势来控制LED的开关,在负电压为0 的情况下,发光二极管发光,反之,LED熄灭。声光报警器原理图,如图3-6所示。
图3-6 声光报警原理图
3.6 无线模块设计
本系统的重要应用之一是将报警短信发送到定义好的手机号码(One of the important applications of the system is to send alarm messages to defined mobile phone numbers.)[10]。采用无线模块GSMA6进行通讯。GSMA6模块整合了GSMA6射频芯片、基带处理芯片、存储器等。并具备独立的操作系统、GSMA6射频处理、基带处理、以及标准的接口。GSMA6系统可以实现基于GSMA6的SMS短信功能。采用串口3实现了与单片机的通讯。该系统所选择的GSMA6模块具有短信通讯功能。此模块采用了AT指令,并能支持各种AT指令。此模块的串口插针于STM32单片机的RXD3、TXD3端子交叉处,并与AT指令组进行通讯。GSMA6模块的连接原理图,如图3-7所示。
图3-7 GSMA6模块连接原理图
3.7 显示模块设计
本系统通过上述的人脸识别模块显示摄像头对应的镜头以及人脸识别可视化情况。但是其它的数据如温湿度值,可燃气体浓度等都需要可视化以供用户查看,故需要采用单独OLED屏幕进行显示。本系统采用的0.96寸OLED分辨率是128*64,即OLED显示是128行*64列,采用IIC 接口方式进行通讯(默认地址0x78)。OLED显示模块原理图,如图3-8所示。
图3-8 OLED显示模块原理图
3.8 本章小结
本章节是围绕系统硬件设计进行阐述的,首先介绍了STM32F103单片机,重点简述了该单片机的性价比和功能,经过和其他单片机进行比对,STM32F103单片机具有:易上手、学习成本低等优点。其次对人脸识别模块、温湿度模块和气体检测模块的传感器进行了粗略的介绍。然后是对声光报警模块和无线收发模块进行简要介绍,大致说明了这两个模块的电压的变化和端口连接。
第四章 系统软件设计实现
智能家庭安防系统的软件设计可以分为两个部分,这两个部分分别是单片机软件开发平台的选用和上位机软件程序的设计。
4.1 单片机软件开发平台
本项目使用的MDK软件为ARM公司推出的KEIL5软件。底层库驱动方面虽然目前ST公司推出了STM32CubMx工具进行便捷开发配置,但是生成的HAL库程序过于臃肿,对于轻量级应用的开发来说太占内存,不太适合较为低端的单片机的开发设计,故而本次利用标准库进行开发,使用KEIL5进行程序的开发和调试,利用ST-LINK进行程序的下载和验证。
软件界面可以分为5个区域,1区域为系统的功能设置区域,涵盖了该软件的所有设置功能,2区域为快捷调试区域,主要是在建立工程后对工程的调试、保存、编译等方面的快捷按键,3区域为用户的工程文件区域,文件以列表形式呈现,4区域为程序的代码编写区域,用户可以建立工程文件编写代码,本项目使用的为C语言代码,5区域为输出信息区域,用户点击编译后可以通过该区域查看软件的提示信息,当有编译错误或者警告信息时,方便用户及时定位问题所在,KEIL5相对于KEIL4还增加了代码补全功能,KEIL5的开发界面如图4-1所示。
图4-1 KEIL5软件开发界面
4.2 串口调试平台
本系统使用的GSMA6模块是AT通信协议,串口通讯方式,故需要串口调试平台为GSMA6模块调试。而同样的人脸识别模块使用的私有协议,但也使用串口通信。故本系统采用了串口调试平台SSCOM5.13.1。本通过串口调试软件可以很方便的了解串口模块的传送信息,这样方便制作程序。
将其划分为6个区域分别为:第一区是软件的设置区域。第二区为软件的信息显示区域,用于显示接收和发送的信息,方便用户直观看到发送和接收的内容。第三个区域为设备连接区,用于选择端口号,波特率以及串口通信协议等。第四区域为发送设置区,用于设置发送字符串的格式、发送间隔时间等。第五区域为发送内容区,是用户发送的内容输入区。第六区域为用户存储的一些指令区域,每一格存储一条指令,这样用户在用到哪些指令的时候就可以快捷地进行使用。目前存储的都是一些常用的AT指令,旁边也有相应的注释,方便用户记忆,该串口调试软件界面如图4-2所示。
图4-2 串口调试软件界面
4.3 主程序设计
本系统主程序主要在于对外设传感器的数据采集和再处理,如温湿度传感器,使用单总线方式传输给单片机,通过设定的单片机程序对单总线协议进行解析,获取到温湿度值,并将温湿度值显示到OLED,通过IIC传输协议驱动OLED显示相应信息。MQ-2气体传感器可以将室内可燃气体转换成模拟电压,输送给单片机模拟IO口,单片机模拟IO口接收到电压后通过AD转换获取到数字电压值,根据传感器的电压浓度转换曲线获取对应的可燃气体浓度值,当超过预设定的可燃气体浓度值后则进行声光报警。主程序流程如图4-3所示。
图4-3 主程序流程图
4.3.1 人脸识别程序设计
人脸识别是人工智能的一种重要应用,拥有着不容置疑的便捷性和准确性优势[11]。人脸识别是通过眼睛、眉毛等全脸关键特征点定位来实现的,而口罩遮挡了鼻子、嘴巴等大部分面部有效信息,会影响识别准确率[12]。
人脸识别模块使用的是串口通信方式,但是协议复杂,需要CRC16校验,故单片机设定人脸识别模块通过串口通信获得的数据后,进行数据校验,并根据协议格式提取到对应数据,用于判断当前摄像头采集到的人脸情况。该模块有普通模式和识别模式,普通模式:仅显示摄像头采集到的图像,不会进行人脸的检测、识别和比对;识别模式:显示摄像头采集的图像,同时会进行人脸检测、识别和比对。用户可主动发送命令切换普通模式和识别模式,上电时屏显默认是彩色图像,可以通过指令切换显示IR红外的图像。人脸识别模块流程如图4-4所示。
图4-4 人脸识别程序流程图
4.3.2 无线模块设计
GSMA6模块使用AT协议进行通信,所以本次需要了解常用的AT协议以及利用串口软件和GSMA6模块进行通信,测试其发送和接收数据。首先,可以通过发送AT给GSMA6模块,GSMA6模块会返回OK,代表通信正常,其次,发送AT和CPIN给GSMA6模块,模块返回CPIN: READY OK代表模块检测手机卡已经插上。使用串口软件和GSMA6模块直接的调试,通过GSMA6短信模块来实时发送报警信息至用户手机,来完成家庭防盗报警任务[13]。根据对GSMA6模块调试信息的情况,GSMA6模块驱动程序流程图,如图4-5所示的。
图4-5 GSMA6模块驱动流程图
4.4 本章小结
本章介绍了单片机软件开发的平台,首先粗略介绍了KEIL5的使用方法和其界面功能,还将KEIL5分成5个区域,分别对这些区域进行简要说明。其次是介绍了串口调试平台SSCOM5.13.1和串口通信方式。最后对主程序设计进行阐述,通过对温湿度采集、气体数据采集进行处理,并将数据显示在OLED屏上。
第五章 系统测试
本章主要进行的是软硬件的功能测试,并针对系统所实现的相关功能进行非法测试,非法测试是检测系统功能是否满足设计需求的重要组成部分。
5.1 系统硬件测试
系统硬件测试是一个十分重要的环节,系统的实现离不开系统硬件,只有在系统硬件没有出现异常的前提下,系统才能正常运行。
5.1.1 人脸识别模块硬件测试
将人脸识别模块用的K210开发板与单片机最小系统进行正确连接,将OLED屏与单片机最小系统进行连接,再将程序烧录进STM32F103单片机和K210开发板中。
正常模式:面对已经录入人脸的用户时,经人脸识别模块进行识别成功后,将其身份显示在OLED屏幕上。
异常模式:面对没有录入人脸的人时,经人脸识别未成功三次后,发送报警信息。
测试结果:正常模式和异常模式均达到测试预期,测试成功。
5.1.2 温湿度模块硬件测试
系统在启动时会对DHT11传感器是否存在进行检测,当该传感器不存在时,系统会进行语音提醒,并说明该传感器存在异常。当温湿度值超过用户所设定阈值时,会通过声光报警器和GSMA6无线报警系统进行报警。
温度模块在进行常规测试时,使用嘴巴向DHT11传感器呼气,DHT11传感器将采集到的数据发送给单片机进行处理,可以看到呼气后湿度值迅速升高。使用嘴巴呼气并不能改变温度的变化。
湿度模块在进行常规测试时,使用电吹风的热风模式对DHT11进行吹气,DHT11传感器会受到热风中的温度影响,温度值会迅速升高。
温湿度模块在进行非法测试时,使用手掌,向DHT11传感器进行扇风。经过测试温度和湿度均无变化。
5.1.3 可燃气体模块硬件测试
系统在启动时会对可燃气体模块进行检测,当系统检测不到可燃气体传感器时,系统通过语音提醒用户该模块存在异常,如果检测到可燃气体传感器存在,则系统执行下一步操作。
对可燃气体进行常规测试时,将打火机中的可燃气体释放出来,可燃气体传感器会将采集到的数据发送给单片机进行处理,处理过的数据达到用户设定的阈值时,系统会通过声光报警器和GSMA6模块进行报警。
在进行非法测试时,用嘴巴对可燃气体传感器进行吹气,可以看见系统显示模块中的OLED界面无明显变化。
5.1.4 显示界面模块硬件测试
将OLED屏与单片机系统最小模块进行正确连接,并烧录程序。经过人脸识别模块测试、温湿度模块测试、可燃气体模块测试后,获取系统当前变化的数据,在OLED屏幕上显示。
在测试时将人脸识别模块、温湿度模块和可燃气体模块的传感器拔出,在显示界面中显示对应传感器是否出现异常。可以看到测试结果中界面显示拔出传感器的功能模块出现异常,表面测试通过。
5.1.5 无线模块硬件测试
将GSMA6无线模块与单片机最小系统进行正确连接,编写程序时绑定需要手机号,以方便向该手机号发送报警信息。将程序烧录到STM32F103单片机中。
正常模式:当人脸识别模块、温湿度模块、可燃气体模块均未发送报警信息时,GSMA6无线模块处于待机状态。
异常模式:当人脸识别模块、温湿度模块、可燃气体模块其中任意模块出现报警指令时,GSMA6无线模块经过分析报警指令类型后,发送该类型的报警信息到绑定的手机号,完成报警功能。
测试结果:正常模式和异常模式均可实现,测试通过。
5.2 软件功能测试
软件功能测试主要是对人脸识别程序、温湿度检测程序、可燃气体检测程序、显示界面程序和无线模块程序进行测试。
软件功能测试是对系统的程序部分进行测试。将具体的测试列出来,对程序功能模块进行检测,能够将系统功能完善的同时,还能增强系统的可靠性和健壮性。
5.2.1 人脸识别程序测试
人脸识别程序测试,首先是进行人脸录入操作,将摄像头范围内的人脸进行数据采集,存放在数据库中。其次是人脸识别操作,相似度达到阈值时人脸识别成功。最后是人脸数据清空操作,将数据库中的数据进行清空处理。其测试用例如表5-1所示。
表5-1 人脸识别程序测试用例表
序号 | 测试功能 | 测试操作 | 测试结果 | 测试目的 |
1 | 录入人脸 | 用人脸测试 | 录入人脸数据成功 | 通过 |
2 | 录入人脸 | 用手测试 | 录入人脸失败 | 通过 |
3 | 识别人脸 | 用人脸测试 | 清空人脸数据成功 | 通过 |
4 | 识别人脸 | 用手遮挡 | 人脸识别失败 | 通过 |
5 | 清空人脸数据 | 清空人脸数据 | 清空人脸数据成功 | 通过 |
5.2.2 温湿度检测程序测试
对温湿度检测程序进行软件功能测试,其主要是检测室内的温湿度变化情况,针对不同的情况进行对应的处理,其测试用例如表5-2所示。
表5-2 温湿度检测程序测试用例表
序号 | 测试操作 | 预期结果 | 实际结果 | 测试目的 |
1 | DHT11传感器插入 | DHT11传感器无异常 | DHT11传感器无异常 | 通过 |
2 | DHT11传感器拔出 | DHT11传感器异常 | DHT11传感器异常 | 通过 |
3 | 用嘴呼气测试 | 湿度值上升 | 湿度值上升 | 通过 |
4 | 用电吹风热风测试 | 温度值上升 | 温度值上升 | 通过 |
5.2.3 可燃气体检测程序测试
对可燃气体检测程序进行软件功能测试,主要功能是检测室内可燃气体的浓度,判定阈值时需要根据多次实验确定,并结合环境等因素动态调整[14]。并对可燃气体浓度数据进行分析操作,其测试用例如表5-3所示。
表5-3 可燃气体检测程序测试用例表
序号 | 测试状态 | 预期结果 | 实际结果 | 测试目的 |
1 | 检测MQ-2传感器 | MQ-2传感器无异常 | MQ-2传感器无异常 | 通过 |
2 | 正常模式可燃气体浓度 | OLED显示相关数据 | OLED显示相关数据 | 通过 |
3 | 可燃气体浓度出现异常 | 发出报警指令 | 发出报警指令 | 通过 |
5.2.4 显示界面程序测试
对显示界面进行程序测试,其主要功能是将温湿度传感器、可燃气体传感器和人脸识别摄像头采集到的数据进行处理后显示在OLED上,其测试用例如表5-4所示。
表5-4 显示界面检测程序测试用例表
序号 | 测试功能 | 测试操作 | 显示结果 | 测试目的 |
1 | 人脸识别显示 | 用人脸测试 | 主人 | 通过 |
2 | 人脸识别显示 | 用手测试 | 非法者 | 通过 |
3 | 可燃气体浓度显示 | 用可燃气体测试 | 可燃气体浓度上升 | 通过 |
4 | 可燃气体浓度显示 | 用二氧化碳测试 | 可燃气体浓度下降 | 通过 |
5 | 温度显示 | 用吹风机热风测试 | 温度值上升 | 通过 |
6 | 湿度显示 | 用嘴呼气 | 湿度值上升 | 通过 |
5.2.5 无线模块程序测试
无线模块采用的是GSMA6发送报警短信,对GSMA6无线模块程序测试,在检测系统中的报警指令,经系统判断后,发送相对于的报警短信,其测试用例如表5-5所示。
表5-5 GSMA6模块程序测试用例表
序号 | 报警指令类型 | 预期结果 | 实际结果 | 测试目的 |
1 | 非法入侵报警 | 发送非法入侵短信 | 发送成功 | 通过 |
2 | 温湿度数据报警 | 发送温湿度异常短信 | 发送成功 | 通过 |
3 | 可燃气体数据报警 | 发送气体异常短信 | 发送成功 | 通过 |
5.3 系统总体功能测试
经过温湿度检测模块测试、可燃气体检测模块测试、人脸识别模块测试、显示界面测试和无线模块测试后,各个功能均能实现。但是,设计中难免会出现各种功能模块之间的冲突,故而系统总体功能测试也是一个重要的环节。
智能家庭安防系统在启动时,会对使用功能模块的传感器进行检测,当缺少模块时,系统会通过语音提醒用户,相对应的模块出现异常,并继续启动系统。
刚启动系统时,系统是没有数据的,用户必须进行人脸的录入,才能进行人脸识别,根据实际场景远距离采集人脸,低分辨率的人脸图像会导致识别率较差[15]。因此,在进行人脸录入操作时,尽量选择光线较好和距离适中的地方进行测试。
随着系统的启动,温湿度检测模块、可燃气体检测会相继启动,当温湿度数据或可燃气体超过用户所设定的阈值时,系统会通过GSMA6无线模块向所绑定的手机号发送相对应的报警信息。系统实物图如图5-1所示。
图5-1 系统实物图
本系统可以通过按键设定温湿度和可燃气体的阈值,并实现用户人脸录入和人脸数据的清空功能,将其修改的数据进行保存。其OLED界面实物图如图5-2所示。
图5-2 OLED界面实物图
5.4 本章小结
本章主要是对智能家庭安防系统的硬件选择和介绍,经过人脸识别的测试和传感器选用的基本要求,传感器数据的采集与显示和报警则是本章的重点,能够采集到正常数据,以及显示在屏幕上,实现可视化和报警功能。同时实物的显示,达到设计时的预期要求在系统测试后,系统工作正常。到此,系统全部设计工作完成。