基于ATmega128与GSM的家庭报警系统的设计与实现
2012-02-24 来源:维库
引言
随着电子技术的发展,防盗报警系统已从原来的简单化、局部化向智能化、集成化发展。目前市场上常见的防盗报警系统的通信方式有固定电话拨号、宽带网等。但是,利用固定电话拨号实现的报警器易遭受破坏并存在处于通话状态时可能无法报警的隐患。而宽带网同样面临着线路被切断的隐患,且不易普及。
本文提出了一种借助可靠、成熟的GSM移动网络,以最直观的中文短消息或电话形式实现远程报警和监控的智能家居报警系统,来实现家居环境的安全监控。它采用红外传感器进行检测,并配备烟雾传感器和燃气泄漏传感器,可实现防火、防燃气泄漏的作用。带有GSM网络功能的安防系统,使用户无论身在何处,都可以通过短信设防、撤防或查询安防系统的情况。
系统的构成及主要功能
该家庭防盗报警系统主要有GSM网络模块、红外传感器、燃气泄漏传感器、烟雾传感器、ATmega128单片机、声光报警器和Flash存储器等,其系统硬件结构如图1所示。
图1 系统硬件结构图
系统的前端感应器主要有防盗、防火和防煤气泄漏等传感器,根据需要选用并安装在适当的地方,用于收集非法入侵和危险信号并传送给单片机;单片机负责接收、处理感应器信号,判别是否有险情发生。单片机不断对各种传感器信号进行检测,如果检测到高电平,系统控制GSM网络模块实现短消息报警,将报警信息通过GSM服务网络发送到用户手机上,同时根据需要启动声光报警器发出相应的警报信号。如已实现小区联网,同时还会给联网中心的小区保安处发送报警信息;户主还可以通过发送短信打开主机上的*话筒,进一步确认家中是否发生险情。本系统能有效地达到防盗、报警的目的。
系统的硬件设计
ATmega128功能特性描述
本系统采用了Atmel公司的AVR单片机ATmega128作为控制核心。ATmega128为基于AVR RISC结构的8位低功耗CMOS微处理器。由于其先进的指令集以及单周期指令执行时间,ATmega128的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega128具有如下特点:128K字节的系统内可编程Flash、4K字节的EEPROM、4K字节的SRAM、53个通用I/O口线、32个通用工作寄存器、实时时钟RTC、4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C)、两个USART、面向字节的两线接口TWI、8通道10位ADC(具有可选的可编程增益)、具有片内振荡器的可编程看门狗定时器、SPI 串行端口、I2C、与IEEE 1149.1规范兼容的JTAG测试接口,以及六种可以通过软件选择的省电模式。
GSM模块的结构及通信接口
GSM模块采用的是西门子工业级GSM模块TC35i,它可以快速安全地实现系统方案中的短消息服务(Short Message Service)。TC35i模块主要由GSM基带处理器、GSM射频模块、供电模块、闪存、ZIF连接器、天线接口等六部分组成。它设计紧凑,大大缩小了产品体积,与GSM2/2+兼容,符合ETSI标准GSM0707和GSM0705,模块的工作电压为3.3~4.8 V,兼容双频(GSM 900/GSM l800)工作,具有RS232数据通信口。该模块集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音和短消息提供快速、可靠、安全的传输。TC35i有40个引脚通过ZIF连接器引出。
由于PC机的RS232电平与TC35i的电平不匹配,TC35i的串口通讯遵循RS232标准,所以通过串口的电平转换电路MAX232可以实现PC机与TC35i的连接通信。本系统ATmega128单片机与TC35i之间通过串行口进行通信,ATmega128与TC35i都是TTL电平,ATmega128工作电压范围是2.7~5.5V,TC35i工作电压范围是3.3~4.8V,可以直接加电阻连接,但一般要经接口电路连接,接口电路用7407缓冲/驱动芯片实现,接口电路如图2所示。
传感器的选型及接口电路
防盗、防火、防燃气泄漏等安防功能必须安装相应的传感器才能实现。对于防盗传感器,本设计采用红外线反射型传感器。
将红外线反射型传感器安装在门窗的两侧或通道的位置,当有人进入时红外线反射型传感器就会检测出来,给单片机送去高电平,启动防盗报警系统工作。红外线反射型传感器甚至可组成对射的检测系统,以提高控制范围。红外线反射型传感器与ATmega128单片机接口电路结构如图3所示。
本设计选用半导体气敏传感器作为燃气泄漏传感器。它是利用待测气体与半导体(主要是金属氧化物)表面接触时,产生的电导率等物性变化来检测气体。此外,本设计选用离子式烟雾传感器(NIS-09C),它被广泛运用到各种消防报警系统中,性能优于气敏电阻类的火灾报警器。
存储部件介绍
为了实现对预设电话号码的存储、报警信息的记录、以及对中英文字符的字模点阵的存储,本系统采用了能够保证掉电数据不丢失的片外Flash存储器AT24C1024。该芯片是一种I2C总线的存储器,和MCU的数据通信只需要两个引脚SDA和SCL即可,和通常的并行存储器相比,可以大大节约MCU的端口引脚资源和PCB的布线面积。I2C闪存同单片机接口电路如图4所示。AT24C1024使用二线制协议串行总线(I2C总线)及其传输规约进行双向传输。
GSM短信发送原理及流程
对TC35i的操作均采用AT指令,它包含了GSM语音和短信息的控制。为了支持中文短信,本设计中采用PDU模式发送和接收短信,汉字采用十六进制Unicode编码字符。短信模块发送短信是由AT指令控制的,发送的短信格式有两种:文本格式和PDU格式,前者只能发送字符和字母,而后者可发送字符、字母和汉字。为使用户方便地读取短信内容,本文选择采用PDU格式。发送采用8位数据位和1位停止位,无校验位,波特率19200bps。发送短消息的基本命令如下:
1、设置短消息服务中心地址AT+CSCA="+8613753485894"(太原)
2、设置短消息发送格式(0-PDU,1-文本)AT+CMGF=1;
3、发送短消息(短消息内容为“test”)AT+CMGS="13753485896"(目的地址) >test^z
4、列出所有的短消息AT+CMGL=
“ALL”
5、读取短信息内容(Once more),假设INDEX=6,AT+CMGR=6
6、删除短消息AT+CMGD=
发送短信息系统实现流程如图5所示,首先初始化串口,利用AT指令检查GSM模块是否连接成功,如果成功接收单片机检测到红外、燃气泄漏、烟雾等传感器的高电平,则对相应的高电平所反应的信息按一定的编码方式进行编码,再根据短信息中心号码、接收短信息目的用户号码、编码方式以及短信息有效期生产PDU格式数据。最后利用AT指令[AT+CMGS]来发送短信息到用户手机上。
系统软件的设计
系统的软件设计采用AVR系列单片机的C语言编写,软件部分重点在于对传感器报警信号的检测和对TC35i短信模块的控制。系统主程序及中断程序流程图如图6所示。系统首先对单片机的串口、中断和TC35i短信模块初始化,ATmega128单片机不断对其余传感器接口电路的I/O口循环进行检测,当检测到有传感器的开关量为1(高电平)时,则说明需要报警,开中断进入中断处理子函数,中断处理子函数完成对相应防盗、防火、防燃气泄漏等事件的短信息发送,同时启动声光报警器。利用ATmega128通过UART0串口通信向TC35i GSM模块发送一系列AT指令,就能实现基于GSM 的短信息SMS的收发、查寻和管理。
图6 主程序及中断程序流程图
结论
本文论述了一种基于ATmega128和TC35i的短消息防盗报警系统的设计与实现,证明使用TC35i短消息进行报警是完全可行的,该系统克服了传统声光报警的缺陷,为用户提供了一种方便实用的家用防盗报警系统。本设计具有实现简单、成本低、适用范围广、安全可靠等优点,具有广泛的应用前景。通过对功能模块的增加或减少以及单片机固件的修改可以制作出其他场合的监控防盗,比如汽车防盗、仓库防盗液位报警等。