1. 引言
智能家居是依托于物联网,将家里面所有的家电链接一起,从而构建起一个高效率的住宅平台,和传统的家居相对比较,更加智能化,便捷化,人性化。智能家居安全系统可以说是未来家居的发展主流的趋势。现在市场上广受消费者们青睐与追捧,具有实际研究意义与广阔的市场 [1]。以前的智能家居一般采用有线将家居们进行连接从而实现信息交互。采用这种方法,一方面需要专业的公司派人过来进行安装,成本过高;另一方面也存在建设完成时间长,灵活性差等问题,而且还不能自我更新升级 [2]。因此结合嵌入式技术、WIFI通信协议、无线网络技术、传感器技术和数字视频技术,设计并实现了一个基于无线网络技术的智能家居监测系统。主要是采用STM32F103C8T6单片机为核心控制电路来实现对智能家居进行实时监测,与系统传感器进行模块构造集成。同时依托互联网进行数据分析与应对,以达到针对性的防控目的。
2. 系统结构
本文系统进行设计了一款以STM32单片机模块为基础的智能家居监测系统设计,该设计系统主要是由PC网页端、单片机系统电路、电源电路、温湿度检测电路、烟雾检测电路、红外检测电路、报警等七部分模块进行构成,另外,以STMF103C8T6单片机模块为主核心控制单元,数据的采集主要是通过烟雾传感器如MQ系列对日常家庭的空气中烟雾检测,以及DHT11对空气中的温湿度数据进行检测,接着将被进行测量的数据传输给单片机系统进行分析处理,室内传感器感知周围的空气中烟雾、气体浓度和当前的室内温湿度,通过WIFI上传网页端显示当前环境的温湿度值、烟雾浓度值,一旦发现浓度过高或者温湿度过高,会进行报警,警示家庭可能会引发火灾。同时建立数据库进行存储传感器实时数据以及能够查看传感器历史数据 [3]。总体设计框图如图1所示。
整个设计系统的软件部分都是采用C语言以及Java语言进行编程的。使用C语言编进行编程,从而实现传感器检测模块的数据的上传以及风扇电灯的控制。而数据库的设计则是采用了比较简单容易上手
的MYSQL,成本低、体积小且开放源代码的特性我选择了他设计数据库部分。由于MYSQL和Java的契合度比较高,所以对其界面的设计采用的是eclipse软件以及使用Java ssm框架去进行软件设计开发。网页端用户可以通过登录进入系统查看实时数据和历史数据,并且可以选择模式,设置阈值,远程操作风扇电灯开关。网页总体框图如图2所示。

Figure 1. Block diagram of overall design
图1. 总体设计框图

Figure 2. Block diagram of interface design
图2. 界面设计框图
3. 系统硬件设计
3.1. 单片机电路
STM32F103C8T6单片机系统模块主要是基于ARM Cortex-M3内核的STM32系列下的一个具有32位的微控制器器件,其次,该控制器件还具有其64 KB容量的程序存储器,其容量是比较大的,工作温度是在−40℃到85℃之间,最高工作频率可以达到72 MHz。
该芯片是采用2到3.6 V的电压进行供电的,所以需要供电模块进行降压使用,此芯片上具有IO引脚、上电复位、断电复位、可编程的电压监测器、4到16 MHz的晶体振荡器、内嵌的8 MHz的RC振荡器、带校准的40 KHz的RC振荡器以及带校准功能的32 KHz的RTC振荡器,并且还能够可以去产生CPU时钟的PLL [4]。STM32F103C8T6的原理图如图3所示。

Figure 3. STM32F103C8T6 microcontroller
图3. STM32F103C8T6单片机
在设计整个智能家居模块的时候,进行设计单片机系统的复位电路的设计是为了能够让我们的控制系统当中的其他一些功能部件在控制系统设计的过程中都能够去处于一个最初始的状态。这样我们在遇到故障时按下复位键可以解决大部分问题。单片机系统上的复位电路引脚是与STM32F103C8T6的引脚7进行相连,原理图如图4所示。

Figure 4. Schematic diagram of reset circuit
图4. 复位电路原理图
3.2. 传感器模块的设计
3.2.1. 温湿度传感器
本系统设计采用的是DHT11温湿度传感器模块来进行设计,这是一款4针单排的一个引脚封装的数字温湿度传感器模块。它主要的一个功能就是能够让我们用户去使用它去进行在某一个小范围内的温湿度检测,在其性能方面上此芯片模块具有相对其可靠、稳定等特点 [5]。因此只需要将其接口连接3.3 V电源,地面以及39号引脚,其原理图如图5所示。

Figure 5. Humidity sensor circuit schematic diagram
图5. 湿度传感器电路原理图
3.2.2. 红外传感器
红外传感器则是使用了Risym的红外传感器,该传感器模块对环境光线适应能力强,其模块具有红外线发射以及接收管两部分,首先通过发射管去进行发射出一定频率的红外线,然后检测方向那端遇到障碍物的时候,也就是反射面,红外线会进行反射回来,反射回来的红外线会被接收管进行接收,其传感器的有效距离范围大概是在2~30 cm之间,工作电压大概是为3.3 V~5 V之间。其发射接收引脚连接45、46号接口 [6],原理图如图6所示:

