基于ARM的WEB远程视频实时监控系统设计与实现毕业论文.docx
《基于ARM的WEB远程视频实时监控系统设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于ARM的WEB远程视频实时监控系统设计与实现毕业论文.docx(36页珍藏版)》请在冰豆网上搜索。
![基于ARM的WEB远程视频实时监控系统设计与实现毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-1/28/27af27d5-a488-4478-a7fa-9b90a42b3485/27af27d5-a488-4478-a7fa-9b90a42b34851.gif)
基于ARM的WEB远程视频实时监控系统设计与实现毕业论文
本科毕业论文
基于ARM的WEB远程视频实时监控系统设计与实现
DesignandImplementationofWEBRemoteVideoMonitoringSystembasedonARM
摘要
视频监控是安全防范系统的重要组成部分,它是一种防范能力较强的综合系统,并以直观、准确、及时和信息内容丰富而广泛应用于许多场合。
嵌入式网络视频监控系统是一种以嵌入式技术、视频编码技术和网络传输术为核心的新型视频监控系统,它在稳定性、实时性、处理速度、功能、价格扩展性等方面和传统的视频监控系统相比有着突出的优势,同时也代表着目前视频监控系统研究和发展的方向。
本论文首先阐述了嵌入式网络视频监控系统的发展、现状以及整体构建,然后介绍了ARM处理器以及嵌入式Linux操作系统的发展状况,并对如何在ARM硬件平台上进行嵌入式Linux内核的裁剪、编译与移植,介绍了BootLoader的启动原理及运行过程。
本文重点讨论了图像的采集、编码和网络通信的设计原理与实现,最后对系统进行了整体的测试,并提出进一步开发设想。
关键词
视频监控;嵌入式系统;网络通信;图像采集;
Abstract
Videomonitoringisanimportantcomponentofthesecuritysystem,whichisanintegratedsystemwithstrongabilitytoprevent,andintuitive,accurate,timelyandrichinformationcontentandiswidelyappliedinmanyoccasions.Embeddednetworkvideomonitoringsystemisanewtypeofvideomonitoringsystembasedonembeddedtechnology,videocodingtechnologyandnetworktransmissiontechniqueasthecore,thestability,real-time,processingspeed,functions,priceexpansionetc,comparedtotraditionalvideosurveillancesystemhasprominentadvantages,butalsorepresentsthecurrentresearchandthedevelopmentdirectionofvideosurveillancesystem.
Thispaperfirstdescribesthedevelopmentofembeddednetworkvideomonitoringsystem,aswellasthestatusofthewholeconstruction,thenintroducedthedevelopmentstatusoftheARMprocessorandembeddedLinuxoperatingsystem,andhowtocarryontheembeddedLinuxkernelontheARMhardwareplatformincutting,compilingandtransplantation,introducestheprincipleandoperationprocessofBootLoaderpromoter.Thispaperfocusesonthedesignandimplementationofprinciplesofacquisition,codingandnetworkcommunicationoftheimage,finallyhascarriedonthesystemoveralltest,andputforwardtheplanoffurtherdevelopment.
Keywords
VideoMonitoring;Embedded System;NetworkCommunication;ImageCapture;
前言
随着现在经济的发展,自动化系统也在逐渐普及,自动化系统也开始进入工厂、企业甚至是家庭,很多工厂、企业都增加了各式各样的监控与控制系统,它们能做到每时每刻的反映设备是否运行正常,也为实现工厂的自动化运行提供了很大的便利。
不过很多企业及工厂仍然采用的是传统的监控模式,监控系统对现场的实时画面监控、参数设置都只能够在本地的操作室中进行操作,对于生产线上的管理者并不能实时的了解现场的生产状况。
慢慢随着网络技术的快速发展与普及,信息传递与资源共享都成为了网络技术迅速发展的强大动力,而如今应用程序选用的体系结构首选也是WEB的B/S架构。
因为现在软件平台开放的便利性也使得信息交互领域从工厂的现场各种设备到控制、管理的每个层次,覆盖从工厂、车间、工段、企业甚至是世界各地的市场,为了实现对系统控制的网络化和开放的体系创造了不可缺少的条件。
对系统结构的控制也随着网络化的方向发展,并且控制体系开放性的发展也将成为控制系统创新的主要路线。
1课题概述
1.1课题研究的意义与背景
目前,各个企业中的信息网络已经较好的实现了开放性的策略,控制着网络体系结构也沿着开放性的方向发展,它们都将为控制网络的集成与信息网络提供了很大程度上的支持。
采用集成技术也能方便的将企业中的控制网络层与内部的信息网络层集成起来用于实现信息的交互与数据共享,这些已经成为了现在控制系统集成的有利发展方向。
随着Internet/Intranet对社会上各个领域的渗透发展,给我们提供了一个基于WEB的信息平台,所以人们也将自己的目光转向了对构建Internet的WEB技术。
把控制系统和实时监控系统构筑在Internet上,通过网络实现对工业化生产过程的远程实时监控、远程实验、远程设备的故障诊断、远程设备的调试,将实验数据、实时生产数据、实时的用户需求以及ERP系统结合起来,使得生产不单单是面向订单的生产,而是直接面向市场的电子制造,从而使得企业能够满足全球化经济的需求,基于ARM的WEB远程视频实时监控系统就是在这样的背景下被提出的。
基于ARM的WEB远程视频实时监控技术在现在也成为了国内外的研究热点之一,其意义在于:
(1)从企业的管理与生产角度来说,企业经营者与决策者可以实时的了解企业及工厂现场设备的运行情况,作为决策的重要参考依据,从而进一步的提高决策者对全局掌控的能力以及企业的管理质量。
(2)从资源共享的角度来说,将企业系统的监控建立在全球网Internet或者企业内部网Intranet上,统一使用B/S模式,做到真正的局域及远程信息的实时处理与监控,对数据的综合共享,进一步实现企业与企业之间和公司内部的统一的跨平台的数据访问及人机交互界面。
(3)从企业使用的角度来说,因为B/S架构采用的是“瘦客户端”的模式,从而提高了系统的可拓展性,便与现场维护。
同时,因为WEB技术使用了开放的网络传输协议HTTP与TCP/IP,对系统的复杂性进行了简化,方便了不同的系统互连。
(4)从发展的前景来说,基于B/S架构的实时监控系统可以很方便的实现远距离的视频监控,从而也可以广泛用于各个行业中,如宇宙作业、微细加工、危险作业等很多工业现场。
在今天,网络遍布了全球,很多先进的网络技术也是日新月异,在工业远程监控中使用网络技术也成为了首选技术。
这样可以增加企业的生产效率,提高企业的竞争力;还能够在远离现场的地方通过监控得到现场数据,对于需要第一时间获得数据的工程是非常重要的;也能对现场进行全方位、全天候的实时监控,能够及时发现设备的问题甚至可以做到提前预测设备会出现的问题,以确保企业的生产安全;实现了WEB监控技术同时也意味着各种异地资源能够通过网络信息交互的方式,实现资源的共享。
总而言之,WEB视频监控为人们提供了一个更全面、更快捷、更高效、更安全的服务模式,也改变了以往传统监控模式。
对于工业监控系统中的实时性、分布式和系统可扩展性等方面的技术要求,基于WEB的组态系统都能满足,使得它不仅成为了一门计算机学科的重要门类,还是实现工业生产提高企业的经济效益、优质高产量、低功耗、自动化的重要技术手段。
基于WEB的实时监控系统对于促进产业的信息化、实现工业的现代化、改造传统产业都有重要的意义。
1.2国内外研究现状
现在的企业生产已经慢慢向分布式、国际化的生产方式靠拢,用户的需求也使得技术需要不断的进步。
Internet/Intranet将成为实现分布式生产的基础。
近年来,基于WEB的工业化信息监控也成为了研究热点,无论在研究上,还是应用上,都得到了很大的发展。
它具有信息系统的广泛性与开放性,又具有控制系统的可靠性与实时性,通过与现场SCADA的连接,企业内部的局域网WEB服务器也为用户提供现场历史及实时数据,实现了监控现场运行的目的。
1993年,美国进行了机器人控制实验,实现了远程分布式控制,德州的四所大学与美国国家航空航天局(NASA)Johnson航天中心共同进行的。
这项实验通过Internet在Johnson航天中心控制分别处于Texas大学Austin分校与TexasA&M大学的机器人,并且在Rice大学和Arlington分校进行性能分析与监测。
1994年,在美国的南加州大学完成了Mercury项目,这个项目可以让用户远程的通过WEB浏览器来操作一个机械手对文物进行挖掘。
1996年,美国麻省NorthAndover公司首先使用了Internet与PLC相连,现在很多用户也从中获益。
基于Internet,用户只要使用浏览器,便可以通信。
虽然用浏览器能对控制对象的关闭和开启以及过程参数的设定,但是浏览器并不能用于控制设备,所以实际对设备的控制需要PC机或者PLC来实现完成。
美国有一家公司叫太平洋科学仪器公司,使用的设备控制器系统综合了过程控制、监测、WEB服务器技术及传感器总线,这台设备是用于测量半导体内部是否存在杂质,通过WEB网络技术使机床传感器与控制器进行对话,使用以太网端口与总线进行数据的传送,由计算机提供原始数据,并且将生产过程的数据与之综合,以决定统计过程、控制现场及探测故障控制参数。
在国内,有很多的人也在致力于研究WEB监控方面的应用,国内的很多高校对于WEB实时视频监控技术也展开了积极的研究。
其中华中科技大学、西安交通大学、南京理工大学、上海交通大学、哈尔滨工业大学等的研究成果较为先进,例如:
华中科技大学研发出的“汽轮机工况监测和诊断系统”、南京理工大学CIMS研究所也担任了国防科工委长春FMS实验中心的检测监控系统的研制任务,对制造系统中的各个子系统的检测监控技术进行了初步的集成。
针对不一样的行业需求,为之设计针对这个行业的基于WEB的工业监控方案,并且在实践中加以运用,从而在这些领域取得良好的效果。
这些研究也能很好的将Internet/Intranet技术与工业控制系统结合起来,而且可靠性也在很多实际应用中得到了验证。
1.3远程视频监控的简述
远程视频监控就是利用计算机通过网络技术实现对工业生产的过程进行控制和监视。
远程监控系统也就是能够实现远程监控的计算机软硬件系统。
对工业生产过程中的监控信息传入Internet,在一定条件下,也就能通过Internet查看和控制生产过程及现场设备的运行状态与各种参数,控制者也不必到现场,这样也能省去大量的人力和物力。
管理人员也能远程的监视生产运行状况,根据需要能够及时发送调度指令,研究部门能够方便的利用自身的软硬件资源远程的控制对象等。
远程监控系统可以分为如下几类:
现场设备监测与控制系统、远距离数据传输系统、远程监控终端系统三部分。
每个部分分工协作,一起实现对设备远程控制。
下图为远程监控系统。
图1-1远程监控系统
1.4课题主要研究的内容
根据现有的远程实时视频监控系统的优点及缺点,本文主要是根据视频采集技术、视频解码技术、TCP/IP网络传输技术、数据实时传输技术等基于WEB的远程监控系统开发技术为基础设计的基于ARM的WEB远程视频实时监控系统。
本文实现了远程数据的传输与采集、数据监视、数据库的连接于查询等功能,通过系统运行最后验证了并且实现了基于ARM的WEB远程视频实时监控系统方案的有效性。
2系统的分析设计与实现
为了实现远程监控并对其进行画面进行监控,经过各项研究实现了基于ARM的WEB远程视频实时监控系统,随着该系统的开发与运用,可以实现对捕捉到的画面进行实时监控,可以实现不同的用户登录,这样可以方便用户信息的泄露,其次该系统是基于ARM下进行研发的,所以有成本低,功耗小,功能稳定等特点,能够大大的提高该产品的竞争力。
该系统主要是对摄像头所捕捉到的画面进行实时的监控,用户可以通过登录自己的账号来进行画面监控。
因为视频监控系统在基于网络传输的基础上需要实现大量的数据传输,需要对画面进行实时监控,所以该系统使用的是嵌入式系统进行开发,这样可以确保系统能够稳定的运行,并且能够尽可能的减少功耗。
2.1系统的流程图
该流程图为系统流程图,主要是描述系统整个运行过程,包括系统的主要模块,这样用户就能够通过流程图查看系统的执行过程,对系统也能够进一步的了解。
图2-1系统流程图
2.2CGI工作流程
图2-2CGI工作流程图
2.3数据库设计
用户表:
user
表2-1用户表
字段名称
是否主键
是否为空
数据类型
长度
备注
id
是
否
int
-
用户id
username
-
否
char
20
用户名称
password
-
否
char
20
用户密码
3系统的硬件及软件的设计
2
3.1嵌入式系统的介绍
嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
本系统是在Ubuntu12.04下进行开发的,因为Linux是完全免费的操作系统,使用时只需要遵循GPL声明,而且Linux系统的源代码都是完全开放的,可以自由的下载,在遵循了GPL声明的前提下是可以自由的修改和移植的,为系统的开发与调试带来了很大的便利。
所以采用了Linux系统进行开发。
3.2硬件平台的介绍
系统采用的是mini2440开发板,采用的是ARM9的架构,所以使用的是哈佛结构,即程序指令与数据是分开存储的存储器结构。
该开发板采用的是Samsungs3c2440的微处理器,并且采用了专业稳定的CPU内核电源芯片与复位芯片用于保证系统运行时的稳定性。
3.3交叉编译环境的搭建
(1)将已经准备好的交叉编译环境的安装包(arm-linux-gcc-4.4.3.tar.gz)准备好,把安装包拷贝到虚拟机的任意目录的文件夹下
(2)运行
$sudotar–zxvfarm-linux-gcc-4.4.3–C/opt/FriendlyARM/toolschain
解压该压缩包
(3)在/usr/local目录下建立arm路径
$sudomkdir/usr/local/arm
(4)将/opt/FriendlyARM/toolschain/4.4.3文件夹全部拷贝到/usr/local/arm下
$sudocp–r/opt/FriendlyARM/toolschain/4.4.3/usr/local/arm
(5)修改环境变量,把交叉编译器的路径加入到PATH中
$sudovi/home/ubuntu/.bashrc
在文件的最后添加如下代码,然后保存退出:
exportPATH=$PATH:
/usr/local/arm/4.4.3/opt/FriendlyARM/toolschain/4.4.3/bin
(6)运行,使其环境变量生效
$sudosource/home/ubuntu/.bashrc
(7)然后检查是否已经将环境变量添加成功
$echo$PATH
(8)如果成功,运行,查看是否输出arm-linux-gcc的版本号
$arm-linux-gcc–v
3.4BOA服务器的简介与搭建
BOA是一个非常小巧的WEB服务器,其可执行代码只有60K左右。
它是一个单任务的WEB服务器,只能依次完成用户的请求,而不会fork出新的进程处理并发连接请求。
但BOA支持CGI,能够为CGI程序fork出一个进程来执行。
BOA的设计目标是速度和安全,在其站点公布的性能测试中,BOA的性能要好于Apache服务器。
3.4.1BOA服务器的移植
(1)解压源码
$tarxvfboa-0.94.13.tar
(2)进入src,然后生成Makefile
$cdboa-0.94.13
$./configure
修改Makefile
修改CC=gcc为CC=arm-linux-gcc
修改CPP=gcc-E为CPP=arm-linux-gcc-E
(3)安装词法和语法分析工具
$sudoapt-getinstallbisonflex
修改src/log.c
注释掉
if(dup2(error_log,STDERR_FILENO)==-1){
DIE("unabletodup2theerrorlog");
}
为:
/*if(dup2(error_log,STDERR_FILENO)==-1){
DIE("unabletodup2theerrorlog");
}*/
(4)修改src/boa.c
注释掉下面内容:
if(passwdbuf==NULL){/*如果密码为空,则提示getpwuid*/
DIE(”getpwuid”);
}
/*如果初始化组返回-1,则提示initgroups*/
if(initgroups(passwdbuf->pw_name,passwdbuf->pw_gid)==-1){
DIE(”initgroups”);
}
为
#if0
if(passwdbuf==NULL){/*如果密码为空,则提示getpwuid*/
DIE(”getpwuid”);
}
if(initgroups(passwdbuf->pw_name,passwdbuf->pw_gid)==-1){
DIE(”initgroups”);
}
#endif
(5)修改src/boa.c
if(setuid(0)!
=-1){/*设置uid,如果小于0,则提示错误*/
DIE(”ickyLinuxkernelbug!
”);
}
为
#if0
if(setuid(0)!
=-1){/*设置uid,如果小于0,则提示错误*/
DIE(”ickyLinuxkernelbug!
”);
}
#endif
(6)执行make
出现错误:
arm-none-linux-gnueabi-gcc-g-O2-pipe-Wall-I.-c-outil.osrc/util.c
src/util.c:
100:
1:
error:
pasting"t"and"->"doesnotgiveavalidpreprocessingtoken
make:
***[util.o]Error1
#去掉其中(./src/compat.h)120行的”##”。
(7)给boa“瘦身”
$arm-linux-stripboa
3.4.2BOA服务器的配置
(1)创建目录,将boa源码目录下的boa.conf拷贝到/etc/boa目录下
#mkdir/etc/boa
#cpboa.conf/etc/boa
修改配置文件boa.conf
#vi/etc/boa/boa.conf
a)user的修改
修改Usernobody
为User0
b)Group的修改
修改Groupnogroup
为Group0
c)ScriptAlias的修改
修改ScriptAlias/cgi-bin//usr/lib/cgi-bin/
为ScriptAlias/cgi-bin//thesis/www/cgi-bin/
d)DocumentRoot的修改
修改DocumentRoot/var/www
为DocumentRoot/thesis/www
e)ServerName的设置
修改#ServerNamewww.your.org.here
为ServerNamewww.your.org.here
否则会出现错误“gethostbyname:
:
Nosuchfileordirectory”
f)AccessLog修改
修改AccessLog/var/log/boa/access_log
为#AccessLog/var/log/boa/access_log
g)以下配置和boa.conf的配置有关,都是在ARM根文件系统rootfs中创建
以下步骤在开发板上进行:
创建HTML文档的主目录/thesis/www
#mkdir/thesis/www
创建CGI脚本所在录/thesis/www/cgi-bin
#mkdir/thesis/www/cgi-bin
当不能使用cgi时
将#AddTypeapplication/x-httpd-cgicgi改为AddTypeapplication/x-httpd-cgicgi
(2)BOA服务器的测试
将boa拷贝到开发板根文件系统的/etc/boa下
#cpsrc/boa/etc/boa
将ubuntu下/etc/mime.types拷贝到开发板根文件系统的/etc下
#cp/etc/mime.types/etc
将你的主页index.html拷贝到/thesis/www目录下
进入/etc/boa目录,修改boa的执行权限,
#chmod+xboa
(3)运行boa,然后在主机游览器输入开发板网址
[root@FriendlyARMboa]#./boa
[30/10/2011:
19:
10:
36+0000]boa:
serverversionBoa/0.94.13
[30/10/2011:
19:
10