基于ARM的无线视频监控系统的解决方案
2013-12-28 来源:dzsc
目前,采用无线网络技术的视频监控系统依靠其更低廉的价格、更加灵活的部署方式得到广大视频监控用户的青睐,逐渐成为视频监控技术的发展方向之一。在此结合嵌入式技术和无线视频监控技术,本文提出了一种基于嵌入式ARM技术的无线智能视频监控系统的解决方案。
0 引言
随着通信技术、计算机技术、数字视频技术、网络技术等高科技的发展,视频监控领域也快速进步。近年嵌入式计算机技术和网络技术的开发推动了视频监控的再次进步,出现了基于嵌入式技术的无线网络视频监控系统。无线网络视频监控系统采用多任务嵌入式操作系统,利用嵌入式芯片完成视频的压缩传输及处理,该芯片具有强大的数字处理功能,芯片处理后可将视频直接连入网络。利用这种方式,使用者可通过网络查看摄像机所采集的图像从而进行实时的远程视频监控。
与其他监控系统相比,利用嵌入式技术的无线视频监控系统易安装、体积小,可以实现无人值守。这种系统成本低,稳定度高,具有实时特点,操作和维护便利。嵌入式无线视频监控系统综合了无线通信技术与嵌入式技术,从以往的监控系统发展而来,该系统节省了大量的网络布线费用,采用嵌入式技术的无线视频监控系统小巧灵活,对于各种特殊场合需求的视频监控能够满足应用要求。本文提出一种基于嵌入式技术的无线视频监控系统解决方案。利用该方案设计的无线视频监控系统稳定性高、可靠性高,视频信号处理能力强,容易安装布置并且价格低廉。
1 系统总体结构设计
嵌入式视频监控系统总体的结构设计如下,主要有两部分:一是采用嵌入式ARM芯片的视频监控端;二是计算机视频接收端。采用嵌入式ARM芯片的视频监控端在该系统中主要负责视频图像的处理工作,包括图像采集,压缩,图像运动目标检测,视频数据的传输等。
计算机视频接收端在该系统中主要负责在计算机系统中接收和保存图像。
本文给出了基于嵌入式ARM技术的无线智能视频监控系统总体设计方案,方案包含系统的硬件设计框架和软件设计流程,视频监控端程序通过在Linux系统下使用C语言编程来实现,计算机视频接收端程序直接采用Windows 系统下的C 语言编程来实现。本设计中无线智能视频监控系统利用C/S模式,基于TCP/IP协议来实现视频图像传输。ARM视频监控端的主要工作是等待PC视频接收端的连接请求,进行连续的视频图像采集。计算机视频接收端的主要工作是对视频进行播放和存储,向视频监控端发送连接请求,接收、显示视频。
该系统的硬件框架如图1所示。
系统的软件框架如图2所示。
2 嵌入式Linux 系统构建
无线智能视频监控系统的视频监控端采用三星公司基于ARM 体系结构的芯片S3C2440 作为处理器,在使用该处理器的硬件系统上构建了嵌入式Linux操作系统作为应用程序的开发平台。嵌入式Linux系统的构建过程主要是建立嵌入式交叉编译环境,首先安装虚拟机,在虚拟机上安装Linux 操作系统,安装交叉编译工具,内核编译移植,建立NFS网络文件服务器,USB设备驱动加载,完成USB设备驱动的修改及移植。嵌入式Linux系统的软件体系结构如图3所示。
3 ARM视频监控端程序实现
ARM 的视频监控端程序采用套接字Socket 编程,Socket是独立于具体协议的网络编程接口,在TCP/IP模型中,主要位于传输层和应用层之间。它支持TCP/IP协议,是网络通信的基本操作单元,有连接通信的Sock-et编程如图4所示。
套接字可以作为主机通信的终结点,它是Socket应用程序用来在网络上发送或接收数据包的对象,它可用作网络间的编程界面。视频监控端程序采用流式套接字接口编程实现,提供没有记录边界的字节流,字节流能够以正确的顺序无重复地被送达,并且提供了一个面向连接、可靠的数据传输服务。视频监控程序主要实现图像的采集检测传输等功能。视频监控端程序流程图如图5所示。
图像视频监控端程序通过Linux Socket设计实现,从而实现了视频监控端的图像传输处理等功能。
4 计算机视频接收端应用程序实现
视频监控采用servfox流媒体服务器来作监控服务器,servfox运行在ARM终端上采集摄像头数据,然后在计算机上使用视频播放软件显示图像。接收端应用程序为Windows程序,主要是针对ARM-LINUX 下的视频捕捉软件Servfox而写的。视频捕捉软件通过USB采集JPEG 图像,通过一个USB 无线网卡进行视频图像的传输,采用JPEG格式的视频传输过程,意味着传输的是一个连续帧的JPEG图像。计算机视频软件接收端的功能是接收视频监控端所发的图片并在图片在窗口显示的同时录像。程序用C 语言编写软件代码,用XML 来存储USB采集的视频信息。计算机视频接收端应用程序实现了视频播放的控制,包括视频的开始、停止和暂停,实现了摄像头的控制,包括摄像头的添加、更新和删除,还能够对进入到监控范围的移动物体进行视频监控和视频录制。视频接收端程序流程图如图6所示。
5 系统运行
本系统运行过程通过超级终端连接计算机和开发板,利用串口传输数据,通过超级终端可以监控目标板信息,也可以向目标板传输命令,控制目标板操作。
运行过程是先启动嵌入式目标板ARM 视频监控端,如果目标板上连接有USB摄像头,连接有无线网卡,则系统首先运行嵌入式操作系统,通过驱动加载命令insmod将摄像头和网卡的驱动加载进Linux内核,摄像头驱动成功后,运行视频采集的视频监控端程序servfox,视频采集就能够正常运行。然后运行计算机视频接收端应用程序,运行录像播放软件,从而整个视频监控系统得以正常运行。
6 结语
本文给出了一种基于嵌入式ARM技术的无线视频监控系统的解决方案。建立了嵌入式系统开发的交叉编译环境,进行了操作系统移植,编译并通过了嵌入式操作系统下无线网卡和USB摄像头的驱动程序,利用模块化程序设计方法,设计了基于ARM 技术的无线视频监控端软件和计算机视频接收端软件,并对系统的运行进行了测试,结果表明,该方案中的整个视频监控系统得以正常运行,从而实现了视频的监控。