寇为刚 郑克诚
摘 要:文章研究了基于STM32单片机的智能家庭安防系统,其采用STM32F103ZET6单片机作为核心控制单元,对室内的温湿度、光照强度、空气质量进行实时采样,根据设定的阈值,控制电器驱动模块确保室内空气环境清新干净;对非法入侵、可燃气体泄漏等不安全问题及时通过远程通信模块通知住户并及时自动报警,实现家庭安全防盗报警。
关键词:智能家居;空气质量;安全防范;远程通信
近年来,随着国民经济高速发展,工业企业不断壮大,人口流动性增大,社会治安趋于复杂,空气污染也愈演愈烈,人们对居住环境的安全性要求也越来越高,不仅满足于住得舒服,更希望住得安全。居住环境的安全来自方方面面,除了财产安全和人身安全,室内空气质量同样是关乎生命安全的问题。因此,防止陌生人入侵,保持家庭空气清新干净,煤气泄露报警等是每个家庭都十分关注的安全防范问题。目前市面上的同类产品是作为单独系统单元出现,仅仅是空气质量的监测和改善,或者单一的实现安防报警功能,并没有做成非常全面的智能家居产品。基于此,论文设计智能家庭安防系统,该系统不仅有传统家庭安全防盗报警功能,同时兼顾空气质量监测与改善功能,为人们提供更为安全的保障。
1 系统总体设计
基于STM32单片机的家庭智能安防系统[1]主要由家庭安全防盗报警部分、空气质量监测系统和远程控制部分组成,是一款功能全面的经济型家庭安防系统。
家庭安全防盗报警部分由核心控制单元和前端传感器组成[2]。SW-420震动传感器感知门窗是否被推动、E18-D80NK光电传感器感知窗户附近是否有异常活动、MQ-7气体传感器感知火灾发生,这些信息实时传输到核心控制单元的单片机,进行数值分析,当数值超出阈值时,单片机传递指令利用GSM/GPRS通信技术实现快速报警。
空气质量监测系统(Air Quality Monitoring Equipment,AQME)利用传感技术,GSM/GPRS通信技术,微机处理技术来实现空气质量监测及报警功能,實时采集数据并进行分析功能,空气质量等级提示及报警功能。其原理是光敏二极管采集的室内光照强度、DHT11传感器采集的室内温湿度、GP2Y10空气质量传感器采集的室内空气质量等信息实时传输到核心控制单元的单片机,单片机根据收集到的信息进行数据分析,在TFTLCD显示屏中显示出数据和相应的提示。
远程控制部分使用ATK-SIM800C模块[3],该模块集通话、收发短信功能于一体。当系统进入报警程序时,单片机向该模块发送指令,该模块将预编好的短信发送到指定目标进行报警。用户也可以向该模块发送命令短信,控制家用电器的开闭,改善室内空气质量,提高宜居性。
系统采用STM32系列的STM32F103ZET6单片机作为核心控制单元[4],控制空气质量监测系统、家庭安全报警部分、远程控制部分3个模块,使用光敏二极管采集室内光照强度,DHT11传感器采集室内温度和湿度,SW-420震动感应器感知门窗是否被触碰,E18-D80NK光电传感器感知门窗附近是否有人员活动,MQ-7气体传感器感知火灾的发生,GP2Y10空气质量传感器采集室内空气质量指数,ATK-SIM800C模块进行短信报警和远程控制。单片机接收来自各个传感器的信号,对信号进行处理,转化成人类可识别的信息显示出来。当需要报警时,单片机发送指令给GSM/GPRS通信模块,该模块将预编好的信息发送出去实现报警功能。同时用户也可以发送指令短信给该模块,从而控制家里用电系统的开闭,做到远程控制,本设计的总体框如图1所示。
2 系统部分硬件设计
2.1 ATK-SIM800C远程通信模块
远程通信芯片采用SIMCOM公司的新型紧凑型产品ATK-SIM800C,它属于双频GSM/GPRS模块,完全采用SMT封装形式,性能稳定,外观精巧,性价比高,并且能够满足用户的多种需求。在实现断线自动重连功能时,涉及DCD和RI两个引脚的使用。DCD引脚用来实现模数转换,当模块掉线时,会给DCD引脚一个高电平,当这个电平被DCD引脚检测到之后,模块就是采取相应的动作,来重新连接上线。RI引脚在模块上线之后,就一直保持高电平,在有电话和短信进来的时候,RI管脚就会有一个低电平出现,当RI引脚检测到这个低电平的时候,模块就会采取相应动作,进入短信或者电话模式,ATK-SIM800C通信模块如图2所示。
该模块采用串口连接方式与单片机进行数据通信,可实现短信和电话两种模式,当有非法入侵、可燃气体泄漏等不安全问题发生时,该模块自动报警并发短信给户主,确保用户财产安全。
2.2 TFTLCD液晶显示模块
TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD和STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(Thin Film Transistor,TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量,TFTLCD显示器如图3所示。
TFTLCD的信号包括:RS,D0~D15,WR,RD,CS,RST和BL等,其中真正在操作LCD的时候需要用到的就只有:RS,D0~D15,WR,RD和CS。其操作时序和SRAM的控制完全类似,唯一不同就是TFTLCD有RS信号,但是没有地址信号。
对于NOR FLASH/PSRAM控制器(存储块1),通过FSMC_BCRx,FSMC_BTRx和FSMC_BWTRx寄存器设置(其中x=1~4,对应4个区)。通过这3个寄存器,可以设置FSMC访问外部存储器的时序参数,拓宽了可选用的外部存储器的速度范围。
3 软件部分设计
软件部分设计采取模块化设计,程序由初始化程序、各传感器的数据采集模块、TFTLCD显示屏显示模块、ATK-SIM800C远程通信模块、声光报警模块以及远程控制模块。
初始化程序将用到的各头文件导入,初始化各传感器,使能端口时钟,根据各传感器、TFTLCD显示屏以及远程通信模块的特点定义I/O口的输入输出方式。传感器的数据采集模块分为模拟数据采集和数字数据采集,模拟数据通过STM32F103ZET6片内12位多通道A/D转换器进行数据采集,数字数据根据通信协议与主控芯片进行数据交换完成数据采集。TFTLCD显示屏是16位数据并口,与STM32F103ZET6单片机的串口连接,初始化序列使用LCD供应商提供的初始化序列,可以与开发板同时进行硬复位。具体软件流程如图4所示。
4 实验结果
当光照强度低于30时,小于程序中的阈值,单片机在PE5口输出高电平,控制电灯的继电器闭合,电灯点亮,同时在LCD屏幕上提示灯光已开启,低光照条件下的显示屏如图4(a)所示;当E18-D80NK光电传感器和SW-420震動感应模块传递到单片机的信号数值同时超出阈值,根据传感器的编号,单片机判断出屋内的哪个位置有异常活动,并在LCD屏幕上显示出来,ATK-SIM800C通信模块自动将预编好的报警短信发给保卫部门,入侵报警状态下的显示屏如图4(b)所示;当MQ-7气体传感器传回的模拟信号,经A/D转换由低电平变为高电平时,单片机触发报警程序,ATK-SIM800C通信模块自动将预编好的报警短信发给消防部门,LCD显示屏提示发生火灾,蜂鸣器持续报警,火灾报警状态下的显示屏如图4(c)所示。
5 结语
本设计实现了基于STM32的经济型家庭智能安防系统,光敏二极管采集室内光照强度、DHT11采集室内温湿度、GP2Y10采集室内空气质量、E18-D80NK光电传感器和SW-420震动传感器感知门窗是否被打开、MQ-7气体传感器感知火灾发生,所有传感器采集的信号传输到STM32单片机处理,通过TFTLCD显示屏显示出当前室内光照强度、温度、湿度、空气质量等信息。当发生非法入侵和火灾时,本系统在进行声光报警的同时,通过ATK-SIM800C通信模块发送短信报警。
本系统采用模块化思想开发,各个传感器之间互不干扰,且各传感器技术成熟、性能稳定,是目前市场上性价比最高的传感器。系统在易用性和功能性上都优于普通家庭安防系统,成本上也严格控制在千元以下,可以作为家庭安防系统的推广产品使用。
主控单元采用ALLENTEK公司的开发板,功能强大,可拓展性强。后期还可开发出互联网远程控制,安防视频监控等功能。根据用户需求,为用户提供不同的家庭安防系统方案,做到系统按需定制,安防因地制宜。