做最好的新加坡广东商贸协会

基于GPRS和GPS的车辆火灾自动报警及定位系统

1 引言

  基于gprs和gps的控制系统广泛应用与车辆导航、油田远程监控、船载导航系统以及农田信息采集等地理系统当中[1]-[4]。基于gprs或gsm的家庭以及公共场所的火灾自动报警系统研究很多[5]-[8]。针对车辆火灾信息实时报警,研制了基于gprs和gps的车辆火灾自动报警及定位系统。处理器采用arm7内核的lpc2103,软件上采用占用硬件资源较少,实时性能和可移植性能优良的uc/os-ii操作系统。

2 系统总体设计

  2.1 系统实现功能

  系统实现主要功能包括:

  (1) 实时采集gps数据并进行处理;

  (2) 实时检测火灾报警信号;

  (3) 检测到火灾报警信号后,自动发送火灾发生位置到指定的数据处理终端。

  2.2整体硬件结构

  系统整体硬件结构如图1所示,lpc2103采用arm7 tdmi-s内核,带有32kb高速flash,带有8kb sram,小型lqfp48封装,低功耗,带有2个urat,以及多个io接口[9],符合系统要求。gps模块通过sp3232e与lpc2103接口,负责数据的采集。gprs模块通过sp3243e与lpc2103接口,负责把gps数据发送给数据处理终端设备。火警检测信号由p0.16_eint0引脚输入。

3 系统硬件设计

  3.1控制系统最小系统

  控制系统最小系统如图2所示,lpc2103最小系统需要模拟和数字3.3v电源,以及核心电源1.8v。晶振采用11.0592mhz,便于波特率的设置。p0.14引脚通过10k电阻上拉禁止isp功能。dbgsel引脚接高电平使能调试状态,正常工作时接低电平。由阻容电路构成低电平复位电路,sw-pb按键按下产生处理器复位信号。

  3.2 火灾检测电路

  (1)火灾探测器:使用jty-gd-802型联网型光电感烟火灾探测器检测火灾信号,jty-gd-802供电电源为dc9v~dc28v,输出形式为声光报警/无源触点输出。正常情况下,报警器每隔10秒指示灯会自动闪烁一下。报警器每隔一定时间(约1.6秒)自动检测周围环境中的烟雾浓度,如烟雾浓度接近报警值,报警器开始进行智能运算,同时报警指示灯开始闪亮。若运算结果达到或超过报警值,报警器开始声光报警,并启动继电器。无源触点输出,输出可通过跳线设置为常闭触点输出。(2)

  火灾探测器接线:车辆内并联安装多个火灾探测器,连接电源线在底座端子1、端子4上,继电器无源触点输出线连接在底座端子2、端子3上。将报警器按正确方向扣在底座上,压下后顺时针方向旋紧。接通电源即可工作。接线如图3所示。

  3.3 火灾探测器硬件电路

  火灾探测器硬件电路如图4所示,探测器采用12v电源供电,10k电阻和3.3uf电解电容可以滤除来自探测器的干扰信号。一个探测器检测到火灾信号后接通2、3触点断开,反相器sn74hc04输出低电平信号到lpc2103的外部中断0引脚,触发外部中断。各火灾探测器并联,只要一个探测器检测到火灾信号,就会触发lpc2103外部中断0。

  3.4 gps接口电路

  该电路接收gps模块发送数据,保存到处理器存储单元,处理后等待gprs发送。gps模块采用九针串口数据输出,rs232电平,需要sp3232e电平转换芯片与lpc2103的串口0连接。sp3232e是3v工作电源的rs232电平转换芯片[11]。接口电路如图5所示。

  3.5 gprs接口电路

  接口电路如图6所示。

  该电路的主要作用是通过gprs模块与用户的手机进行通信,接听用户来电,接受用户手机发送的短消息,发送gps采集的数据。lpc2103的串口1带有完整的modem接口,有8路数据输入输出,通过sp3243e与gprs模块连接[11]。sp3243e是3v工作电源的rs232电平转换芯片。

