历史上的今天
今天是:2026年03月07日(星期六)
2023年03月07日 | 基于ARM11平台的智能火灾监测报警系统研究
2023-03-07 来源:21ic
随着我国城镇化建设进程的加快,城镇的火灾隐患越来越大,每年我国都因为火灾而造成巨大的经济损失。尽管目前我国大多数楼宇都安装了火灾报警系统和消防系统,但随着火灾隐患复杂性的增加在诸如:火情的智能判断,智能报警等方面提出了要求。本课题基于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模块封装发送彩信等技术,进行了系统开发。经过模拟实验,结果表明系统可以实现火灾检测,并达到向用户传回现场图像的设计要求。
上一篇:ARM版本系列及家族成员梳理
史海拾趣
|
赛普拉斯的CapSense电容式感应解决方案由具有CapSense功能的器件和PSoC(可配置混合信号片上系统)微控制器构成,用户只需手指轻触CapSense界面即可形成一个与内嵌式传感器的电连接。基于CapSense的“按键”和“滑动条”控制器比相应的机械式控制器更 ...… 查看全部问答> |
|
可穿戴网络是指基于短距离无线通信技术(蓝牙和ZigBec技术等)与可穿戴式计算机(wearcomp)技术、穿戴在人体上、具有智能收集人体和周围环境信息的一种新型个域网(PAN)。可穿戴计算机可以为可穿戴网络提供核心计算技术。有Ad Hoc性能的蓝牙和ZigBee等 ...… 查看全部问答> |
|
其实就是自己想做个东西,但是对硬件编程毫不知晓。 想开发的就是有个硬件,我写个程序能在上面运行。而且可以记录数据,并且能够通过USB或者其他接口跟电脑相连,将数据导出,当然程序也可以更新,而不是那种烧录上去的那种。 是不是这个硬件上 ...… 查看全部问答> |
|
有没有那位大侠,做过相关方面的工作,WinCE上的专用数据库EDB,能不能在PC上进行可视化的操作,MSDN上好像有这方面的介绍,但我试了没成功!不知道大家对于这种在嵌入式上的数据库的可视化操作方面,都有什么好的解决方法,现在搞下SQ ...… 查看全部问答> |
|
公司是个电子设备公司,最近要采购一些设备。研发部目前只有万用表,示波器。 还需要什么设备?电子产品抗干扰能力该用什么设备测试呢?… 查看全部问答> |
|
PD_OpenStore和PD_OpenPartition两个函数的问题 偶要在一个驱动里面对一个分区进行一些操作,所以要调用这两个函数 已经包含了所需要的头文件 Partdrv.h 可是在编译的时候还是有错误,应该是能编译,链接的时候出错 错误提示如下: error LNK2019: unresolved external symbol PD_OpenPartitio ...… 查看全部问答> |
|
C2000大赛资料含Protel文件和源代码,2008 2009年TI模拟电子设计大赛一等奖参赛文档。谁有2010 2011的也贡献一下呗!… 查看全部问答> |
|
新手请教,我在网上看到有用Comic Sans MS的字体,挺好看的,但是IAR自带的那里好像没有,能另外添加么?好像不能像word里添加那么简单......,求助!… 查看全部问答> |




