基于micro 2440的无线视频监控系统 毕业论文_第1页
基于micro 2440的无线视频监控系统 毕业论文_第2页
基于micro 2440的无线视频监控系统 毕业论文_第3页
基于micro 2440的无线视频监控系统 毕业论文_第4页
基于micro 2440的无线视频监控系统 毕业论文_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、防 灾 科 技 学 院毕 业 设 计题目基于micro 2440的无线视频监控系统学生姓名学号系 别防灾仪器系专 业测控技术与仪器班级开题时间2013年12月25日答辩时间2014年6月6日指导教师职 称教授 基于micro 2440的无线视频监控系统 摘要随着网络技术的飞速发展,信息技术的编解码技术的成熟,视频监控系统的内容不断丰富,更新。传统的监控系统准确性、时效性却很低,然而视频监控系统现代科学技术的发展,已经得到了充分的人力解放。本论文主要研究实现数据采集、数据传输和数据存储这些功能,这样就能给各行各业节省劳动力带来更大的福音. 本文首先是介绍嵌入式linux无线网络视频监控系统整体的

2、环境搭建及其现状和发展,采集端,用V4L2进行图像数据的采集;监控端,则是采用 SDL显示,同时运用到UDP协议传输。还有运用ARM硬件搭建平台来进行移植与编译嵌入式的linux内核。 关键词:嵌入式;无线网络视频监控;视频传输Based on micro 2440 wireless video surveillance systemAuthor huangxiTeacher hongliAbstract Along with the development of the network technology and codec technology, a huge number of IT

3、technology and the sophisticated video surveillance system in this area are more abundant and have a lot of change. we know less than reality for quality monitoring requirements , however, modern technology has been developed on the basis of video surveillance systems have been fully brought a quali

4、tative leap for the well efficiency improvement finesse liberation of human and material resources . This article first describes the overall environment for embedded linux wireless network video surveillance system to build its status and development , based on V4L2 video capture technology , as we

5、ll as how to use the ARM hardware in order to build a platform for transplantation and compile embedded linux kernel .Key word: Embedded; Wireless network video monitoring; Video transmission 目 录引言11 绪论21.1 视频监控系统的现状21.2 视频监控的发展趋势21.3视频监控的发展历程41.4 论文的研究意义51.5 论文工作安排52环境搭建62.1硬件的配置62.2微处理器72.3 摄像头82.

6、4 交叉编译器82.5 V4L2驱动程序架构82.6 SDL 应用编程接口92.7 UDP协议103 整体系统设计113.1 系统需求与分析113.2 系统总体设计113.3 采集程序实现过程123.4 视频数据的传输143.5 视频的显示153.6 Windows下客户端164 系统的成果展示184.1系统的调试184.2 系统设计的展示18致 谢20参考文献20防灾科技学院毕业设计引言近年来,人们对电子产品的需求不断提升,从简单的家居生活到办公室工作环境,从工厂流水线制造到体育竞技场的赛事监控,甚至涉及到管理制度等等,视频监控都表现得很重要。而在如今这个信息化时代,社会对于大量视频数据传输

7、越来越高注重的是质量以及实时性的要求。视频监控信息内容广泛而丰富,各个行业领域都将广泛应用视频监控系统,它为管理行业、信息产业、监控行业都提供了可靠、便捷、廉价的服务。视频网络可以直接通过视频的采集,让我们随时随地能够看到我们想要关注的一些事情,让我们的科技变得更加的进步,同时也省去了大量时间和人力,使计算机更好的被人类所利用。1 绪论1.1 视频监控系统的现状随着发展各种多媒体技术,视频网络监控如今已经成为了安全防范系统的重要一步,人们更加广泛的应用视频网络监控来进行服务和资源整合。而且视频监控信息内容广泛而丰富,各个行业领域都将广泛应用视频监控系统,它为管理行业、信息产业、监控行业都提供了