Figure 6. Schematic diagram of infrared sensor
图6. 红外传感器原理图
3.2.3. 烟雾传感器模块
MQ-2模块是一种N型半导体气体传感器。当传感器模块所在的环境中存在有烟气的时候,其电导率会立马随着空气中的烟气浓度的增加而继续增加。因此,用户在进行设计警报器的时候,可以去进行使用其简单的一个电路进行将电导率的变化去转换为与该气体浓度相对应的一个输出信号以便进行检测烟雾。该传感器具有灵敏度比较高,电导率的变化比较大,响应以及恢复的时间相对比较短,抗干扰能力也比较强,输出信号比较大,寿命比较长,工作相对稳定等一系列优点。所以MQ-2系列的气体检测模块非常的适合于烟雾探测传感器的使用 [7],其引脚连接单片机的15号引脚,如图7所示。

Figure 7. Schematic diagram of smoke detection circuit
图7. 烟雾检测电路原理图
3.3. WIFI模块
ESP8266WIFI芯片具有一套相对比较完备的独立WIFI网络功能。它可以去用作相对独立的应用程序当中,也可以去用作在其他的主机MCU上去进行运行从属设备。此外,该无线模块集成了天线开关、滤波器、射频,功耗以及低噪声的放大器,而且还去进行集成了增强版本的Diamond系列的32位核心处理器;这样的紧凑设计使得WIFI模块所用到的PCB尺寸达到最小。同时因为本设计对WIFI模块的功能要求较少所以与单片机的连接也非常简单与单片机STM32F103C8T6的30、31相连 [8]。WIFI模块原理图如下图8所示。

Figure 8. Schematic diagram of WIFI module
图8. WIFI模块原理图
4. 系统软件功能设计
4.1. 主程序结构
系统开始工作时传感器需要初始化,然后开启串口,读取上次存储的设定温度,如果随后传感器探测后进行信号采集,经过单片机处理,通过WIFI模块进行传输到系统,然后判断这个值是否超过设定的报警值,随后出现两个结果:1) 如果这个值超过之前所设定的报警值,那么命令将进入报警程序,从而使得系统报警;2) 如果这个值没有超过之前所设定的报警值,那么继续返回信号采集环节,直到单片机判断的值超过所设定的值为止。除此之外,程序还包括APP/网页显示功能,报警浓度、温湿度设置功能以及远程控制风扇以及电灯等 [9]。主流程图如下图9所示。
4.2. 数据库模块
本文进行设计的智能家居监测系统主要是利用了五张表来进行模拟实现系统所需要的一些功能,数据库列表设计如下所示。其中温湿度信息表如表1所示:

Table 1. WSD temperature and humidity information table
表1. WSD温湿度信息表
温湿度信息表主要是用于显示报警配置功能,用户可以再报警配置界面对阈值进行更改,并存储到数据库中。
菜单信息表如表2所示:
菜单信息表用于记录与管理系统界面功能,与Java中界面每个按键对应功能进行联系。
权限信息表如表3所示:

Table 3. Permission information table
表3. 权限信息表
权限信息表用于创建角色,以便与用户和菜单建立对应关系。
菜单权限信息表如表4所示:

