基于GPRS的家庭安防之视频采集.docx
《基于GPRS的家庭安防之视频采集.docx》由会员分享,可在线阅读,更多相关《基于GPRS的家庭安防之视频采集.docx(59页珍藏版)》请在冰豆网上搜索。
基于GPRS的家庭安防之视频采集
毕业设计
题目:
基于GPRS的家庭安防系统的设计
系:
电气信息学院
专业:
电气工程及其自动化班级:
0905学号:
200901010537
学生姓名:
胡琼
导师姓名:
颜渐德
完成日期:
2013年5月25
诚信声明
本人声明:
1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果;
2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;
3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。
作者签名:
日期:
年月日
毕业设计(论文)任务书
题目:
基于GPRS的家庭安防系统之视频采集
姓名胡琼系电气信息系专业电气工程及其自动化班级电气0905学号200901010537
指导老师颜渐德教研室主任谢卫才
一、基本任务及要求:
1、研究mini2440开发板的结构特点和linux下C语言编程;
2、掌握嵌入式系统设计方法;
3、掌握嵌入式系统的开发与实践;
4、进行方案比较,完成软件设计、调试、仿真;
5、基本功能:
在PC端的网络浏览器中输入IP地址时,就能看到家中的清晰画面,并可方便地浏览各个房间。
6、进行硬件验证;
7、编写设计说明书等。
二、进度安排及完成时间:
1、第一周至第二周:
查阅资料、撰写文献综述和开题报告;
2、第三周至第四周:
毕业实习;
3、第五周至第六周:
学习嵌入式系统设计方法,Linux操作系统;
4、第七周:
进行方案比较,确定设计思路、划分系统模块;
5、第八周至第十二周:
进行系统设计;
6、第十三周:
进行硬件调试和验证;
7、第十四周至第十五周:
撰写设计说明书;
8、第十六周:
毕业设计答辩。
目录
摘要I
AbstractII
第1章绪论1
1.1课题的背景和意义1
1.2国内外发展现状和发展趋势1
1.3嵌入式系统概述3
1.3.1嵌入式系统的定义3
1.3.2嵌入式系统特点3
1.3.3嵌入式系统发展历程与趋势4
1.3.4嵌入式Linux系统开发的优势5
1.4论文的主要工作和内容安排6
第2章系统开发环境的建立及其系统移植8
2.1系统总体结构设计8
2.2系统硬件的选型8
2.2.1核心模块介绍9
2.2.3SBC2440硬件资源11
2.3主机嵌入式开发环境的建立11
2.4交叉编译环境的建立12
2.5嵌入式Linux操作系统的移植13
第3章视频监控终端软件的设计14
3.1视频采集端设计15
3.1.1video4linux2数据结构15
3.1.2视频采集程序实现步骤16
3.2嵌入式web服务器构建19
3.2.1嵌入式web服务器的工作原理19
3.2.2HTTP协议20
3.2.3嵌入式Web服务器boa的移植实现21
3.2.4CGI程序的设计与实现22
3.3视频服务端软件设计24
3.3.1TCP/IP网络协议24
3.3.2实现视频显示26
3.3.3HTML嵌入28
第4章监控系统的实验测试30
4.1测试环境的搭建30
4.2系统的测试31
第5章总结与展望33
5.1工作总结33
5.2问题与展望34
参考文献35
致谢37
附录38
基于GPRS的家庭安防系统之视频采集
摘要:
随着科技的进步和人民生活水平的不断提高,视频监控系统在工业生产、国家安防、日常生活中得到了广泛的应用。
视频监控技术融合了计算机、多媒体、通信及网络等多项技术,成为人们研究的热点之一。
本文介绍了Linux环境下实现视频采集、传输、显示的原理和工作流程,对Linux环境下使用V4L2实现视频采集的过程进行了详细的分析,对TCP/IP编程实现网络通信和SDL中的视频显示API进行了深入的研究,进而实现了在服务器端使用USB摄像头捕获实时图像,通过网络传输,将图像数据传送到客户端进行实时显示。
关键词:
V4L2;视频采集;SDL;网络编程
CapturevideohomesecuritybasedonGPRS
Abstract:
Withtheprogressofscienceandtechnologyandtheimprovementofpeople’slivingstandard,videosurveillancesystemhasbeenwidelyusedintheindustryproduction,nationaldefenceandsecurity,dailylife.Thevideomonitoringtechnologyfusedthecomputer,multimedia,communicationandnetworktechnology,becomeoneofthehottopics.Thispaperintroducestheprincipleandprocessofrealizationofvideoacquisition,transmission,displayunderLinuxenvironment,therealizationofvideoacquisitionwasanalyzedusingtheV4L2Linuxenvironment,TCP/IPprogrammingofnetworkcommunicationandvideoinSDLdisplayAPIconductedin-depthresearch,andtheuseofUSBcameratocapturethereal-timeimageontheserver,thetransmissionthroughthenetwork,sendingtheimagedatatotheclientforreal-timedisplay.
Keywords:
VideoforLinuxTwo;Videocapture;SDL;Networkprogramming
第1章绪论
1.1课题的背景和意义
安防监控系统是一门被人们日益重视的新兴专业,就目前发展看,应用普及越来越广,科技含量越来越高。
几乎所有高新科技都可促进其发展,尤其是信息时代的来临,更为该专业发展提供契机。
但就监控业界而言,系统组成一直没得到明确的划分,这使工程商和用户之间谈到安防监控系统时沟通很不方便。
在现今的居家环境中,存在着这样的问题:
一方面,传统的家庭安防的手段多为被动式,当意外发生时,不能及时做出判断或者保留可靠的信息;另一方面,即便小区中安置有安防系统,也不能够及时告知家庭主人个体家中的异常情况。
在构建数字家庭的背景下,从家庭的个体安防理念出发,这样的弊端是理应被克服的。
此家庭安防系统可以进行方便的扩展,结合用户自身需求进行定制,使得用户通过手机获得家中异常报警,并通过网络对家中情况进行实时监控,通过远程的操作来降低异常带来的损失。
在安防系统方面,视频监控是必不可少的一项,嵌入式监控可以直接接入网络,没有传统线缆长度和信号衰减的限制,基于网络更使得监控地点具有随意性。
管理员可以通过网页的方式登陆到系统中,随时随地地对监控场所进行监控。
本系统实现网络实时监控,管理。
在基于ARM体系的嵌入式开发板上,实现驱动移植、视频服务程序、视频控制程序,在网页中实现视频采集。
成为一套完整的远程视频监控系统。
当今市场上普遍采用基于PC机的视频监控,但这样的系统价格昂贵,操作比较繁琐;而嵌入式系统有操作简单、体积小、成本低、功耗小和实时性高等特点。
其市场前景相当广阔,是未来市场发展的主流。
1.2国内外发展现状和发展趋势
智能家居,英文为SmartHome,是以住宅为平台,兼备建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境。
是利用计算机技术、数字技术、电子技术、网络通信技术和综合布线技术,将与家庭生活密切相关的防盗报警系统、家电控制系统、网络信息服务系统有机的结合在一起,通过中心管理平台,让家居生活更加安全、舒适和高效。
智能家居系统相对于一般应用于安防的监控系统要更加的考虑成本、功耗和稳定性问题
,因此智能家居与我们常常所说的安防系统有相似之处,但是又具有自身的特点。
从智能家居概念在我国推广的将近10年时间里,虽然有很多公司推出了自己的智能家居系统,但现在智能家居系统仍然没有得到一个很好的普及。
由于一个建筑的生命周期相对较长,所以很难像手机、PC产品频繁更新换代,因此使用非标的产品企业的经营风险就可能转嫁到用户头上,为以后的维护和升级换代造成一定困扰。
并且智能家居是一个多行业交叉覆盖的系统工程,各设备厂商按照不同的接口标准与协议生产设备,其结果是不同设备之间的连通变得十分困难。
因此,建立共同遵循的标准与协议是发展智能家居必须首先解决的问题。
目前,智能家居领域的国际标准尚未成熟,各大厂商和相关组织机构正在着手建立和制定智能家居系统内部设备间的网络接口标准和数据传输协议。
现今智能家庭网络向三大技术趋势发展:
1)网络化发展;2)无线技术;3)基于嵌入式系统的远程控制。
而推进这个发展趋势的正是网络技术、无线通信技术以及嵌入式系统的广泛应用。
网络化的嵌入式无线智能家居控制系统是未来智能家居的展方向,它能够提供标准化接口和无线网络互连功能,而且可以通过嵌入式通信协议使得系统能够脱离传统PC,从而智能家居行业也将跨入后PC时代,这样的智能家居才能有更大发展。
未来的智能家居系统必然是将家中的数字设备通过无线技术连接起来,构建独立的家庭局域网,通过Internet或GPRS连接到外网,进而实现通过计算机、手机或PDA来远程监测和控制家庭中的各种设备,真正实现家庭设备的信息化、网络化和智能化。
而期间视频监控系统的发展经历了三个不同阶段:
模拟视频监控,数字化图像监控,基于嵌入式视频服务器的网络化数字视频监控。
模拟监控系统发展较早,目前常称为第一代监控系统,系统特点:
视频、音频信号的采集、传输、存储均为模拟形式,质量最高经过几十年的发展,技术成熟,系统功能强大、完善。
存在的问题是:
只适用于较小的地理范围与信息系统无法交换数据监控仅限于监控中心,应用的灵活性较差不易扩展。
随着计算机存储和计算能力的不断增强,图像监控迎来了一场技术革命。
慢慢从过去的模拟处理方式转向数字处理方式,开始使用PC处理图像信号。
利用计算机的数据处理能力与显示器的高清晰度,将视频信号通过视频采集卡采集到计算机中,在显示器上显示,大大提高了图像的画质,但是控制与切换仍采用传统的方式,只是计算机串口与之相连,完成控制工作。
尽管它有良好的人机界面和较好的稳定性,但它不能称为真正的数字图像监控系统。
其根本原因在于系统设计的出发点不是基于计算机,而是基于传统模式。
只是在原有的基础上加以改进,大部分时间里,计算机只是充当一个外部监视器的角色。
通信协议的多样化与专用化很难统一,导致己有的计算机资源远远满足不了多种设备的要求。
1.3嵌入式系统概述
1.3.1嵌入式系统的定义
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统具有软件代码少、高度自动化、响应速度快等特点,特别适合于要求实时和多任务处理的情况。
与通用型计算机系统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高、实时性强,支持多任务;占用空间小,效率高;面向特定应用,可根据需要灵活定制。
1.3.2嵌入式系统特点
嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,与通用的计算机系统相比有如下特点:
(1)技术密集、资金密集、高度分散、不断创新的知识集成系统。
通用计算机行业中,占整个计算机行业90%的个人电脑产业,绝大部分采用的是Intel的x86体系结构,而芯片厂商则集中在Intel,AMD,Cyrix等几家公司,操作系统方面更是被微软占居垄断地位。
但这样的情况却不会在嵌入式系统领域出现。
这是一个分散的,充满竞争、机遇与创新的工业,没有哪个公司的操作系统和处理器能够垄断市场。
(2)嵌入式系统通常是面向用户、面向产品、面向特定应用的。
嵌入式系统中的CPU与通用型CPU的最大不同就是前者大多工作在为特定用户群设计的系统中。
通常,嵌入式系统CPU都具有低功耗、体积小、集成度高等特点,从而有利于整个系统设计趋于小型化。
在对嵌入式系统的硬件和软件进行设计时必须重视效率,去除冗余,针对用户的具体需求,对系统进行合理配置,才能达到理想性能。
与此同时,系统设计还受市场供求关系的影响。
嵌入式处理器的发展也体现出稳定性,一个体系一般要存在8~10年的时间。
一个体系结构及相关的片上外设、开发工具、库函数、嵌入式应用产品合在一起,可以构成一套复杂的知识系统。
(3)嵌入式系统和具体应用有机地结合在一起,其升级换代也是和具体产品同步进行的。
因此嵌入式系统产品一旦进入市场,就具有较长的生命周期。
(4)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存贮于磁盘等载体中。
由于嵌入式系统的运算速度和存储容量仍然存在一定程度的限制,另外,由于大部分嵌入式系统必须具有较高的实时性,因此对程序的质量,特别是可靠性,有着较高的要求。
(5)嵌入式系统本身并不具备在其上进行进一步开发的能力。
在设计完成以后,用户如果需要修改其中的程序功能,也必须借助于一套开发工具和环境。
(6)通用计算机的开发人员通常是计算机科学或者计算机工程方面的专业人士,而嵌入式系统开发人员却往往是各个应用领域中的专家,这就要求嵌入式系统所支持的开发工具易学、易用、可靠、高效。
1.3.3嵌入式系统发展历程与趋势
从20世纪七十年代单片机的出现到各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。
近几年来,计算机、通信、消费电子的一体化趋势日益明显,嵌入式技术已成为一个研究热点。
纵观嵌入式技术的发展过程,大致经历四个阶段。
嵌入式技术的发展,大致经历了四个阶段:
第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测,伺服,指示设备相配合的功能。
这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。
第二阶段是以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。
这一阶段的操作系统具有一定的兼容性和扩展性,但用户界面不够友好。
第三阶段是以嵌入式操作系统为标志的嵌入式系统。
这一阶段系统的主要特点是:
嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小,效率高,并且具有高度的模块化和扩展性;具备文件和目录管理,设备支持,多任务,网络支持,图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。
第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。
目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电,工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。
嵌入式系统的发展对嵌入式操作系统提出了更高的要求。
其发展的趋势如下:
(1)低功耗的嵌入式系统。
为满足高可靠性要求,低功耗的系统将应运而生。
(2)Java虚拟机与嵌入式Java开发的嵌入式系统希望有一个方便的、跨平台的语言与工具,Java正是用Java虚拟机实现Java程序独立于各机种的平台。
一个支持嵌入式系统开发的、足够小、足够快、又有足够确定性的嵌入式Java程序包已经出现,Java虚拟机与嵌入式Java将成为开发嵌入式系统的有力工具。
(3)嵌入式系统的多媒体化和网络化。
随着多媒体技术的发展,视频、音频信息的处理水平越来越高,为嵌入式系统的多媒体化创造了良好的条件,嵌入式系统的多媒体化将变成现实。
它在网络环境中的应用已是不可抗拒的潮流,并将占领网络接入设备的主导地位。
(4)嵌入式系统的智能化。
嵌入式系统与人工智能、模式识别技术的结合,将开发出各种更具人性化、智能化的嵌入式系统。
1.3.4嵌入式Linux系统开发的优势
Linux系统作为一个嵌入式操作系统具有许多的优点,如系统稳定、功能强大、支持多种硬件平台、应用软件多、简单易用。
以下几点就具体说明了本系统选择嵌入式Linux作为操作系统的原因[9],所有的这些,都是现有的嵌入式操作系统所无法比拟的。
(1)使用成本低。
几乎所有的商业用操作系统如Microsoft的Windows98/NTSERVER
/NTWorkstation系列,都需要为每一个拷贝支付相当数量的费用,在其下的应用软件每一个都需要大量的支出来获得。
商用操作系统下建立了一个开发工具链,用户除了要为操作系统本身付费之外,还要为组成工具链的应用软件工具包支付大量的费用。
但是Linux是免费软件,只要遵守GPL的规定,就可以免费获得拷贝。
Linux下有同样遵循GPL规定的C、C++、Java等等一系列的软件工具开发包,从功能角度上看并不亚于商用开发包,同时可以极大的降低开发成本。
(2)源码公开。
Linux可以随意地配置不需要任何的许可证或商家的合作关系,任何人可以修改并在GPL下发行。
开发人员可以对操作系统进行定制,由于有GPL的控制,大家开发的东西大都相互兼容,不会走向分裂之路。
Linux用户遇到问题时可以通过Internet向网上成千上万的Linux开发者请教,即使最困难的问题也有办法解决。
Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上。
其强大的语言编译器gcc、g++等也可以很容易得到,不但成熟完善,而且使用方便。
(3)支持多种硬件平台。
Linux因为有了一个大的支持者群体,其中许多人都编写驱动程序和其它的更新程序并且免费的通过Internet网络进行分发,这意味着对新硬件的Linux驱动程序甚至比用于其它的UNIX系统的驱动程序还来得及时。
现在Linux已经被移植到多种硬件平台,支持包括X86、MIPS、PowerPC、ARM等现有的绝大部分微处理器体系结构。
这对受开销、时间限制的研究与开发项目是很有吸引力的,原型可以在标准平台上开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。
(4)文档技术支持完善。
Linux有非常多的文档支持,从为初学者准备的各种教程到非常详细的联机帮助文档。
Linux是互联网充分发展的产物,许多关于Linux的文档都可以在Internet上找到和下载。
LinuxDocumentProject是为Linux提供系统化的文档支持的项目,用户还可以通过Linux新闻组得到很好的支持。
对Linux的支持绝大部分是通过用户团体在Usenet新闻组上提供的。
这上面广泛收集有大量的FAQ,其内容包括Linux安装、配置和故障定位的方方面面。
(5)强大的网络功能。
Linux操作系统突出的是网络部分,基本上所有的网络协议和网络接口都可以在Linux上找到,Linux内核比标准的UNIX更加高效地处理网络协议,系统的网络吞吐性能非常好,这也是为什么Linux在网络服务器市场上占据越来越大市场份额的一个原因。
(6)微内核模块化体系结构。
Linux操作系统本身的微内核体系结构相当简单,网络和文件系统以模块形式置于微内核的上层,驱动程序和其它部件可在运行时作为可载模块编译到或者是添加到内核,这为构造定制的嵌入系统提供了高度模块化的构方法,使添加部件非常容易。
(7)系统小巧。
一个功能完备的Linux内核要求大约1M内存。
而Linux微内核只其中很小一部分内存,包括虚拟内存和所有核心的操作系统功能在内,只需占用系统的100K内存。
只要有500K的内存,一个有网络协议栈和基本实用程序的完全的Linux系统就可以在一台8位总线(SX)的Intel386微处理器上运行的很好了。
由于内存要求常常是根据需要的应用所决定的,Linux系统甚至可以仅使用256KBROM和512KBRAM进行工作,完全适合于资源有限的嵌入式硬件平台。
1.4论文的主要工作和内容安排
重点介绍了系统软件设计环境的搭建和系统软件的实现过程。
整个论文的结构安排如下:
第一章主要介绍课题的背景和意义和视频监控系统的国内外发展现状和发展趋势。
嵌入式系统的定义,嵌入式系统的特点以及嵌入式发展历程与趋势,引出本系统选择嵌入式Linux系统作为系统平台的原因所在。
最后引出本论文设计的主要工作和内容安排。
第二章介绍系统开发环境的建立及其系统移植工作,首先给出了系统的总体结构设计,接着说明本系统的硬件平台选择ARM开发板的原因,以及简单介绍ARM9开发板S3C2440的硬件资源,最后给出主机开发环境的搭建。
移植过程首先给出了整个系统的启动过程,然后对各个启动的各个环节进行分析,并把这些环节移植到ARM平台上。
这些移植的环节包括BootLoader的移植,Linux内核的移植,yaffs文件系统的移植和用BusyBox1.13版本制作根文件系统。
第三章涉及到视频监控终端软件的设计。
首先给出图像采集的一些知识,包括驱动的加载和设计,基于video4l2的图像采集的实现过程。
然后涉及到图像的网络传输设计,包括web服务器的构建,CGI用户验证,视频服务器端设计和客户端SDL的设计以及HTML网页的设计等。
第四章给出系统设计方案的实验测试,并对研究工作进行了总结,给出了论文不足之处和对下一步的研究工作提出了展望。
第五章是对整个设计的一个总结与展望。
第2章系统开发环境的建立及其系统移植
2.1系统总体结构设计
该系统是以嵌入式Linux系统和嵌入式控制器S3C2440为核心平台,在这个平台上建立web服务器和视频服务器。
利用TCP/IP协议技术实现了网络通信,把USB数字摄像头采集到的图像进行JPEG压缩,然后通过网络传输到远程计算机的客户端。
客户端方用JavaApplet技术实现图像的接收并完成显示功能。
客户端的用户可以通过具有java插件的浏览器实现监控的目的。
如图2.1所示的系统总体结构图。
图2.1系统总体结构图
整个系统分为以下四个部分:
1)图像采集部分;2)嵌入式平台部分;3)网络传输部分;4)客户端浏览部分。
2.2系统硬件的选型
本系统使用的硬件平台是由广州友善之臂科技有限公司开发的一款基于ARM9的开发板板mini2440,其中央处理器采用韩国三星电子公司生产的S3C2440。
这是一款基于ARM920T内核的16/32