8、可靠、便捷、廉价的服务。视频网络系统涉及的领域十分的广泛,如今的计算机更是堪比一个高速运转的人脑,通过视频网络系统,可以像人的眼睛一样搜集和采集数据,然后传输到大脑进行一系列的分析和处理,并实现记忆功能。这个时候安全防范在如今看起来,就并不是一件繁琐的事情了,现在的保安只需要坐在一台计算机前,很轻松就能观察到各个方位和角落的画面,只需要在紧急情况发生的时候采取一定的措施就可以了,不用时时刻刻的去巡视。1.2 视频监控的发展趋势我们对于视频监控这个词语并不陌生,这是因为时频频监控的诞生距今已经有几十年的历史了,传统的视频监控是指模拟视频监控,这是最早期的一类系统,虽然如今随着科学技术的发展更多关

9、注的是数字监控系统以及智能网络监控系统,但是正是因为有了模拟视频监控系统作为基奠,才有了后期更智能、更便捷的新一代监控视频系统的到来。其实在发展早期的模拟视频监控的时候,它就已经具有了许多良好的性能,和纯熟的技术。网络应用的普及,传输数据信息个领域的飞速发展,以及流媒体技术的不断深化应用,使得现在的视频监控系统研究领域朝着更多元、更智能、更高清和无线快捷的方向前进。1)多元化我们都知道视频监控系统起初是为了强大安全防范系统,如今的社会虽然科技很发达,文明相比于以前也有了很大提升,但潜在的不安全因素仍然很多,如果纯粹靠人力去解决这些问题,显然这是一项非常巨大的工程,而且收到的效果也不如人意。所以

10、这种局面更促进了视频行业向高科技高水平的道路发展,视频行业的需求刺激了越来越多的人从事视频行业的研究,他们有着不同的设备和技术。这个行业的高效率发展构建了现代化开放的一系列视频管理系统,这个系统常常包含不同的产品,甚至不同的厂家。但是我们不必要过多的忧虑这些产品能不能进行统一,因为现在很多的产品都制定了详细的标准,使得系统的二次开发和调整都变得更加方便和灵活,及时是不同的产品,也完全能够互相之间进行编解和联通。所以,总的来说多元化的视频监控系统的发展,更有利于刺激和带动视频监控行业的更新换代和欣欣向荣。2) 智能性不管是用在安保措施方面还是普通的画面采集需要,视频监控系统都发挥了很大的作用,但

11、是我们知道,早期传统的模拟视频监控系统是离不开人员控制的,它常常需要一定的人员守候在计算机屏幕前,并且还要有一些相应的控制方式。但是长时间枯燥的劳动会让人的注意力逐渐不集中,以至于疲劳感也会增强,这个时候我们就需要更多的人员轮换值班。虽然在一定程度上,相比于以前的纯人工服务,监控系统已经发挥了很大一部分的作用,但是,显然我们还有更多的提升空间。这个时候我们可以选择使用更高级的技术,就是预先定义和存储报警规则,即把一系列的特殊情况转化为数据存储在计算机里,然后在视频监控采集到预先定义的行为之后,系统自动做出相应的警报提示,这样用户只需在接到讯息之后进行处理就行。现在为了完成此项功能,已经开发了V

12、CA这种技术,但是这项新兴的技术仍须完善和提升,才能得到普遍用户的认可。当然,如果此项技术发展成熟,将运用到的行业将不止是安全监控领域,也可以运用到企业工作运行管理,婴儿监护等等日常生活中。3) 民用性军事化的利用视频监控已经是过去式了,视频监控早已渗透到各个行业领域中,它的民用性在最近十几年里的体现已经是显而易见的事情了,甚至可以毫不夸张的说,人们的生活已经离不开视频监控系统,它的出现改变了普通百姓的生活,让人们生活在这个社会中更方便,更有安全感。工厂的生产流程都运用到了视频监控,这更方便于公司的管理,不仅有利于提高员工的工作效率,也让出现的员工与老板之间的矛盾得到解决,因为有证可查。学校考

13、试的监考工作也依赖于监控系统,这让考试更加具有公平性。视频监控在日常生活中扮演着非常特殊的角色,它甚至更像一个服务者,旨在为客户提供方便,快捷,人性化的服务,这就是视频监控系统所谓的民用性。1.3视频监控的发展历程1、第一代视频监控系统:模拟视频监控时代视频监控最早称为模拟闭合电路监控系统,用摄像机进行图片的有效采集,然后是通过电缆进行传输和视频的切换,它的实现成本和运输成本通常都比较低,但是因为依靠于电缆进行连接,只适用于小范围的传输,所以对场所的要求十分严格。而且这种早期的监控系统很难达成互相连通的功能,他们的各个部件之间的运行方式都是独立进行运作的,无法进行相应的协议,所以更不可能实现智

