智能安防警报监控系统设计
2014-07-25黄坤李秋红王太宏
黄坤,李秋红,王太宏
(湖南大学微纳光电器件及应用教育部重点实验室,湖南长沙410082)
智能安防警报监控系统设计
黄坤,李秋红,王太宏
(湖南大学微纳光电器件及应用教育部重点实验室,湖南长沙410082)
鉴于目前安防警报监控系统大都采用单MCU来实现,监控方式比较单一,不够长效稳定,且需人为看守等问题,设计了一种基于ARM9和Linux操作系统的安防警报监控系统。Linux是目前主流的大型服务器操作系统,其采用极大地提高了监控系统的稳定可靠性。该安防警报系统同时实现了无人监控和远程实时监控功能,并采用GPRS技术实现了预警功能。这种灵活多变的安防警报监控系统在实现全天候监控的同时更提高了安防质量,有望在今后得到广泛应用。
ARM9;Linux;预警;GPRS;实时监控
在技术蓬勃发展的今天,必须有更加先进的安防系统来保障人民财产安全。当下主流的视频安防监控系统多采用单片机控制实现,稳定性已经满足了不了需求。随着嵌入式技术的不断发展,更多的单片机功能正在被嵌入式技术所取代。本文以目前主流的嵌入式处理器ARM9和以稳定性著称的主流服务器操作系统Linux为核心构建一种视频安防警报系统,搭载视频摄像头和GPRS警报系统,移植DHCP、ffmpeg、motion、BOA web服务器到ARM9处理器上,实现无人实时警报监控,亦可进行远程实时监控[1],监控方式灵活多变,系统长效稳定。
1 系统总体设计架构
本设计的系统总体框架如图1所示,ARM9系统上电后摄像头打开,2个后台的应用程序分别打开,在无人监控的情况下,应用程序Motion可以进行自动监控,自动拍摄图片或者视频文件保存在ARM9的SD卡中,并且可以通过板载的LCD进行查看,也可以把SD卡插到其他PC设备中进行查看。当发生危险警报时,ARM9通过GPRS发送警报信息到智能手机上,收到警报后通过已经接入以太网的PC机可以远程访问ARM9得到实时的视频监控信息,后台的Web_server应用程序收到请求后会发送视频信息到请求的客服端。
图1 系统总体架构
2 硬件设计部分
系统的核心器件ARM9选用三星公司的32位处理芯片S3C2440作为核心处理器(见图2),因其包含丰富的外设,处理器为SamsungS3C2440A,主频400 MHz,最高533 MHz,64 M的SDRAM,256 M的Nand Flash,2个USB接口,一个RS232串口,一个RJ45网络接口,一块320×240分辨率的LCD显示屏。GPRS模块选用sim300,通过电平转换芯片MAX3232与处理器连接。板载网卡为DM9000,通过网卡来接入Internet,摄像头采用中星微摄像头。SD卡采用8 G金士顿SD卡。
图2 硬件主体架构
3 前期准备工作
为了方便交叉编译和移植,首先在Windows下的PC机上建立一个交叉编译环境平台。用到的虚拟机为VMworkstation7.2和Fedora14版本的Linux系统,内核版本编号为:2.6.35.6-45.fc14.i686。安装交叉编译工具arm-linux-gcc,通过交叉编译工具编译bootloader,制作相应的yaffs2根文件系统,以及zImage内核。将这三者依次安装下载到ARM9处理器中,便可以在ARM9运行起来。将Fedora和ARM中的IP地址段设置为与PC的IP地址在一个网段,配置好ftp协议,然后通过交换机和网线建立起ARM9、PC机以及虚拟机之间的三方通讯[2]。
4 移植和网络部分
4.1 yaffs2文件系统移植
大部分带Linux操作系统的处理器都可以支持yaffs2文件系统,它是专门针对嵌入式设备,特别是使用nand flash作为存储器的嵌入式设备而创建的一种文件系统。早先的yaffs仅支持小页(512 byte/page)的nand flash,现在的开发板大都配备了更大容量的nand flash,它们一般是大页模式的(2 kb/page),使用yaffs2就可以支持大页的nand flash,yaffs2具有占用更少的RAM和启动速度快等优点。
通过git源码下载工具下载yaffs2源码,然后用yaffs2目录下的脚本文件patch-ker.sh给欲编译的内核打上yaffs2的补丁#./patch-ker.sh c/lm/s kernelpath。接着通过makemenuconfig配置内核文件,就可以选择支持yaffs2文件系统了。
4.2 DHCP移植
DHCP是动态主机设置协议,是一个的网络协议,使用UDP协议工作,主要用途是给内部网络或供应商自动分配,将其移植到ARM9中,可以使得ARM9连上互联网,实现远程监控。这里用到的源码是dhcp-3.1.3.tar.gz。在虚拟机的Fedora14下修改部分代码,并用交叉编译工具编译后将得到3个主要文件,一个是dhclient应用程序,一个配置文件,一个脚本文件。将这3个文件放到ARM板里合适的位置后,给它们加上相应的运行权限。这样就基本完成了DHCP的移植工作。在连接上网线后,在ARM9里运行dhclient eth0,就可以看到相关的信息,ARM可以从服务器获取IP地址,并且与互联网相连。
4.3 Boa移植
Boa是一种非常小巧的Web服务器,其可执行代码只有大约60 kb左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发送连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。
资源库元数据管理是数据交互管控系统的重要组成部分。资源库元数据管理系统采用元数据技术实现服务不同部门、不同系统中数据信息资源的元数据采集抽取、存储、管理等功能。通过资源库元数据管理系统建设,可以实现民族综合信息大数据平台建设项目中不同部门、不同系统、各类数据库数据、文件数据等数据资源元数据的统一管理。资源库元数据可提供平台各系统的全局数据字典和关系描述,提供对整个平台体系中全部数据的规格描述,数据间的映射关系,关联查询,以最大程度发挥系统海量数据的价值。
下载boa-0.94.13.tar.gz,修改部分代码然后在虚拟机下进行交叉编译,得到boa.conf,一个Boa的配置文件。然后修改其中的Group、user、Alias、DoucmentRoot、ServerName、AccessLog,使其能够与ARM板相对应。将修改好的boa.conf放到ARM中的/etc/boa目录下,并且创建/www和/www/cgi-bin目录。这样Web服务器Boa就被移植到ARM板中了,通过HTTP协议与监控端浏览器软件进行信息交互。
4.4 GPRS模块
GPRS是技术的简称,它是GSM用户可用的一种移动数据业务,也可以说是GSM的延续。GPRS和以往连续在频道传输的方式不同,是以封包式来传输。GPRS的传输速率可提升至56甚至114 kb/s。通过GPRS模块,ARM板能以短信的形式将警报信息发送到指定的手机上。本系统中采用的是sim300 GPRS模块,此GPRS模块带有众多的AT指令[3]。
GPRS模块通过串口与ARM板相连接,并且插入SIM卡。在用GPRS通过AT指令发送警报信息时,先用open函数,fd=open("/dev/GPRS模块串口",O_RDWR,0)用来打开GPRS模块所占用的串口文件,然后往里面写入需要传送的警报信息,write(fd,AT命令,AT命令长度)这样就可以把警报信息通过GPRS发送出去。通过GPRS模块可以快速地将监控警报信息发送出去,达到全天候监控。
5 软件设计部分
5.1 软件整体架构
ARM9中的系统为裁减完交叉编译过的Linux系统,只保留了需要用到的功能,大幅度缩减了内核,内核版本为2.6.32.2,有效地节省了嵌入式ARM9处理器不太充裕的内存空间。其他用到的应用软件都是在PC的交叉编译环境下进行交叉编译然后移植到ARM9,并且对部分程序设置自启动,省去每次重新上电后需要手动上电的麻烦。这里用到的交叉编译环境为Fedora14,交叉编译工具为arm-linux-gcc的4.4.3版本。交叉编译后的程序都通过ftp下载到ARM9中。软件整体架构如图3所示。
5.2 无人监控部分
无人监控部分主要用到Motion和ffmpeg,其中Motion是国外的一个开源项目,主要用来进行图像自动监控。这里用到的版本为3.2.12,此项目在几年前就停止了开发,但是一直有人在进行源码的维护工作,因此可以轻松获取源码。ffmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证,因此任何人都可以下载使用;并且提供了录制、转换以及流化音视频的完整解决方案,它还有个优点就是拍摄的视频格式可以是.avi,这是一种压缩比很高的压缩格式,因此占用空间小,可以长时间录制。这一部分主要的编译流程如图4所示。
图3 软件整体架构
图4 Motion的交叉编译图解
图4中的zlib是压缩和解压缩库文件,H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组开发的一个新的数字视频编码标准。SDL是一个跨平台的多媒体库,用于直接控制底层的多媒体硬件接口[3]。通过编译得到Motion后就可以实现无人监控了。系统上电后,可以手动打开Motion,也可以设置为上电后自动运行Motion。在无人监控的情况下,Motion将自动进行监控,可以自动拍摄保存图片也可以拍摄视频保存到指定的文件目录。事后可以用Ffplay进行查看,亦可以上传到电脑里面进行分析查看,十分方便。这一部分适合在夜间或者暂时无人看守的情况下使用[4-7]。
5.3 有人监控部分
这一部分主要是通过编译生成Webcam_server和Webcam_shower 2个应用程序来实现,Webcam_server是视频服务端,它调用Ffmpeg的监控数据然后通过Boa服务器上传数据到客服端,通过Webcam_shower程序来呈现。Webcam_server程序用V4L2(video 4 linux 2)视频采集规范标准编写,从视频设备文件获取数据然后打包压缩通过网线上传至客户端Webcam_shower,然后由Webcam_shower程序解压缩视频流[8]。流程如图5所示。
可以将Webcam_server添加到系统启动脚本,随系统初始化启动,这样只要在客户端打开Webcam_shower即可以远程实时查看监控画面了,在发现可疑人物时还可以随时截图进行保存。这一部分适合在白天有人员看管的情况下适用。
图5 远程监控图解
5.4 联合监控部分
这一部分主要是把前面两者联合起来,达到更加灵活合理的监控。就是在无人监控时遇到情况发送警报,然后通过远程实时监控来查看具体的情况。在看守人员有事不在或者深夜时,由Motion程序执行自动监控,一旦遇到特殊情况,系统将通过板载的GPRS模块发送预警短信警报到指定人员的手机上。收到警报信息后,监控人员可以在远程的客服端打开实时监控程序进行远程的实时查看。图6为联合监控示意图。
图6 联合监控示意图
联合监控的好处在于,它既可以自己进行监控记录又可以提醒远程的监控人员,即使监控人员没有第一时间发现也可以保存监控画面,而监控人员收到警报后可以实时查看情况,并作出相应的处理,从而达到24小时监控。
6 效果测试
如图7、图8所示,通过DHCP为ARM9绑定一个IP地址,远程启动视频客服端便可以通过8610端口连接到ARM9所传输过来的视频信息,通过这个界面可以调整视频的分辨率,可以随时截取图片保存到设定的文件夹下面。效果良好,可以有效地进行远程的实时视频监控。
图7 DHCP运行图
图8 视频测试图
7 结束语
本文基于ARM9处理器和Linux操作系统,融合远程视频监控和GPRS通信技术,设计出一种既能够进行无人监控自动警报又能够实时远程监控的综合性安防警报监控系统。相比以往的同类型监控警报系统,此系统更加的灵活、方便、长效、稳定,可以胜任多种环境下的视频监控警报任务。
[1]龚尧飞,金静.嵌入式Linux系统下的视频服务器的设计[J].电子测量技术,2010,33(4):72-74.
[2]张多英,申晨,刘伟平,等.嵌入式视频监控传输系统的设计与实现[J].计算机工程与设计,2010,31(4):724-728.
[3]徐世强,赵霁,牛泽民.基于GPRS的远程视频监控系统的设计与应用[J].计算机技术与发展,2010,20(12):150-153.
[4]任守华,王胜华,刘士雷.基于3G和H.264技术的无线视频监控系统[J].计算机应用研究,2010,27(4):1554.
[5]宋宝华.Linux设备驱动开发详解[M].北京:人民邮电出版社,2008.
[6]周强,费章君,王强,等.基于H.264的嵌入式网络视频服务器的设计与开发[J].计算机应用,2010,30(2):555-559.
[7]郭海丰.基于H.264的视频压缩技术及其在网络视频监控系统中的应用研究[D].杭州:浙江大学,2005.
[8]孟军英,吴爱燕,林立忠.嵌入式网关在远程视频监控中的应用研究[J].河北科技大学学报,2011,32(5):487-491.
Intelligent security alarmmonitoring system
HUANG Kun,LI Qiu-hong,WANG Tai-hong
Most of the security alarmmonitoring system were based on the MCU,singlemonitor way,not long-term and stable enough and needs to be watched were their advantages.A security alarmmonitoring system was designed based onARM9 and Linux operation system,which was popular used bymost large servers.The stability of thismonitoring system was greatly improved by ing of the Linux operation system.Unmannedmonitoring,remote real-timemonitoring,and warming by using GPRS were its functions.The all-daymonitoring was realized by thismulti-function of security alarmmonitoring system.At the same time the quality of security was improved.It was expected to be used widely in the future.
ARM9;Linux;pre-alarm;GPRS;real-timemonitoring
TM 91
A
1002-087 X(2014)10-1942-04
2014-03-13
国家自然科学基金(21003041)
黄坤(1987—),男,湖南省人,硕士研究生,主要研究方向为嵌入式系统及应用。