4 系统软件设计

  4.1软件总体结构

  系统软硬件体系结构如图7所示,与处理器无关代码可以直接在网上下载,与处理器相关代码需要自己根据不同处理器编写[12]。

  4.2 系统应用程序结构

  系统应用程序结构如图8所示,uc/os-ii是一个多任务操作系统,本系统共设置4个任务,其中任务0负责初始化目标板、串口0(gps通信模块)和串口1(gprs模块通信模块)、创建其他任务。任务1负责gps数据的采集;任务2负责火警检测检测任务;任务3负责gprs发送gps采样数据以及火警信号。其中任务优先级依次为,任务0,任务1,任务2,任务3。

  4.3主程序设计

  主程序框图如图9(a)所示,主程序采用osinit()初始化操作系统,然后用ostaskcreate()创建任务0,最后调用osstart()开始系统多任务调度[12]。

  4.4 任务0程序设计

  任务0程序框图如图9(b)所示,任务0的调用targetinit()初始化目标板,gpsinit()初始化串口0,gprsinit()初始化串口1,然后用ostaskcreate()创建任务1,2,3。最后调用ostasksuspend()使任务0进入等待状态,同时使就绪的优先级最高的任务1开始运行。

  4.5 任务1程序设计

  任务1程序框图如图9(c)所示,gps模块发送数据波特率固定为9600bps,使用$gprmc后面数据,格式为:

  $gprmc,122854.00,a,2419.59111,n,11607.40282,e,

  0.010,,210409,,,a*79

  数据依次是系统时间、数据有效标志、纬度、南北纬度、经度、东西经度、航速、航向、日期、磁偏角、磁偏角方向、模式指示、*号、校验和。

  在任务1中读取经度和纬度数据,并确定南北纬度和东西经度,分别保存到相应的存储单元。数据处理方法是先接收所有一帧数据,注意从串口0收到$和r开始接收。所有数据用,隔开,利用循环语句处理数据,分类保存。

  使用语句:#define gpsdatagetok 0x01定义事件标志组检测位。使用语句:os_flag_grp*gpsalarmdatastatus定义事件标志组。使用语句:osflagpost(gpsalarmdatastatus,gpsdatagetok,os_flag_set,err)置位事件标志组gpsdatagetok位。使用语句:ostimedly(100)使当前任务1进入等待状态,使就绪的任务2开始运行

  4.6任务2程序设计

  任务2中通过处理器外部中断0检测火警信号,程序流程图如图9(d)所示,用语句#define friealarmok 0x02定义事件标志组检测位。如果有火警使用语句:osflagpost(gpsalarmdatastatus,friealarmok,os_flag_set,err)置位事件标志组gpsdatagetok位。使用语句:ostimedly(100)使当前任务2进入等待状态,使就绪的任务3开始运行

  4.7任务3程序设计

  任务3是gprs发送数据任务,程序流程如图9(e)所示。使用语句:

  osflagpend(gpsalarmdatastatus,gpsdatagetok

  +friealarmok,os_flag_wait_set_all+os_flag_consume,0,err)

  等待标志位gpsdatagetok ,friealarmok同时为1,为1后清除标志,并向下执行程序。

  gprs模块执行at指令,使用:at+csca=13800753500设置短信息号码中心,0753为本地区号。使用:at+csgs=gps及火警数据命令发送数据。发送数据后继续等待事件标志组置位信号,交出cpu寄存器的控制权。

5 定位系统实验

  系统软件采用ads v1.2开发、调试,并制作一台样机进行实验。把一张手机卡装入gprs模块内部,并连接好天线,该模块串口通过延长线和lpc2103串口1连接。gps模块和lpc2103串口0连接,并放置到室外。生成的可执行文件烧写到lpc2103的flash内部,上电运行。gprs模块需要手动复位,直到gprs模块上蜂鸣器鸣叫一声,并led灯闪烁。安装好jty-gd-802型联网型光电感烟火灾探测器,模拟火灾产生一些烟雾,远程数据处理终端接收到如下信息:

  latitude:n 2419.59145longitude:e11607.40239

  guangdong province meizhou city jiaying university

  22#802。报告了火警发生的具体位置,包括精度和纬度。远程数据处理终端暂时采用手机来模拟接收数据。

6 结束语

  本设计通过jty-gd-802型联网型光电感烟火灾探测器检测火灾信号,并将发生火灾的车辆的具体位置发送给远程终端,可以及时发现车辆上的火情进行处理,避免不必要的损失。下一步要解决的问题:

  (1) 上位机远程数据终端系统的开发;

  (2) 本系统现在只能发送ascii码,不能发送汉字;

温馨提示:“基于GPRS和GPS的车辆火灾自动报警及定位系统”资料免费公开,每期提供最新的彩图资料给广大彩民阅读浏览,仅供参考使用。彩图中所有联系方式和网址切勿相信,如果有任何问题,本站一律不负责!请各位阅读浏览彩图资料的彩民提高防范意识,谢谢合作!

相关阅读