14、能化的报警装置。但是不得不承认的一点就是,模拟视频监控技术的发展为之后的监控系统奠定了扎实的基础。2、 第二代视频监控系统:数字视频监控时代数字视频监控出现在二十世纪九十年代,它结束了模拟监控时代,标着一个新的监控视频时代的诞生,但是这个监控系统的是在二十一世纪初才得到真正的大量技术投入和实际的应用。虽然它仍然采用模拟的视频信号处理,但是结构和性能都已经发生了翻天覆地的变化,具有很高的可靠性。但是由于模拟化的信号系统仍具有比较大的不足,现在的视频信号都在向趋于数字化的道路上去发展。3、第三代视频监控系统:智能网络视频监控时代近几年来智能网络监控系统的发展已经标志着智能网络视频监控技术的时代已经

15、到来,这是一场革命性的创新技术,操作系统运用到的是Linux操作系统,具有强大的设备支撑。智能网络使得视频监控不受制于地域限制,政府部门最近也全面建立起来了“社会防控体系”,因此,视频监控技术的研究也是一种趋势和潮流。1.4 论文的研究意义本论文主要研究开发平台的搭建,并学习linux操作系统下的相关知识,了解ARM平台中视频采集和传输的方法,通过设计基于micro2440监控系统的实现方案,完成视频监控系统的整体程序设计,保证视频的质量和稳定性。1.5 论文工作安排首先,本论文详细介绍要实现此方案所必须用到的各个器件的功能以及型号,并说明选择的理由。再把已经学习过的需要的原理及协议进行详细的

16、记录,其中利用到的源程序和代码对于总体设计来说都是至关重要的。然后在基本知识的学习与整合后,进行周密的整体结构设计,其中包括硬件和软件的设计。购买好相应的芯片和器件之后就能进行开发平台的搭建,根据实际情况解决好实际问题之后,制作出相应的实物,并根据功能展示出成果。 2环境搭建2.1硬件的配置2.1.1Micro2440 Micro2440是一个双层电路底板, 核心板部分是使用的是长布线以求满足信号完整性,为了方便插头并导致更方便的CPU信号引脚,芯板用2.0mm的定位销的“U”型的间距,我们也可以把它称为“U”型u2440芯板。快闪存储单元的NAND闪存和闪光的跳线J1也不是两个,我们可以开始

17、选择NAND或不系统。一是从NAND Flash引导(mini2440是);一是从开机也不闪光。存储空间的分配两种起动方式的每件作品都是不同的,如下图: 图2.1 micro2440接口布局下面则是SDRAM 部分原理图: 图2.2 SDRAM的部分原理图实际中产品中大多数都是使用一片 Nand Flash , Nand Flash不包含地址线,从下面的原理图可以看出:图2.3 NandFlash和NorFlash的原理图2.2微处理器嵌入式微处理器是用于处理信号的,如今的微处理器经过不断的开发和修整,已经具有低功耗和高可靠性的特点。嵌入式处理器类型有很多,主要型号有ARM、MIPS、Powe

18、r PC等等,我们在此用到的是ARM系列的产品,它支持设备数据的采集,传输和显示。考虑到最终功能的良好实现,多方面的性能对比之后我选择的是s3c2440芯片。2.3 摄像头中星微ZC301P:此设计采用的是经典中星微301P方案,它具有稳定逼真的色彩性能,速率为30fps/s,采用的是USB接口,感光器件:CMOS1/3INCH, 双pk-635摄像头采集视频。选择zc301p芯片是因为zc301p芯片拥有强大、先进的技术。选择的摄像头对决定视频的质量和清晰度具有很大的影响,所以在经过仔细比较之后,采用的是中星微ZC301P方案。2.4 交叉编译器通俗来说就是在一个平台上生成另外一个平台上的可