Table 4. Menu permission information table
表4. 菜单权限信息表
菜单权限信息表用于给菜单功能设置权限,只有对应权限的用户才能进行访问。
用户信息表如表5所示:
用户信息表用于记录用户信息,用户信息表可以根据使用者的需要对用户信息进行修改、添加和删除。
4.3. ssm框架模块
对于后台开发,采用了Java ssm框架。SSM框架由spring MVC,spring和mybatis框架的整合实现,与用户进行交互由spring MVC负责,具体的操作由spring负责,对数据库的操作由mybatis提供。ssm框架流程图如图10所示。
4.4. 网页模块
4.4.1. 系统时序
当用户登录账号进入系统时,可以通过系统的数据界面查看由单片机三个传感器通过WIFI模块上传到服务器的数据,而单片机同时也在实时上传数据。用户可以操作控制界面设置模式,在手动模式下时阈值由用户自己输入且不会发生改变,同时可以操作风扇和电灯的开关。在自动模式下时温度和湿度的阈值随着近十次采集数据的平均值改变。当检测到监测数据超过阈值时系统监控界面将开始警报,界面将出现红色条幅并发出声音警报,当烟雾报警时风扇也会同时运转直到停止警报。当用户退出系统时就会返回到登录界面 [10]。网页模块时序图如图11所示。
4.4.2. 系统功能
智能家居监测系统的主要功能有三个模块:1) 数据查看模块、2) 数据监控模块、3) 报警控制模块。
1) 数据查看模块
数据查看模块包括空气温度查看、空气湿度查看、烟雾数据查看、红外数据查看,在这一模块可以翻阅所有传感器的历史监测数据,这样就可以观察到不正常数据发生的时间,方便在意外发生的情况之后对发生原因或者情况的分析以及排查故障。
2) 数据监控模块
数据监控模块包括空气温度监控、空气湿度度监控、烟雾监控、红外监控、数据总览功能,这一模块与报警控制模块构成系统最主要的功能。四个监控界面能够进行显示其最新的数据并以一个折线图的形式去进行显示数据,可以很直观地进行看清其数据的一个变化趋势。当数据超过阈值时监控界面就会报警,除了界面上的红色条幅报警以外还会出现声音警报,当烟雾采集数据超过阈值时还会打开风扇。而数据总览部分则是对于前面四个监控界面的浓缩,虽然只能看到最新数据并且没有折线图显示变化趋势,但好处在于可以同时观察四个数据,方便用户观察。
3) 报警控制模块
报警控制模块包括报警配置、控制模式、远程控制功能,这一模块与数据监控模块构成系统最主要的功能。在报警配置功能中,用户可以手动输入温湿度、烟雾、红外线检测数据的阈值。当数据超过阈值时监控界面就会报警,除了界面上的红色条幅报警以外还会出现声音警报,当烟雾采集数据超过阈值时还会打开风扇。在控制模式功能中,用户可以选择手动模式和自动模式。在手动模式下时,四种数据阈值将采用在报警配置中设定的阈值进行报警检测,并且可以手动控制风扇与电灯开关。在自动模式下时,温湿度阈值将随着最近10次采集到的数据进行变动,而报警模块也将根据最新的阈值进行报警判断。在远程控制功能中,用户可以手动打开风扇与电灯,实现上位机对下位机的控制功能 [11]。
网页功能框图如图12所示。
5. 实验结果
此次系统设计中,智能家居监测系统中检测数据主要由WIFI模块信息数据的传输,如图13所示,先利用账号密码登陆网页界面,登陆成功后,页面如图14所示,有着报警配置,有着温湿度数据、烟雾、红外数据以及它们的监控画面,最后就是数据的总览,实时记录数据或者能够查看历史数据。
接着对报警配置进行温湿度、烟雾初始阈值的设置是根据系统采集到的数据通过计算统计随时进行更新的,如图15所示。

Figure 15. Alarm threshold configuration diagram
图15. 报警阈值配置图
我们对着温湿度传感器进行哈气,通过图16所示,其温度、湿度、红外都有异常。
如图17(a)所示,我们可以发现页面实时的记录了温度的变化,当达到阈值设定值的时候,会发出声音报警,同时页面也会显示警报,同理如图17(b)所示,我们可以发现页面实时的记录了湿度的变化,当达到阈值设定值的时候,会发出声音报警,同时页面也会显示警报。如图18所示,我们可以发现页面实时的记录了烟雾的变化,当达到阈值设定值的时候,会发出声音报警,同时页面也会显示警报,如图19所示,我们可以发现页面实时的记录了红外的变化,当检测到有人的时候,会发出警报。
(a)
(b)
Figure 17. Temperature and humidity record results
图17. 温湿度记录结果图
控制模块分为自动模式以及手动模式,自动模式是烟雾超过预警值则会打开风扇进行驱散以及有人闯入则打开灯,手动模式时通过按键进行远程控制,如图20所示。
为验证本文所设计系统的实用性,将采集节点置于室内。可以清楚地观察到室内烟雾气体浓度及温湿度的浓度变化。本次实验采用市面上主流的AT89C51单片机作为参考对照,在相同的测试环境的前提情况下,其泛化性能指标如下表6所示。

Table 6. Generalization performance table of the classifier
表6. 分类器的泛化性能表
从表6可以看出,与AT89C51单片机作为核心控制电路进行比较,STM32F103C8T6单片机在响应速度、报警精确度方面以及烟雾识别率上均有显著的提高。通过对结果的分析,STM32F103C8T6单片机对于智能家居监测有较好的效果。同时相对于成本而言,具有可观的经济性与高性价比。不难解释:AT89C51单片虽然是智能控制中最常用的控制器之一,但对于智能家居的这种安全性建设,AT89C51单片机很少被使用,一是因为对于各种传感器模块的连接,可能没有足够多的内核响应,AT89C51很难做到一个可靠的数据传输分析,二是STM32 F103C8T6具备AT89C51单片机的优点,能够当作控制器来用,还能加快响应速度。
6. 总结与展望
本论文设计了智能家居监测系统的应用研究,实现了对烟雾、红外检测、温湿度的实时监测功能。该设计有效的利用了单片机内部资源,有效的把温湿度、烟雾和气体传感器、无线网、数据库与网页系统整合在一起,使整个智能家居系统结构简单可靠,操作方便,长期工作性能稳定,满足对居住环境检测并发出警报,实验结果表明:STM32F103C8T6单片机能更好的进行数据的传输分析,对智能家居上的监测表现出较高的准确率,为今后智能家居辅助监测奠定良好基础。
参考文献