基于ARM11平台的智能火灾监测报警系统研究

嵌入式技术

1367人已加入

描述

随着我国城镇化建设进程的加快,城镇的火灾隐患越来越大,每年我国都因为火灾而造成巨大的经济损失。尽管目前我国大多数楼宇都安装了火灾报警系统和消防系统,但随着火灾隐患复杂性的增加在诸如:火情的智能判断,智能报警等方面提出了要求。本课题基于ARM11平台研究了一种智能火灾监测报警系统,可以为用户提供实时火灾现场情况以避免火情误报,并为消防部门进行灭火工作提供现场环境参考。

1 系统架构

系统的总体设计框架如图1所示,系统以ARM11核心处理器,采用了GPIO扩展口控制红外火灾传感器实时读取现场信息,通过USB接口控制USB摄像头获取现场实时视频和采集图片,选用TTL串口控制GPRS模块实现被采集图片的发送。

报警系统

1.1 基于S3C6410的系统主控部分

S3C6410处理器是由三星电子公司出产的ARM11系列16/32位RISC微处理器,工作频率为533 MHz/667 MHz。具有成本低、性能高、功耗低等特点。它包括许多强大的硬件加速器,像视频处理、音频处理等;集成多格式编码器,支持NTSC和PAL模式的电视信号输出。它包含JPEG解码器,支持YCbCr 4:2:2格式编码,支持YCbCr 4:4:4/4:2:2,4:2:0/4:1:1或灰色格式解码。在硬件外设方面,S3C6410提供了USB主控制器,480Mbps高速USB OTG接口,187个可扩展GPIO接口,4通道UART等。

系统采用了基于S3C6410的OK6410开发平台作为验证平台,OK6410平台集成了多种接口,如:GPIO、UART、USB等,可以挂载多种不同接口的传感器,符合本系统的设计要求。

对于嵌入式产品的设计,操作系统的选择至关重要。目前,在嵌入式平台上有多种嵌入式操作系统,如:VxWorks、WindowsCE、μC/OS-Ⅱ、Linux等。根据操作系统选择的几条原则,我们选择嵌入式Linux操作系统,它具有如下优点:

1)源代码公开,可以按开发者意愿进行修改。

2)遵从GPL,无须为每例应用交纳许可证费。

3)有大量的开发工具,方便设计者进行开发。

4)具有很高的稳定性和执行效率。

5)支持多种处理器和开发平台。

我们将Linux3.0.1内核移植到验证平台上,利用搭建好的平台进行了如下工作:

1)提供GPIO接口,挂载火灾传感器。

2)通过USB接口连接摄像头采集视频帧。

3)移植libjpeg库到Linux内核中,利用移植好的libjpeg库将视频帧转成jpeg图片。

4)提供TTL串口,控制GSM/GPRS模块发送彩信。

1.2 火情信息的红外采集

红外火灾传感器模块是通过GPIO口与开发板进行通信的。为此我们开发了GPIO的驱动程序。在Linux3.0.1核中,提供了gpio_get_val ue()、gpio_set_value()、gpio_request()等APl对GPIO设备的寄存器进行读取。我们利用这些API编写了file_operations结构体,提供了对GPIO设备文件进行打开、关闭和读写操作的read()、write()、open()、release()函数。在进入Linux系统后,使用insmod命令将驱动加载到内核中,并使用mknod命令创建供读写操作的设备节点。

系统采用红外检测探头和LM393双电压比较器集成电路组成红外火灾检测模块,具有检测范围广,响应速度快,灵敏度可调节,输出量可以直接接入到I/O口中等特点。模块的原理图如图2所示。常态时,传感器输出高电平,当传感器感应到热源时,模块输出引脚输出低电平,通过GPIO口输入到S3C6410中。

报警系统

1.3 图像信息的采集与压缩

系统采用符合PAL制式的USB摄像头。该摄像头支持YUV422视频格输出,成本低廉。Linux在内核中提供了关于视频设备的API接口Video 4Linux2(简称V4L2),它是Linux下视频驱动的标准框架,从linux2.6版本后开始加入Linux内核。可以实现对摄像头的识别和支持,简化设计开发的流程。

报警系统

系统判断火灾发生后会启动摄像头,摄像头采集图像流程如图3所示。系统通过使用V4L2编程框架中提供的函数获取摄像头输出视频格式后,调用控制函数设置视频设备的视频数据格式,例如设置视频图像数据的长、宽,图像格式等。设置视频图像格式成功后,系统需要为获取的视频数据申请分配视频缓冲区。当采集视频帧数达到要求数目后,程序会将缓冲区的一帧数据移至内存中,并将YUV数据按照式(1)、式(2)和式(3)啭换成RGB格式。

R=(298×Y+409×(V-128)+128)/256 (1)

G=(298xY-100(U-128)-208x(V-128)+128)/256 (2)

B=(298xY+516x(U-128)+128)/256 (3)

转换完成后,我们利用libjpeg库和得到的现场图像的数据信息生出我们需要的jpeg格式的图片。

1.4 图像信息的发送

GSM/GPRS模块在系统中负责将采集到的现场图像以彩信形式发送到监测者的手机上。本设计选用了晨讯科技公司的SIM900GSM/GPRS模块。模块内封装了彩信协议,可以自动将传入的图片封装成彩信。

当摄像头采集图像完成后,系统会自动启动发送彩信的程序,通过简单的AT指令控制模块进行发送。主要AT指令如下:

1)a+cmmsinit初始化GSM/GPRS模块的彩信功能。

2)at+sapbr=3,1,“contype”,“gprs”设置网络方式。

3)at+sapbr=3,1,“apn”,“cmwap”设置接入点为cmwap。

4)at+cmmsedit=1打开GSM/GPRS模块的彩信编辑功能。

5)at+mmsdown=img_type,img_size,time下载图片到GSMGPRS模块中,img_type为下载类型,以字符串“pic”表示正在下载的为图片。Img_size为图片大小,time为图片下载时间阈值。

6)at+mmssnd发送彩信。

2 实验结果

系统实验流程主要包括:加载GPIO驱动程序、启动火灾检测程序、启动图像采集处理程序和彩信发送程序。整个系统的流程图如图4所示。

报警系统

当开发板上的Linux操作系统启动后,首先会加载编写好的GPIO驱动模块,创建设备文件节点。然后启动火灾传感器模块,对周围环境进行监测。当传感器持续检测到有火情发生时,会主动启动摄像头进行拍摄。当系统完成图像采集后,会自动运行GSM/GPRS模块,向模块中写入AT指令和采集到的图片。图片写入完成后,GSM/GPRS模块会将封装好的彩信发送到用户手机上。

在室内环境下,我们做了模拟火灾仿真,现场采集到的图片如图5所示。从图中可以清楚的看到可燃物正在燃烧。

系统采集到图像后自动将其以彩信形式发送到手机上,手机接收到彩信的情况如图6所示。

3 结论

文中所设计的火灾检测系统以监测到火灾发生并将现场图像发送到用户的手机上为目的。同时利用GPIO驱动,V4L2编程,GSM/GPRS模块封装发送彩信等技术,进行了系统开发。经过模拟实验,结果表明系统可以实现火灾检测,并达到向用户传回现场图像的设计要求。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分