基于S3C2440A的嵌入式视频监控系统的设计与实现
2016-11-12张成法孙月兴
张成法,孙月兴
(潍坊工程职业学院,山东 青州 262500)
基于S3C2440A的嵌入式视频监控系统的设计与实现
张成法,孙月兴
(潍坊工程职业学院,山东 青州 262500)
文章将嵌入式技术与网络技术融合到视频监控系统,设计了基于ARM的嵌入式视频监控系统。本系统利用基于ARM控制芯片S3C2440A的硬件电路板、嵌入式操作系统和无线网卡等搭建了嵌入式 Web 服务器 MJPG-streamer,用户可通过登录浏览器实现远程视频监控。测试表明该系统运行稳定,图像实时准确。
S3C2440A;视频监控;Linux
随着国民经济和网络信息技术的高速发展,视频监控系统越来越广泛地应用于社会生活的各个方面。模拟视频监控系统具有传输距离有限且实际布线量大、图像清晰度不高,查询麻烦,数据存储需要较大的容量等缺点。同时,在数字网络化趋势的影响下,采用最新网络通信和音视频处理技术,利用以太网及其他类型的网络对视频图像进行传输,这已经成为远程视频监控最先考虑的解决方法。
本文设计的基于嵌入式的视频监控系统是将ARM控制技术、嵌入式技术、网络传输技术和视频服务器等技术结合起来用以保证监控图像的实时准确,用以解决查询不便等问题,从根本上解决了传统视频监控系统所存在的问题。
1 系统方案论述
本文阐述基于TX2440A硬件电路板的嵌入式网络视频监控系统的设计。本文通过TX2440A硬件电路板和嵌入式Linux操作系统和根文件系统的制作,搭建一个易搭建,易配置,通用性好的网络视频服务器mjpg-streamer。该系统通过USB摄像头采集视频数据,然后使用相应算法对视频数据进行压缩处理,再经由网络传输传送到视频服务器客户端,使用户通过IP网络和具有Java插件的浏览器实现远程监控的目的及视频图像的录制。
2 系统设计
本系统是由硬件和软件这两部分组成的。硬件部分主要由无线网卡、摄像头和TX2440A硬件电路板等组成。软件部分主要是由视频服务器和嵌入式Linux操作系统等组成的。视频监控系统结构框架图如图1所示。
图1 视频监控系统结构框架图
2.1 系统硬件设计
硬件电路的设计采用的是核心板带底板的设计方法。核心板电路主要是由微处理器S3C2440A和存储器电路等组成。底板电路主要由复位电路、LCD接口电路和USB摄像头接口电路等组成。S3C2440A是16/32位ARM9系列微处理器,工作频率最高可达533 MHz,由于其性能优越、性价比高等优点,在很多设备中都采用了此控制芯片。
TX2440A硬件电路板上带有USB接口,只需要将USB摄像头插入即可将摄像头跟硬件电路板相连接。
WiFi无线网卡采用的型号是TL-WN823N,接口类型是USB接口,内置天线,频率可以达到2.4 GHz以上。TLWN823N采用业内专业的11N无线芯片方案,300 Mbps是其最高无线传输速率,TL-WN823N采用MIMO多收多发天线技术和CCA空闲信道检测技术,可以有效提高无线信号的稳定性和穿透力,增强其覆盖范围。室外最远覆盖范围在较优的环境下可以达到300 m,而室内覆盖范围最远可以达到100 m。
2.2 系统软件设计
系统软件设计主要包括USB摄像头驱动的编译和加载、V4L2信号的采集设计和视频服务器搭建。
2.2.1 USB摄像头驱动
本系统采用的USB摄像头是ZC0301P摄像头,由于在Linux 2.6.31内核中含有对此类摄像头的驱动,直接在Linux相应的目录下配置内核,就可以将ZC0301P摄像头的驱动程序加载进来,这样的话Linux操作系统就可以支持ZC0301P摄像头了。
2.2.2 V4L信号采集设计
Linux中跟视频设备相关联的内核驱动是V4L2,它提供了API函数集和很多的接口函数,比如open,write等,利用这些函数可以编写ZC0301P摄像头的图像采集应用程序。
V4L2可以采用直接读取法read()和mmap()内存映射方式两种方法截取视频图像,比较这两种方法的优缺点,发现后一种方法的优点较突出,因此在程序编写中使用mmap()这种方式来对视频图像进行截取。
2.2.3 视频服务器搭建
本系统采用的视频服务软件是支持V4L2的mjpgstreamer。从网上下载其源代码和基础连接库源代码jpegsrc.v6b,SDL-1.2.13。
首先安装libjpeg库,在其源码目录下进行配置,然后修改对应的文件,再对其进行编译和安装,这样就会将库文件libjpeg.so和cjpeg安装在相应的目录下。
其次对简单直流媒体层(Simple DirectMedia Layer,SDL)安装包进行安装,在其源码目录下进行相应的配置操作、紧跟着再对其编译,最后再进行安装,就可以将文件SDL和库文件libSDL.so等安装在相应的SDL库目录下。
然后编译和移植视频服务软件包,在这个软件包的源码目录下编译mjpg-streamer,会得到可执行程序mjpgstreamer和input_uvc.so,output_http.so这两个模块,将生成的可执行程序和这两个模块分别拷贝到根文件系统的/ usr/sbin目录和根文件系统的/lib目录下。通过再对文件uvcstreamer进行编译,会生成相对应的可执行程序,将其拷贝到根文件系统的/usr/sbin目录下。
最后对根文件系统进行制作,根文件系统的/lib目录下有SDL和jpeg库,这两个库是从交叉编译器的lib目录下复制过去的。然后对根文件系统进行制作,将其制作成相对应的镜像文件,然后将其下载到硬件电路开发板中。
到此已将视频服务器搭建成功,在硬件电路开发板的SecureCRT控制软件中输入命令:#mjpg_streamer -i“/ lib/input_uvc.so”-o“/lib/ouptput_http.so -w192.168.1.22:8080”,其中192.168.1.22是硬件电路开发板的IP地址,8080是服务器端口号。把已经制作好的网页文件放到文件系统的/ var/webcam下,在硬件电路板的串口终端中输入命令:
#mjpg-streamer -i“/lib/input_uvc.so”-o“/lib/ ouptput_http.so -w /var/webcam”
这样就可以使用 Web 登录服务器。
2.2.4 客户端的实现
打开电脑上的浏览器,输入网址 http://192.168.1.22:8080,那么就可以将已经制作好的网页打开了。
如果要在一般的浏览器Internet Explorer上查看Java视频流的话,需要安装JRE。也可以使用火狐浏览器FireFox直接观看视频流。
3 结语
本系统采用ARM控制芯片S3C2440A、嵌入式操作系统和无线网卡等搭建了视频服务器,将ARM控制技术、嵌入式技术、网络传输技术和视频服务器等技术结合起来实现了嵌入式远程视频监控,该系统具有网络化、实时性强、价格低和易于管理等优点,具有广泛的应用前景。
[1]汪光华.智能安防:视频监控全面解析与实例分析[M].北京:机械工业出版社,2012.
[2]华春梦,刘冲.基于S3C2440嵌入式平台的USB摄像头视频监控[J].电脑开发与应用,2015.
[3]李佳林,刘永春.基于S3C2440网络视频采集系统的设计与实现[J].电脑知识与技术,2014.
[4]陈恒鑫,林威,张钦宇.基于MJ PG- Stre am e r的移动视频监控系统设计[J].计算机测量与控制,2014.
Design and implementation of embedded video surveillance system based on S3C2440A
Zhang Chengfa,Sun Yuexing
(Weifang Engineering Vocational College,Qingzhou 262500,China)
This paper integrates the embedded technology and network technology into video surveillance system,designs the embedded video monitoring system based on ARM.The system uses the hardware circuit board based on ARM chip S3C2440A,embedded operating system and wireless network card to set up the embedded web server MJPG-streamer.Users can log in browser to implement the purpose of remote video surveillance.Tests show that the system is stable,the image is real time and accurate.
S3C2440A;video surveillance;Linux
张成法(1984—),男,山东青州,硕士;研究方向:单片机与嵌入式系统。