19、执行各种代码,但是有时候在编译程序时,产生的中间文件会很占用内存和磁盘的剩余空间,这样一来就堆CPU的处理的要求比较高,在进行ARM-linux嵌入式开发时,我们必须运用到交叉编译器。2.5 V4L2驱动程序架构无线视频监控系统的重要组成部分为Linux内核驱动程序和V4L2的视频设备技术,在Linux系统下,选择 V4L2作为实现视频采集功能的关键技术,是因为V4L2技术能流畅的进行视频的捕捉,它的开源方案其实是与Linux是一致的。2.5.1 V4L2驱动主要使用的ioctl 命令值如下所示:1、 控制命令: VIDIOC_QUERYCAP ,查询设备的功能;2、 控制命令:VIDIOC_

20、ENUM_FMT,获取视频的格式的功能;3、 控制命令:VIDIOC_S_FMT,设置视频数据格式的功能;4、 控制命令:VIDIOC_REQBUFS,请求分配视频缓冲区的功能;5、 控制命令:VIDIOC_QUERYBUF,查询已经分配的相关信息的功能;6、 控制命令:VIDIOC_QBUF,投放视频缓冲区到输入队列中的功能;7、 控制命令:VIDIOC_DQBUF,取得一个保存有数据的视频缓冲区的功能;8、 控制命令:VIDIOC_STREAMON,开始启动采集命令的功能;9、 控制命令:VIDIOC_STREAMOFF,停止采集命令的功能;2.6 SDL 应用编程接口首先介绍一下SDL里

21、面的surface,surface的功能是存储图形的像素,用来进行定义图像的属性,例如宽度和高度等各种变量,SDL的研发可以包括很多个或者一个surface,我们最终的目的则是把一系列完整的图像信息都复制到一个特殊的显示屏surface上,让屏幕上显示这个图像,这就是SDL的原理。下面是SDL技术用到的函数以及它的意义:2.7 UDP协议UDP协议是在OSI参考模型中,传输层的协议,用来发送数据包不需要订购。它像TCP协议用于处理网络数据包,但不同于TCP ,也是一种无连接的协议,位于四楼,在OSI模型的传输层,是在一层的TCP / IP协议的。 UDP没有包组,装配,而不是优先考虑包的缺点,

22、也就是说,当发送的消息的时候并不明确是否安全到达。UDP协议的到来已使用多年,但即使在今天,UDP仍然是一个非常实用和可行的网络传输层协议。3 整体系统的设计3.1 系统需求与分析通过对设计的所需要的功能分析我们可以来进行整个系统的分析设计,为了避免工作中出现各种开发后续的问题,我们应该首先把需要的功能形成一个具体的网络。具体的视频监控应该具有如下功能:1. 视频回放功能。2. 图像查阅功能。3. 视频监控功能。4.设计美观简洁、方便快捷。3.2 系统总体设计PC机SDL显示Zc301p视频采集设备S3C2440微处理器RT3070无线设备 图3.1 无线视频监控系统的设计的整体结构这个系统是

23、由摄像采集图像,然后用Linux处理器对采集到的图像进行处理,再通过网络传输视频信号至监控端,最终则显示在显示屏上。3.3 采集视频图像实现过程视频的采集设备依赖于对V4L2标准技术的支持:(1)设备的初始化打开摄像头int fd = open(/dev/video0, O_RDWR, 0); if (fd0)printf(open errorn);pcrmr(camera_cap:);return-1;return 0;)组成人员使用printf函数组成人员可以得到的信息。通过调用ioctl vidiocswin调整图像的亮度,对比度等等。 (2)视频截取捕捉视频图像,要有使用mmap0与内

