本文介绍的基于GSM网络的安全系统能够很好地解决家庭或小区的安全问题。该系统通过GSM网络把报警信息以短信和电话的方式传送到手机或计算机,使主人或管理员在最短的时间内了解报警情况并做出相应对策。系统基于凌阳SPCE061A单片机开发,用GSM技术略去了传统报警系统的布局布线,提高了安全性和隐蔽性。
系统的结构与原理
本安全系统的结构如图1所示。系统由安全检测报警单元,GSM无线网络和主人/管理员单元三部分组成。通过安全检测报警单元的传感器检测安全指标,利用GSM无线网络进行实时的数据传输,以用户手机或计算机为平台,可将报警信息智能化发送给主人/管理员单元。
图1 基于凌阳单片机和MC39I模块安全系统的结构
硬件设计
1 安全检测报警单元
安全检测报警单元主要包括主控制器CPU、MC39I无线通信模块、传感器单元(红外热释电人体传感器,温度传感器等)、拨号键盘单元和液晶显示单元,其结构如图2所示。系统以SPCE061A单片机为核心,配合各种集成的传感器,用以检测各种安全信息,信息经过单片机进行处理之后,显示在1602液晶显示器上,同时将信息通过MC39I模块发送到预置好号码的手机或计算机上。
图2 安全检测报警单元结构原理图
● SPCE061A单片机
SPCE061A 是凌阳科技的一个16位结构的微控制器。其内部集成了10位模/数转换器,2个10位数/模转换器,32KB FLASH,2KB SRAM和超强的音频处理模块。从而使本系统的模/数转换避免了外界信号的干扰,传送音频报警信息方便、快捷,易于实现。
● 键盘拨号单元和液晶显示模块
键盘拨号单元采用4×4矩阵式键盘,连接到SPCE061A单片机B口的低8位上。其中,4位作为行扫描线,4位作为列扫描线。16个键分别作为数字键、确认键和工作方式选择键。液晶显示模块采用字符型液晶模块1602,采用5×7点阵图形来显示字符,可以显示两行,每行16个字。
● 传感器单元
传感器单元是系统的关键组成部分,决定着系统的报警灵敏度和误报率,可以根据具体的场合选择不同的传感器。热释电红外人体传感器、温度传感器和易燃气体传感器已经在本系统中实现。根据具体的需要还可以增加火焰、烟雾等传感器。热释电红外人体传感器能以非接触形式检测出人体辐射的红外线,并将其转换为微弱电压信号,再对微弱电压信号进行放大,电压比较和信号处理,产生能适合单片机检测的电压。本系统采用市场上的红外人体传感器模块,从而直接对放大的电压进行处理。温度传感器使用DALLAS公司的单总线式数字温度传感器DS18B20,其测温范围为 -55~+125℃,分辨率可达0.0625℃,温度值以16位数字量串行输出。可燃气体传感器选择MQ-2A型半导体气敏元件。MQ-2A元件对不同浓度的气体有不同的电阻值,而且电阻值的变化很灵敏。我们把电阻的变化转化为电压的变化,再利用片内10位ADC转换为数字量,从而实现检测。
2 主人/管理员单元
主人/管理员单元可以有两种选择方案(见图3)。一种是用户的手机,另一种是MC39I模块和计算机的组合。第一种方案适用于个人家庭的安全报警,设置报警的号码为主人的手机号码。第二种方案适用于智能小区,在每个小区家庭中安装一个安全检测报警单元,在小区管理员处安装MC39I模块和计算机的组合,能让管理员同时监控小区内所有家庭。本系统的重点是个人家庭安全。
图3 主人/管理员单元的两种方案
3 GSM无线网络单元
● MC39I模块
MC39I是SIEMENS公司推出的新一代无线通信GPRS模块。它自带RS232通讯接口,可以方便地与PC、单片机连接。模块的工作电压为3.3~4.4V,可以工作在900MHz和1800MHZ两个频段,所在频段功耗分别为2W(900MHz)和1W(1800MHZ)。模块有AT命令集接口,支持TEXT和PDU模式的短消息,本系统就使用简单的TEXT模式收发短信息。
MC39I模块的外围电路框图如图4所示,主要包括用户识别卡SIM卡、电平转换电路、扬声器、麦克风和天线等几部分。模块和SIM卡之间的数据通信主要通过SIMCLK和SIMDATA两根信号线。与单片机之间的通信采用串行通信口,最高通信波特率为115 200b/s,而且波特率可调,不过两者间的通信要通过电平转换电路。扬声器和麦克风连接到听筒、话筒手柄上,用于传送和接受语音信号,同时可以作为简易固定电话来使用。
图4 MC39I模块外围电路框图
● 串口电平转换电路设计
SPCE061A和MC39I模块之间的连接需要使用由MAX232芯片组成的电平转换电路,电路如图5所示。由于单片机的信号是CMOS电平,而计算机和MC39I模块的串行口是EIA-RS232C电平,其电平1为-3~-25V,电平0为+3~+25V,因此要进行CMOS电平和EIA-RS232电平间的相互转换。串口通信的RS232接口采用9针串口DB9,数据的传输只要数据接收和数据发送两根线就能实现。
图5 MAX232电平转换电路
软件设计
本系统的软件部分主要包括短信息服务(SMS)有关的AT指令,凌阳单片机的语音播放,传感器采集电压的A/D转换和设置报警号码的拨号键盘四部分。
1 AT指令
MC39I模块是采用AT指令集进行控制的,采用AT指令可以实现模块参数的设置,数据的发送与接收。在GSM07.05和GSM07.07标准中对一些标准的AT指令作了详细的规定。主要有两种方式来发送和接收SMS信息Text Mode和PDU Mode。Text Mode只支持英文字符,操作比较简单,适合于仅传输字符的场合。PDU Mode支持汉字传输,不过操作相对复杂。
2 凌阳单片机语音播放
本系统选择A2000自动语音播放模式,其自动语音播放流程如图6所示。使用的语音相关API函数来自sacmv25.lib函数库,用到以下4个API函数。
图6 A2000自动语音播放流程图
① 格式:void SACM_A2000 _Initial(int Init_Index)
功能:SACM_A2000语音播放之前的初始化。
参数:Init_Index=0表示手动方式;Init_Index=1则表示自动方式。
② 格式:void SACM_A2000 _ServiceLoop(void)
功能:从资源中获取SACM_A2000语音资料,并将其填入译码队列中。
参数:无。
③ 格式:void SACM_A2000_ Play(int Speech_Index, int Channel, int Ramp_Set)
功能:播放资源中SACM_A2000语音或乐曲。
参数:Speech_Index:表示语音索引号。Channel:1为通过DAC1通道播放;2为通过DAC2通道播放;3为通过DAC1和DAC2双通道播放。Ramp_Set:0为禁止音量增/减调节;1为仅允许音量增调;2为仅允许音量减调节;3为允许音量增/减调节。
④ 格式:unsigned int SACM _A2000_Status(void)
功能:获取SACM_A2000语音播放的状态。
返回值:当R1的bit0=0,表示语音播放结束;bit0=1,表示语音在播放中。
3 AD转换
SPCE061A单片机内部集成了8通道10位模/数转换器(ADC),其中7个通道用于将模拟量信号(电压信号)转换为数字量信号, 可以直接通过引线(IOA[0-6])输入。另外一个通道只用于语音输入,即通过内置自动增益控制放大器的麦克风通道(MIC_IN)输入。本系统的红外人体传感器和气体传感器的检测信号都是通过模拟电压来实现的,从而需要进行A/D转换。图7为A/D转换的流程图。
图7 AD转换流程图
4 报警拨号键盘
对于一个安全报警系统,根据不同的要求来改变报警的号码是必要的。这就需要一个拨号的键盘,同时增加键盘作为系统的输入设备,使系统的操作更加灵活、方便。键盘扫描程序流程如图8所示,按键译码和响应流程如图9所示。
图8 键盘扫描程序流程图
图9 按键译码和响应流程图
系统的工作方式
1 家庭安全报警
主人在家时,实现对温度,可燃烧气体浓度等参数的检测,并以铃声提示主人。
主人不在家时,实现对温度,可燃烧气体浓度,是否有人进入等参数的检测,并把报警短信息及时发到主人手机上,或自动打电话给主人告知报警信息。
2 小区安全报警
安全检测模块分布在小区每个家庭中,实现对温度,可燃烧气体浓度,是否有人进入等参数的检测,并把信息发送到小区管理员的计算机上。
结语
该系统利用GSM无线网络传输报警信号,具有通信不受距离限制,可靠性高等特点。特别适用于频繁传送小数据量的场合,是解决家庭和小区安全问题的较理想方案,而且系统成本不高,易于推广。同时,由于系统传感器的可裁减性,便于实现某些特定场合的安全报警。