基于单片机和无线传感器技术实现智能门控安防系统的应用方案
扫描二维码
随时随地手机看文章
1 、引言
随着人民生活水平的提高和安全防范意识的增强,人们开始关心自己的生活和工作环境,不但要求周边环境的舒适化和人性化,对居住工作环境的安全化和智能化也提出了更高的要求,安防系统已经成为生活中必不可少组成部分。传统的安防系统主要依靠电话网播报警讯信息,但电话网易被破坏,且不适用于偏远地区等架设通信线路困难或不经济的地方。
GSM网络是基于时分多址技术和频分多址技术的通信网络体系,是我国覆盖面最广,功能最强,用户最多的数字蜂窝移动通信网。通过中国移动公司建成的无缝覆盖全国的GSM网,运用GSM短信技术传送警讯信息,具有安全可靠,安装方便等优点。
1、系统结构与原理
本安防系统结构如图1所示。把各种报警传感器分别安装在不同位置,当出现异常情况时,相应的传感器会将无线信号发送至控制模块的无线接收电路,控制模块通过软件判断出异常情况的类型,通过串行口控制GSM模块发送相应的报警短信,几秒钟后,用户的手机上就可以接收到报警短信,提醒用户采取措施。当用户在现场时,可通过发送短信撤除报警功能(简称撤防),防止报警器对用户行动的误报警。用户还可以利用计算机对存储于EEPROM中的报警记录进行读取,以及对报警系统进行设置。
2、硬件设计
2.1无线报警传感器
无线报警传感器主要包括热释电被动式红外报警器、烟雾报警器、煤气泄漏报警器、窗(门)磁报警器等。每一种无线报警传感器都是由传感器、信号处理电路、无线发射电路等构成。传感器在检测到异常情况后,通过无线发射电路实现无线报警。为了区分报警器的类型(即警情类型),同时增强系统的抗干扰能力,提高报警的准确性,每一个报警器都有不同的编码。这个编码由“地址码”+“身份码”构成,“地址码”用来标示不同的安防系统,同一安防系统内,所有无线报警器的地址码和无线接收电路的地址码是相同的;“身份码”用来标示不同的无线报警传感器。地址码和身份码可以由硬件实现,如利用SC2262编码芯片和SC2272解码芯片实现;也可以由软件实现,在编程时直接写入地址码和身份码。
2.2 控制模块
控制模块的核心是PIC16F74单片机。PIC16F74是一款低功耗、高速的Flash单片机,内部主要集成USART模块、I2C总线、SPI接口、输入捕捉/输出比较/脉宽调制CCP模块、A/D转换器、看门狗定时器WDT等功能部件。PIC16F74具有35条简洁的指令系统,其中除了程序分支指令是单字节、双周期指令外,其它都是单字节、单周期指令。单字节宽指令提高了软件编码效率,减少了所需要的程序存储器单元,使系统具有很高的处理效率和卓越的性能。PIC16F74单片机优异的性能加上良好的电磁兼容特性,使之非常适合于本系统的开发。控制模块主要用于处理报警信息,并与PC机通信。单片机与实时时钟芯片(SD2001)通过I2C接口进行通信。单片机通过普通IO与EEPROM(AT24C16)通信,AT24C16为I2C接口,对它的读写,需单片机程序产生I2C时序。 EEPROM中除了存储报警信息外,还存储用户的手机号码和撤防的密码。
2.3 单片机与GSM模块、PC机的硬件接口电路
图2显示了单片机与TC35、PC机的连接图。GSM模块采用西门子公司推出的TC35。TC35是一款高性能的GSM模块,在应用系统中很容易集成,可以工作在GSM900kHz和1800kHz两个频段,RS-232数据接口,符合ETSI标准GSM07.07和GSM07.05,且易于升级为GPRS(通用分组无线电业务)模块。TC35集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音、短消息、传真提供快速、安全、可靠的传输,方便用户的应用开发和设计。
由于TC35数据接口工作在CMOS电平,而PIC16F74工作在TTL电平,工作电压范围一般比TC35宽,故应在单片机和TC35之间加电平转换电路。单片机通过异步串行接口RC6、RC7与TC35进行数据通信,通信速率为9600kbit/s,采用8位异步通信方式,1位起始位,8位数据位,1位停止位。
单片机利用普通IO与PC机串口通信。单片机需要在通信程序中自己产生串行时序。
3、软件设计
系统软件包括单片机程序和PC机程序。PC机的程序主要是对计算机串口的读写,本文不加详述。单片机的程序主要包括初始化、单片机对报警信号的处理、单片机与PC机的通信和单片机对设防撤防信号的处理。单片机程序的流程图如图3所示。当单片机检测到有GSM模块接收到短信后,先判断短信开头部分的密码正确与否,只有当密码正确才进行相应操作,否则不予处理。
3.1 单片机程序初始化
初始化程序主要包括对寄存器、IO的设置、从EEPROM中把用户手机号码和撤防密码读入单片机的寄存器中。初始化完成之后,单片机就循环检测有无报警信号、是否连接到PC机、GSM模块是否接收到短信。
EEPROM中存储用户手机号码和撤防密码,是为了防止系统断电后导致的重要信息的丢失。在初始化时将信息读入单片机的寄存器中,可以节省单片机处理的时间。
3.2 报警信息的处理
单片机通过无线接收电路接收探测电路发送的报警信号,通过报警器的“身份码”识别报警类型,并将“报警类型”通过GSM模块,以短信发送到用户手机。发送完成之后,单片机从实时时钟芯片读取报警时间,并将“报警类型+报警时间”写EEPROM。
利用AT指令可完成控制GSM模块进行SMS通讯的所有流程,欧洲通信委员会ETST发布的GSM07.05标准AT指令集是目前全球所有GSM模块均支持的收发SMS的命令集,常见的AT指令见表1。
每个AT指令以“AT+”开头,以回车结尾。在AT指令中还包括以下控制符:结束符(用表示),十六进制为0x0D;发送符(用《^Z》表示),十六进制为0x1A。
发送短消息常用Text和PDU(Protocol Data Unit)模式。使用Text模式收发短信的优点是代码简单,容易实现;缺点是不能收发中文短信。而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用三种模式:7-bit、8-bit和UCS2编码。7-bit编码用于发送ASCII字符,8-bit编码用于发送数据消息,UCS2编码用于发送Unicode字符(汉字),编码类型在PDU数据包中指定。下面举例说明PDU编码的组成。例如要把“有人非法开门!”七个字符发送到用户手机13909639342,则PDU数据为:00 01 03 0D 91 683109699343F2 32 08 0E 67094EBA975E6CD55F0095E8FF01。
PDU数据说明如下:
(1)00表示省略短信中心号码,由SIM卡决定;
(2)01表示文件头字节;
(3)03表示信息类型;
(4)0D表示被叫号码长度;
(5)91表示被叫号码类型;
(6)683109699343F2表示被叫号码,被叫号码经过移位处理;
(7)32表示协议标识TP-PID;
(8)08表示数据编码方案TP-DCS,因为要发送Unicode内码,所以使用USC2(16bit)编码;
( 9)0E表示用户数据长度;
(10)67094EBA975E6CD55F0095E8FF01表示用户数据“人非法开门!”。
需要注意的几个问题:
(1)所有AT指令的指令符号、常数、PDU数据包等都是以ASCII编码形式发送的。
(2)单片机向GSM模块发送每一条指令后,必须以回车符(0DH)作为该指令的结束,若没有这个回车符,GSM模块将不识别这条指令。
(3)GSM模块向单片机传送短信时,其PDTU数据包的内容是以十六进制表示的,但并不是直接向单片机传送十六进制数据,而仍然是把每一位十六进制数据以ASCII编码发送。这样,两个字节的十六进制数就变成4字节的ASCII码。但PDU数据包中的数据字节长度部分仍然是实际字节长度,而不是变成ASCII码的字节长度。单片机接收到数据包后,必须将其恢复成十六进制数据。
3.3 单片机与PC机的通信
PC机可以通过单片机读出EEPROM中存储的报警信息、用户手机号码和撤防的密码,并可以对后两项进行修改。
单片机对是否进行与PC机通信的判断既可以通过硬件实现,也可以通过软件实现,为了简化硬件,提高系统可靠性,采用软件实现状态的判别。PC机与安防系统连通后,当PC机要向单片机发送操作指令时,PC机就改变串口默认电平状态,并维持一段时间,单片机检测到该电平后,就进入与PC机通信的程序。PC机完成操作指令的发送后,串口就恢复为默认电平。单片机接收到操作指令后,就判断是“读取”指令,还是“修改”指令,如果不是这两条指令,就退出。
4、结束语
本设计方案借助于GSM网络和无线通信技术,实现了系统各个部分之间的通信无线化。无线报警器与主机之间的通信采用高频无线调制的方式进行;主机与用户手机之间采用GSM网络。整个系统之间的通信无需另外布线,这样既节约了成本,又提高了整个系统通信的可靠程度。整个系统既适合于城镇家庭使用,也适合于偏远地区等不便架设通信线路的地方使用,具有很好的应用前景。