崔冰清,褚丽莉,杜仁鹏
(辽宁工业大学 电子与信息工程学院,辽宁 锦州 121001)
摘要:介绍了单片机操作系统、C语言技术与GSM模块结合完成智能家居系统的设计与实现。该系统主要实现三大功能:监控室内温度、防盗和检测室内可燃气以及烟雾。首先通过3个传感器模块采集室内信息,例如温度、人体、可燃气与烟雾等,然后发送到以51系列单片机为核心控制器构建的数据采集终端上进行处理,若发生特殊情况,系统发出报警声,并通过GSM模块发送报警信息到远程接收端。仿真结果证明,该系统成本低,操作方便,并且达到了预期的稳定性和可靠性。
关键词:单片机;C语言;传感器;GSM
中图分类号:TP273文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.07.015
引用格式:崔冰清,褚丽莉,杜仁鹏.基于单片机和GSM的智能家居系统的设计[J].微型机与应用,2017,36(7):50-52.
0引言
智能家居的概念最早是美国在20世纪70年代提出来的。此后,在欧洲、新加坡、日本等发达国家和地区,智能家居这个概念被引入,并且势头越来越猛[1]。20世纪90年代末传入中国。随着中国综合国力的增强,人民生活水平的提高,住宅消费观念的不断进化,对于住宅的要求也相应提高,于是形成智能住宅及智能家居的概念[2]。
本文结合单片机接口技术以及C语言的相关知识设计了智能家居系统,目的是实现以下功能:当有人闯入住宅时,红外报警模块触发,报警指示灯亮,并通过蜂鸣器发出警报,通过GSM模块传到远程的手机接收端,从而通过远程接收端对智能家居系统进行控制;通过温度检测模块和烟雾传感器模块设置额定温度值以及额定的烟雾值,当温度以及烟雾超过额定值时,报警指示灯亮并通过蜂鸣器发出警报,然后通过GSM模块发送到远程手机接收端,并通过接收端进行控制。
1系统总体设计
本文所设计的智能家居系统包括以下几个部分:温度检测模块、红外监控模块、烟雾传感器模块、LCD液晶显示模块、GSM模块等。本系统是基于安卓操作系统建立的远程控制平台,以51系列单片机为核心控制器构建数据采集终端[34]。按键电路控制系统的额定值,并模拟门的状态。蜂鸣器电路用以报警时发出警报,LED灯模拟报警时发出照明警报。室内环境监控系统是系统的重要组成部分,其作用就是对室内环境进行实时监测,并依据事先设定好的参数和控制规则对室内环境进行干预。它分为3个子系统:温度监控系统、红外感应报警系统、烟雾与可燃气报警系统[5]。温度监控系统将传感器采集到的温度数据传送给单片机,同时单片机将实际温度与设定的额定温度进行比较,如果实际值大于额定值,系统就会发出警报,并通过GSM模块发送到远程控制平台,通过接收端进行控制。红外传感器检测到有人非法进入时,触发报警。数据采集终端会将报警信息及时反馈到安卓监控平台进行控制。烟雾传感器的原理类似于温度传感器,传感器将采集到的烟雾值传送给单片机,并与实际设定值进行比较,若实际值大于额定值,系统发出警报,并通过GSM模块发送到远程控制平台,通过接收端进行控制。系统设计的总体框图如图1所示。
2硬件设计
系统采用Atmel公司生产的AT89C52作为系统的主控芯片,在其外围添加温度传感器、红外传感器、烟雾传感器、GSM模块等硬件设备,这些设备主要用于检测室内环境因素,当超过额定的设置值时,在液晶显示屏上显示当前值和额定值,并通过蜂鸣器报警以及GSM模块发送到远程接收端,当然,报警指示灯会亮。
2.1温度传感器模块
本系统温度传感器模块选用的是DS18B20。它采用单总线通信方式,其内部包含地址,非常适合于各种工业和民用场合的应用[6]。其测温范围是-55°~+125°;其分辨率用户可以自行选择,9~12 bit之间;内部也分别设置了温度的上限与下限的报警设置。除此之外,DS18B20的成本也比较廉价,适合推广。
2.2烟雾传感器模块
烟雾与可燃气报警系统的作用是监测室内环境的气体成分,当监测到特定烟雾或者可燃气体时,系统立即发出警报。该系统检测到特定烟雾或者可燃气体时,会发出声光报警,并将报警信息反馈至远程监控平台[7]。
本系统选用MQ-2气体传感器模块作为前端数据采集器件。MQ-2的电路连接图如图2所示。
可以通过RV1上下两个箭头调节接收到的烟雾值。当调到大于或者等于设定的额定值时,系统就会发生警报。
2.3红外人体感应传感器
本系统采用的红外人体感应传感器模块是HC-SR501。该模块灵敏度高,可靠性强,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。
其硬件电路设计图如图3所示。
2.4GSM模块
GSM模块是一个类似于手机的通讯模块,集成了手机的若干功能于一块小电路板上,与手机部分功能一样,具备发短信、打电话的功能。它在很多领域中都有着广泛的应用。通过使用AT指令才能对GSM模块进行控制。模块可以与电脑RS232串口连接,也可以用单片机来进行控制。
本系统通过SIM800模块对温度、烟雾以及红外模块信号进行接收,将报警信号发送到用户接收端。其主要功能部分包括:(1)GSM基带;(2)GSM射频;(3)天线接口;(4)其他接口。
模块功能图如图4所示。
2.512864LCD液晶显示屏模块
由于LCD具有显示信息量大、能够实现良好人机交互的特性,所以得到了广泛的使用[8]。常见的液晶有字符型液晶和图形型液晶,由于字符型液晶只能显示字母和数字,不能显示汉字,所以在国内用得比较少。而图形型液晶在国内应用比较广泛,它可以显示汉字、图形等各种信息。其中12864LCD液晶显示电路如图5所示。
3软件程序设计
本次实验的仿真部分是在Proteus软件中进行的,相应的软件程序是在Keil C51中完成。在一般由单片机控图512864LCD液晶显示屏电路连接图制的系统中,主程序中某一部分是被系统反复执行的 。当然本系统也不例外,当单片机上电后,系统开始运行,从main函数中开始执行。在本系统的主函数中,主要完成一些外设的初始化,并根据用户对于按键的操作来控制外部信息的接收。本系统主要实现的功能有监控室内温度、检测室内烟雾以及可燃气、防盗等,并且通过GSM模块发送报警信息到远程终端。对于软件程序的编写,可以通过按键对单片机设计最小初始的最高温度和最低温度、额定的烟雾值以及红外感应等各方面的数值来达到设计的目的。下面是主程序的部分代码:
#include <reg52.h>
#include "lcd12864.c"
#include "key.c"
#include "ds18b20.h"
#include "gsm_model.c"
sbit buzzer=P1^5;//蜂鸣器
sbit mq_2=P1^4;//mq_2
#define buzzer_onbuzzer=0;
#define buzzer_off buzzer=1;
extern uchar temp_value;
uchar TxRxBuf[4]={0xff,0x00,0x00,0x00};
uchar high_temp=29;
uchar low_temp=2;
uchar temp_now=0;
uchar set_flag=0;
bit warn_flag=1;
ucharbuzzer_flag=0;
4仿真结果
为了验证系统的各项指标,对系统进行仿真,在仿真测试过程中,主要模拟测试了智能家居系统对室内环境,包括室内温度值、烟雾值以及是否有人闯入等方面的监测,并模拟报警。首先测试第一个功能:监控室内温度。设置初始的额定温度报警值最高为38°,最低为5°,通过温度传感器改变温度值,当温度达到或超过额定最高温度值或者等于或低于额定最低温度值时,LCD显示屏显示当前温度,报警指示灯亮,蜂鸣器工作,GSM模块发送报警信息到接收端。实验结果显示该功能可以正常工作。其次测试第二个功能:检测室内是否有烟雾以及可燃气,该功能与第一个功能类似。设置初始额定烟雾指数为25,给烟雾传感器一个烟雾值,当烟雾达到或超过额定烟雾指数时,LCD显示屏显示当前烟雾指数,蜂鸣器工作,报警指示灯变亮,GSM模块发送报警信息到远程终端。通过仿真
验证,该功能能正常工作。测试最后一个功能:防盗。当人体感应传感器检测到有人非法进入时,显示屏上入侵状态显示有,反之,则显示无。
5结论
本次设计采用了单片机作为中央处理器,各个传感器采集家居的内部环境因素,并通过GSM模块发送报警信息到接收端。各个硬件设备的互相有效协作,完成了智能家居的模拟。
参考文献
[1] 吕莉,罗杰.智能家居及其发展趋势[J].计算机与现代化,2007(11):18-20.
[2] 高小平.中国智能家居的现状及发展趋势[J].低压电器,2005(4):18-21.
[3] 王朝华,陈德艳,黄国宏,等.基于Android的智能家居系统的研究与实现[J].计算机技术与发展,2012,22(6):225-228.
[4] 李涛.基于Android的智能家居APP的设计与实现[D].苏州:苏州大学,2014.
[5] 花铁森.智能家居系统核心技术探讨[J].智能建筑电气技术,2009,3(1):92-98.
[6] 刘晓彤.嵌入式智能家居远程监控系统的设计与实现[D].北京:北京交通大学,2009.
[7] 崔若飞.基于ARM和GPRS智能家居监控系统的设计与研究[D].北京:北京交通大学,2009.
[8] 徐子豪,张腾飞.基于语音识别和无线传感网络的智能家居系统设计[J].计算机测量与控制,2012,20(1):180-182.