24、存管理的一种方式单元的CPU ( MMU ) ,使用3C2410的主题是MMU的CPU 。(3)摄像头设备文件到内存区的映射 addr:共享内存的起始地址,一般设0,表示由系统分配:应用程序的绝对地址通过调用此函数,设备文件内容可以被映射到在地图上可读和可写的存储器区域的存储器区域,并且可以被不同的进程之间共享。返回一个指向图像的存储区域时,该函数是成功的,失败的返回值1。 (4)数据采集框架要捕获的帧,并在内存中的数据进行数据+ camera_mbuf的每一帧的起始位置。偏移frame,其中摄像头mbuf的一份声明中视频buf结构变量,使用的ioctl(FD,VmIOCGMBUF,及摄像头摄

25、像头mbuf的信息,那么就没有空间使用下面的缓冲回路控制左为数据收集过程是连续采集。3.4 视频数据的传输为了实现监控功能,我们首先完成视频采集,然后应该进行关键的视频图像数据网络传输,才能建立完整的视频采集。网络服务器的基础是客户端和服务器之间的数据通信。视频传输系统的网络是基于UDP协议的实现,前端嵌入机作为视频服务器负责视频捕捉和创造良好的UDP服务器,等待客户端连接,然后客户端做一系列的初始化,对服务器的有效连接,获得建立连接来接收数据,并实时显示后的反应。第二章的结尾部分进行了详细的UDP被描述。 UDP开发板端:(1)建立数据报套接字socketsockfd=socket(AF_I

26、NET,SOCK_DGRAM,0);(2)服务器IP地址bindbind(sockfd,(struct sockaddr *)&addr,sizeof(struct sockaddr_in)(3)向客户端发送数据sendtosendto(sockfd,ptcur,imagesize,0,(struct sockaddr*)&addrdst,sizeof(struct sockaddr_in); 其函数原型为:ssize_t sendto(int s,const void*buf,size_t len,int flags,const struct sockaddr* to,socklen_t t

27、olen);第1个参数表示套接字描述符第2个参数表示发送缓冲区的指针第3个参数表示发送缓冲区的大小第4个参数是标志第5个参数表示目的主机的sockaddr_in指针第6个参数表示目的主机的sizeof(struct sockaddr_in);返回值:成功返回已经发送的数据长度,数据长度可以为0(4)关闭套接字close()close(sockfd);PC机显示端:主要部分与开发板端相同,发送函数改为接收函数。imagesize=recvfrom(socket_descriptor,message,sizeof(message),0,(struct sockaddr *)&sin,&sin_le

28、n);其函数原型为:ssize_t recvfrom(int s,void*buf,size_t len,int flags,struct sockaddr* from,socklen_t *fromlen);参数:s-套接字描述符buf-接收数据的缓冲区大小len-接收数据的缓冲区长度flags-接收数据的标志from-客户端或者是服务器的地址fromlen-客户端或者是服务器的地址长度指针返回值:成功返回接收的字节数,发生错误时返回-1.3.5 视频的显示 本设计使用的摄像头ZC0301PL采集到的是JPEG格式的数据,所以在显示端本设计将接收到的数据保存为.jpg文件,然后利用SDL的扩

29、展库,显示该文件。(1) 启动SDL并初始化SDL_Init(SDL_INIT_EVERYTHING);(2) 建立显示窗口 screen = SDL_SetVideoMode( 320, 240, 24, SDL_SWSURFACE );调用SDL_SetVideoMode()是用来建立一个320像素宽、240像素高的24位(位/像素)窗口。(3) 加载图片loadjpg = IMG_Load(0.jpg);使用IMG_Load()来加载图片。在加载过程中茹过发生了错误,则会返回NULL。IMG_Load()可以加载BMP, PNM, XPM, LBM, PCX, GIF, JPEG, TG

30、A 和 PNG 格式的文件。(4) 将加载的图片应用到窗口上SDL_BlitSurface( imagejpg, NULL, screen, NULL );在本设计里,它是将加载好的图像应用到窗口上。(5) 刷新窗口SDL_Flip( screen )(6) 释放加载的图片SDL_FreeSurface( imagejpg );(7) 关闭SDLSDL_Quit();3.6 Windows下客户端Windows下客户端程序和Linux下客户端程序相似。这里采用的开发平台式Microsoft Visual Studio 2010,需要的SDL库包括SDL-devel-1.2.15-VC.zip和

31、SDL_image-devel-1.2.12-VC.zip。Windows下的Socket通信和Linux下的Socket通信相似,用到的函数基本相同,只不过需要包含的头文件有些不同,而且Windows需要对Windows Socket库进行初始化。1、Windows下需要的头文件:#include #include #pragma comment(lib,ws2_32.lib)2、初始化Windows Socket库WORD wVersionRequested;WSADATA wsaData;wVersionRequested = MAKEWORD( 1, 1 );WSAStartup( wVersionRequested, &wsaData );下面是监控画面:图3.2 Windows 下的监控画面4 系统的成果展示4.1系统的调试1、编译文件编译开发板端的程序arm: #arm-l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论