版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . 分类号密级华中农业大学楚天学院本科毕业论文基于ARM的WEB远程视频实时监控系统设计与实现Design and Implementation of WEB Remote Video Monitoring System based on ARM学生:元程学生学号:102301048学生专业:计算机科学与技术 (计算机工程方向)指导教师:吴琼飞华中农业大学楚天学院二一四年六月24 / 27目 录摘 要I关键词IAbstractIKey wordsI前言11 课题概述11.1 课题研究的意义与背景11.2 国外研究现状21.3 远程视频监控的简述21.4 课题主要研究的容32 系统的
2、分析设计与实现32.1 系统的流程图32.2 CGI工作流程42.3 数据库设计43 系统的硬件与软件的设计43.1 嵌入式系统的介绍43.2 硬件平台的介绍43.3 交叉编译环境的搭建43.4 BOA服务器的简介与搭建53.4.1 BOA服务器的移植53.4.2 BOA服务器的配置63.5 SQLite3数据库的简介与移植73.6 辅助开发工具84 系统测试85 系统结果分析与展望15参考文献16致 16附录18摘要视频监控是安全防系统的重要组成部分,它是一种防能力较强的综合系统,并以直观、准确、与时和信息容丰富而广泛应用于许多场合。嵌入式网络视频监控系统是一种以嵌入式技术、视频编码技术和网
3、络传输术为核心的新型视频监控系统,它在稳定性、实时性、处理速度、功能、价格扩展性等方面和传统的视频监控系统相比有着突出的优势,同时也代表着目前视频监控系统研究和发展的方向。本论文首先阐述了嵌入式网络视频监控系统的发展、现状以与整体构建,然后介绍了ARM处理器以与嵌入式Linux操作系统的发展状况,并对如何在ARM硬件平台上进行嵌入式Linux核的裁剪、编译与移植,介绍了BootLoader的启动原理与运行过程。本文重点讨论了图像的采集、编码和网络通信的设计原理与实现,最后对系统进行了整体的测试,并提出进一步开发设想。关键词视频监控;嵌入式系统;网络通信;图像采集;AbstractVideo m
4、onitoring is an important component of the security system, which is an integrated system with strong ability to prevent, and intuitive, accurate, timely and rich information content and is widely applied in many occasions. Embedded network video monitoring system is a new type of video monitoring s
5、ystem based on embedded technology, video coding technology and network transmission technique as the core, the stability, real-time, processing speed, functions, price expansion etc, compared to traditional video surveillance system has prominent advantages, but also represents the current research
6、 and the development direction of video surveillance system.This paper first describes the development of embedded network video monitoring system, as well as the status of the whole construction, then introduced the development status of the ARM processor and embedded Linux operating system, and ho
7、w to carry on the embedded Linux kernel on the ARM hardware platform in cutting, compiling and transplantation, introduces the principle and operation process of BootLoader promoter. This paper focuses on the design and implementation of principles of acquisition, coding and network communication of
8、 the image, finally has carried on the system overall test, and put forward the plan of further development.Key wordsVideo Monitoring; Embedded System; Network Communication; Image Capture;前言随着现在经济的发展,自动化系统也在逐渐普与,自动化系统也开始进入工厂、企业甚至是家庭,很多工厂、企业都增加了各式各样的监控与控制系统,它们能做到每时每刻的反映设备是否运行正常,也为实现工厂的自动化运行提供了很
9、大的便利。不过很多企业与工厂仍然采用的是传统的监控模式,监控系统对现场的实时画面监控、参数设置都只能够在本地的操作室中进行操作,对于生产线上的管理者并不能实时的了解现场的生产状况。慢慢随着网络技术的快速发展与普与,信息传递与资源共享都成为了网络技术迅速发展的强大动力,而如今应用程序选用的体系结构首选也是WEB的B/S架构。因为现在软件平台开放的便利性也使得信息交互领域从工厂的现场各种设备到控制、管理的每个层次,覆盖从工厂、车间、工段、企业甚至是世界各地的市场,为了实现对系统控制的网络化和开放的体系创造了不可缺少的条件。对系统结构的控制也随着网络化的方向发展,并且控制体系开放性的发展也将成为控制
10、系统创新的主要路线。1 课题概述1.1 课题研究的意义与背景目前,各个企业中的信息网络已经较好的实现了开放性的策略,控制着网络体系结构也沿着开放性的方向发展,它们都将为控制网络的集成与信息网络提供了很大程度上的支持。采用集成技术也能方便的将企业中的控制网络层与部的信息网络层集成起来用于实现信息的交互与数据共享,这些已经成为了现在控制系统集成的有利发展方向。随着Internet/Intranet对社会上各个领域的渗透发展,给我们提供了一个基于WEB的信息平台,所以人们也将自己的目光转向了对构建Internet的WEB技术。把控制系统和实时监控系统构筑在Internet上,通过网络实现对工业化生产
11、过程的远程实时监控、远程实验、远程设备的故障诊断、远程设备的调试,将实验数据、实时生产数据、实时的用户需求以与ERP系统结合起来,使得生产不单单是面向订单的生产,而是直接面向市场的电子制造,从而使得企业能够满足全球化经济的需求,基于ARM的WEB远程视频实时监控系统就是在这样的背景下被提出的。基于ARM的WEB远程视频实时监控技术在现在也成为了国外的研究热点之一,其意义在于:(1)从企业的管理与生产角度来说,企业经营者与决策者可以实时的了解企业与工厂现场设备的运行情况,作为决策的重要参考依据,从而进一步的提高决策者对全局掌控的能力以与企业的管理质量。(2)从资源共享的角度来说,将企业系统的监控
12、建立在全球网Internet或者企业部网Intranet上,统一使用B/S模式,做到真正的局域与远程信息的实时处理与监控,对数据的综合共享,进一步实现企业与企业之间和公司部的统一的跨平台的数据访问与人机交互界面。(3)从企业使用的角度来说,因为B/S架构采用的是“瘦客户端”的模式,从而提高了系统的可拓展性,便与现场维护。同时,因为WEB技术使用了开放的网络传输协议 与TCP/IP,对系统的复杂性进行了简化,方便了不同的系统互连。(4)从发展的前景来说,基于B/S架构的实时监控系统可以很方便的实现远距离的视频监控,从而也可以广泛用于各个行业中,如宇宙作业、微细加工、危险作业等很多工业现场。在今天
13、,网络遍布了全球,很多先进的网络技术也是日新月异,在工业远程监控中使用网络技术也成为了首选技术。这样可以增加企业的生产效率,提高企业的竞争力;还能够在远离现场的地方通过监控得到现场数据,对于需要第一时间获得数据的工程是非常重要的;也能对现场进行全方位、全天候的实时监控,能够与时发现设备的问题甚至可以做到提前预测设备会出现的问题,以确保企业的生产安全;实现了WEB监控技术同时也意味着各种异地资源能够通过网络信息交互的方式,实现资源的共享。总而言之,WEB视频监控为人们提供了一个更全面、更快捷、更高效、更安全的服务模式,也改变了以往传统监控模式。对于工业监控系统中的实时性、分布式和系统可扩展性等方
14、面的技术要求,基于WEB的组态系统都能满足,使得它不仅成为了一门计算机学科的重要门类,还是实现工业生产提高企业的经济效益、优质高产量、低功耗、自动化的重要技术手段。基于WEB的实时监控系统对于促进产业的信息化、实现工业的现代化、改造传统产业都有重要的意义。1.2 国外研究现状现在的企业生产已经慢慢向分布式、国际化的生产方式靠拢,用户的需求也使得技术需要不断的进步。Internet/Intranet将成为实现分布式生产的基础。近年来,基于WEB的工业化信息监控也成为了研究热点,无论在研究上,还是应用上,都得到了很大的发展。它具有信息系统的广泛性与开放性,又具有控制系统的可靠性与实时性,通过与现场
15、SCADA的连接,企业部的局域网WEB服务器也为用户提供现场历史与实时数据,实现了监控现场运行的目的。1993年,美国进行了机器人控制实验,实现了远程分布式控制,的四所大学与美国国家航空航天局(NASA)Johnson航天中心共同进行的。这项实验通过Internet在Johnson航天中心控制分别处于Texas大学Austin分校与Texas A&M 大学的机器人,并且在Rice大学和Arlington分校进行性能分析与监测。1994年,在美国的南加州大学完成了Mercury项目,这个项目可以让用户远程的通过WEB浏览器来操作一个机械手对文物进行挖掘。1996年,美国麻省North A
16、ndover公司首先使用了Internet与PLC相连,现在很多用户也从中获益。基于Internet,用户只要使用浏览器,便可以通信。虽然用浏览器能对控制对象的关闭和开启以与过程参数的设定,但是浏览器并不能用于控制设备,所以实际对设备的控制需要PC机或者PLC来实现完成。美国有一家公司叫太平洋科学仪器公司,使用的设备控制器系统综合了过程控制、监测、WEB服务器技术与传感器总线,这台设备是用于测量半导体部是否存在杂质,通过WEB网络技术使机床传感器与控制器进行对话,使用以太网端口与总线进行数据的传送,由计算机提供原始数据,并且将生产过程的数据与之综合,以决定统计过程、控制现场与探测故障控制参数。
17、在国,有很多的人也在致力于研究WEB监控方面的应用,国的很多高校对于WEB实时视频监控技术也展开了积极的研究。其中华中科技大学、交通大学、理工大学、交通大学、工业大学等的研究成果较为先进,例如:华中科技大学研发出的“汽轮机工况监测和诊断系统”、理工大学CIMS研究所也担任了国防科工委FMS实验中心的检测监控系统的研制任务,对制造系统中的各个子系统的检测监控技术进行了初步的集成。针对不一样的行业需求,为之设计针对这个行业的基于WEB的工业监控方案,并且在实践中加以运用,从而在这些领域取得良好的效果。这些研究也能很好的将Internet/Intranet技术与工业控制系统结合起来,而且可靠性也在很
18、多实际应用中得到了验证。1.3 远程视频监控的简述远程视频监控就是利用计算机通过网络技术实现对工业生产的过程进行控制和监视。远程监控系统也就是能够实现远程监控的计算机软硬件系统。对工业生产过程中的监控信息传入Internet,在一定条件下,也就能通过Internet查看和控制生产过程与现场设备的运行状态与各种参数,控制者也不必到现场,这样也能省去大量的人力和物力。管理人员也能远程的监视生产运行状况,根据需要能够与时发送调度指令,研究部门能够方便的利用自身的软硬件资源远程的控制对象等。远程监控系统可以分为如下几类:现场设备监测与控制系统、远距离数据传输系统、远程监控终端系统三部分。每个部分分工协
19、作,一起实现对设备远程控制。下图为远程监控系统。图1-1 远程监控系统1.4 课题主要研究的容根据现有的远程实时视频监控系统的优点与缺点,本文主要是根据视频采集技术、视频解码技术、TCP/IP网络传输技术、数据实时传输技术等基于WEB的远程监控系统开发技术为基础设计的基于ARM的WEB远程视频实时监控系统。本文实现了远程数据的传输与采集、数据监视、数据库的连接于查询等功能,通过系统运行最后验证了并且实现了基于ARM的WEB远程视频实时监控系统方案的有效性。2 系统的分析设计与实现为了实现远程监控并对其进行画面进行监控,经过各项研究实现了基于ARM的WEB远程视频实时监控系统,随着该系统的开发与
20、运用,可以实现对捕捉到的画面进行实时监控,可以实现不同的用户登录,这样可以方便用户信息的泄露,其次该系统是基于ARM下进行研发的,所以有成本低,功耗小,功能稳定等特点,能够大大的提高该产品的竞争力。该系统主要是对摄像头所捕捉到的画面进行实时的监控,用户可以通过登录自己的账号来进行画面监控。因为视频监控系统在基于网络传输的基础上需要实现大量的数据传输,需要对画面进行实时监控,所以该系统使用的是嵌入式系统进行开发,这样可以确保系统能够稳定的运行,并且能够尽可能的减少功耗。2.1 系统的流程图该流程图为系统流程图,主要是描述系统整个运行过程,包括系统的主要模块,这样用户就能够通过流程图查看系统的执行
21、过程,对系统也能够进一步的了解。图2-1 系统流程图2.2 CGI工作流程图2-2 CGI工作流程图2.3 数据库设计用户表:user表2-1 用户表字段名称是否主键是否为空数据类型长度备注id是否int-用户idusername-否char20用户名称password-否char20用户密码3 系统的硬件与软件的设计23.1 嵌入式系统的介绍嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。本系统是在Ubuntu 12.04下进行开发的,因为Linux是完全免费的操作系统,使用时只需要遵循GPL声明,而且Linux系统的源代码
22、都是完全开放的,可以自由的下载,在遵循了GPL声明的前提下是可以自由的修改和移植的,为系统的开发与调试带来了很大的便利。所以采用了Linux系统进行开发。3.2 硬件平台的介绍系统采用的是mini2440开发板,采用的是ARM9的架构,所以使用的是哈佛结构,即程序指令与数据是分开存储的存储器结构。该开发板采用的是Samsung s3c2440的微处理器,并且采用了专业稳定的CPU核电源芯片与复位芯片用于保证系统运行时的稳定性。3.3 交叉编译环境的搭建(1)将已经准备好的交叉编译环境的安装包(arm-linux-gcc-4.4.3.tar.gz)准备好,把安装包拷贝到虚拟机的任意目录的文件夹下
23、(2)运行$ sudo tar zxvf arm-linux-gcc-4.4.3C /opt/FriendlyARM/toolschain 解压该压缩包(3)在/usr/local目录下建立arm路径$ sudo mkdir /usr/local/arm(4)将/opt/FriendlyARM/toolschain/4.4.3文件夹全部拷贝到/usr/local/arm下$ sudo cp r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm(5)修改环境变量,把交叉编译器的路径加入到PATH中$ sudo vi /home/ubuntu/.ba
24、shrc在文件的最后添加如下代码,然后保存退出:export PATH=$PATH:/usr/local/arm/4.4.3/opt/FriendlyARM/toolschain/4.4.3/bin(6)运行,使其环境变量生效$ sudo source /home/ubuntu/.bashrc(7)然后检查是否已经将环境变量添加成功$ echo $PATH(8)如果成功,运行,查看是否输出arm-linux-gcc的版本号$ arm-linux-gcc v3.4 BOA服务器的简介与搭建BOA是一个非常小巧的WEB服务器,其可执行代码只有60K左右。它是一个单任务的WEB服务器,只能依次完成用
25、户的请求,而不会fork出新的进程处理并发连接请求。但BOA支持CGI,能够为CGI程序fork出一个进程来执行。BOA的设计目标是速度和安全,在其站点公布的性能测试中,BOA的性能要好于Apache服务器。3.4.1 BOA服务器的移植(1)解压源码$ tar xvf boa-0.94.13.tar(2)进入src,然后生成Makefile$ cd boa-0.94.13$ ./configure修改Makefile 修改CC gcc 为 CC arm-linux-gcc修改CPP gcc -E 为 CPP arm-linux-gcc -E(3)安装词法和语法分析工具$ sudo apt-g
26、et install bison flex修改src/log.c注释掉if (dup2(error_log, STDERR_FILENO) = -1) DIE("unable to dup2 the error log");
27、0; 为:/*if (dup2(error_log, STDERR_FILENO) = -1) DIE("unable to
28、 dup2 the error log"); */(4)修改src/boa.c注释掉下面容:if (passwdbuf = NULL) /* 如果密码为空,则提示getpwuid */ DIE(”getpwuid”);
29、160; /* 如果初始化组返回-1,则提示initgroups */ if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) = -1) DIE(”initgroups”); 为#if 0
30、160; if (passwdbuf = NULL) /* 如果密码为空,则提示getpwuid */ DIE(”getpwuid”); if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid)
31、= -1) DIE(”initgroups”); #endif(5)修改src/boa.cif (setuid(0) != -1) /* 设置uid,如果小于0,则提示错误 */
32、160; DIE(”icky Linux kernel bug!”); 为#if 0 if (setuid(0) != -1) /* 设置uid,如果小于0,则提示错误 */
33、 DIE(”icky Linux kernel bug!”); #endif(6)执行make出现错误:arm-none-linux-gnueabi-gcc -g -O2 -pipe -Wall -I. -c -o util.o s
34、rc/util.csrc/util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing tokenmake: * util.o Error 1 # 去掉其中(./src/compat.h)120行的 ”#” 。(7)给boa“瘦身”$ arm-linux-strip boa3.4.2 BOA服务器的配置(1)创建目录,将boa源码目录下的boa.conf拷贝到/etc/boa目录下# mkdir /etc/boa# cp boa.conf /etc/boa
35、修改配置文件boa.conf# vi /etc/boa/boa.confa)user的修改修改 User nobody为 User 0b)Group的修改修改 Group nogroup为 Group 0c)ScriptAlias的修改修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/为 ScriptAlias /cgi-bin/ /thesis/cgi-bin/d)DocumentRoot的修改修改DocumentRoot /var/为DocumentRoot /thesis/e)ServerName的设置修改#ServerName ..her
36、e为 ServerName ..here否则会出现错误“gethostbyname:No such file or directory”f)AccessLog修改修改AccessLog /var/log/boa/access_log为# AccessLog /var/log/boa/access_logg)以下配置和boa.conf的配置有关,都是在ARM根文件系统rootfs中创建以下步骤在开发板上进行:创建HTML文档的主目录/thesis/# mkdir /thesis/创建CGI脚本所在录 /thesis/cgi-bin# mkdir /thesis/cgi-bin当不
37、能使用cgi 时将# AddType application/x- d-cgi cgi改为AddType application/x- d-cgi cgi(2)BOA服务器的测试将boa拷贝到开发板根文件系统的/etc/boa下# cp src/boa /etc/boa将ubuntu下/etc/mime.types拷贝到开发板根文件系统的/etc下# cp /etc/mime.types /etc将你的主页index.html拷贝到/thesis/www目录下进入/etc/boa目录,修改boa的执行权限,#chmod +x boa(3)运行boa,然后在主机游览器输入开发板网址rootFri
38、endlyARM boa# ./boa30/10/2011:19:10:36 +0000 boa: server version Boa/0.94.1330/10/2011:19:10:36 +0000 boa: server built 10 30 2011 at 19:10:3630/10/2011:19:10:36 +0000 boa: starting server pid=968, port 803.5 SQLite3数据库的简介与移植将准备好的sqlite-amalgamation-3.7.3.tar解压到/home/ubuntu/sqlite-3.7.3/下# cd /home/
39、ubuntu/sqlite-3.7.3/# mkdir sqlite_install# ./configure -host=arm-linux -prefix=/home/ubuntu/thesis/sqlite-3.7.3/sqlite3_install# vim Makefile,找到-DPACKAGE_STRING=”sqlite 3.7.3”处,把3.7.3前面的空格和删除# make# make install(1)将sqlite3“瘦身”$ cd /home/ubuntu/sqlite-3.7.3/sqlite_install/bin$ sudo arm-linux-strip s
40、qlite3(2)将sqlite3拷贝到开发板的/usr/bin目录下# cp sqlite3 /usr/bin#chmod +x sqlite3 (添加执行权限)(3)在虚拟机的目录下/home/ubuntu/sqlite-3.7.3/sqlite_install/lib中找到libsqlite3.so.0、libsqlite3.so.0.8.6这两个库文件,去掉调试信息后把他们复制到开发板的/lib目录下:$ cd ./lib$ arm-linux-strip libsqlite3.so.0$ arm-linux-strip libsqlite3.so.0.8.6# cp arf libs
41、qlite3.so.0 libsqlite3.so.0.8.6 /lib(因为libsqlite3.so.0是到libsqlite3.so.0.8.6的,所以拷贝时需要加-arf)3.6 辅助开发工具(1)SecureCRT是一款支持SSH的终端仿真程序,可以让用户在Windows下登录UNIX或Linux服务器主机的软件,该系统主要用该软件登录开发板的系统。(2)Adobe Dreamweaver CS5在系统中用于网页的制作4 系统测试(1)修改开发板IP,虚拟机IP,PC机IP确保在同一个网段PC机:虚拟机:开发板:192.168.13
42、7.28然后使用ping命令对开发板,虚拟机,PC机IP进行测试,查看是否已经连接。(2)启动开发板的程序脚本start.sh(代码见附录)# chmod +x start.sh# ./start.sh(3)在PC机的浏览器中输入开发板的IP登录服务器8,出现如下画面:图4-1 登录页面(index.html)(4)输入错误的用户名和密码后出现如下画面,用户没有输入用户名,或者用户名输入错误,密码填写错误都会导致下面的错误图4-2 用户名或密码错误a)图4-3 用户名或密码错误b)(5)用户成功输入正确的用户名和密码后,对数据库信息进行匹配,如果匹配成功,则登录成功,自
43、动跳转到监控画面:图4-4 用户名与密码正确图4-5 监控画面(camera.html)(6)用户名如果不存在,用户可以进入注册页面进行注册,下面是用户注册页面图4-6 注册页面(register.html)(7)用户注册时,如果用户两次输入的密码不一致,则会提示如下的错误图4-7 两次密码不一致a)图4-8 两次密码不一致b)(8)用户成功输入数据库中不存在的用户名,并且两次密码输入正确,则用户注册成功,提示如下画面,并能够使用新注册的用户名登陆系统图4-9 注册成功a)图4-10 注册成功b)(9)用户注册时,如果注册的新用户已经存在,系统就不会注册该用户,则系统会提示出错,用户注册失败图
44、4-11 用户已存在a)图4-12 用户已存在b)(10)注册新用户时,如果输入的用户名为空,此时也会注册失败,并给出提示用户名为空图4-13 用户名为空a)图4-14 用户名为空b)(11)注册新用户时,如果没有输入密码,则系统会提示密码为空图4-15 密码为空a)图4-16 密码为空b)(12)查询数据库,下面的截图为数据库中数据的截图图4-17 数据库截图(13)手机浏览器查看监控,同样是在手机浏览器中输入开发板的IP登录服务器8,并可以看到系统的登录页面图4-18 手机登陆页面图4-19 手机监控页面5 系统结果分析与展望经过了这么长时间的学习与努力,我也顺利的
45、完成了毕业设计的制作,刚开始拿到毕业设计的题目的时候并不知道如何下手,后来在网上与图书馆查阅了相关的资料,慢慢的开始对毕业设计进行分析与研究,然后完成了开题报告与任务书。因为大学四年对于理论知识的学习还是占据主要地位,所以动手能力相对来说相对差一点,后来通过自己的努力与老师的帮助,我的动手能力也逐渐的加强了。首先,在制作HTML网页时,因为对HTML语言接触的并不多,所以还不知道怎么灵活运用,然后通过网上的一些资料,才勉强做出了系统的两个主要网页。其次就是CGI的学习,CGI接触的并不多,但是通过学习发现CGI其本质上和C语言小异,很多语法结构,思想上都是想通的,所以上手并没有遇到太大的难题,
46、主要就是CGI的一些API函数的调用上出现了一些传参错误的小问题,最后就是移植BOA服务器与SQLite3数据库时遇到的问题,因为做毕业设计前接触过BOA服务器与SQLite3,所以在移植与使用时,并没有遇到什么瓶颈。在系统运行时出现了一些意想不到的问题,刚开始不知道怎么解决,后来在老师的帮助下才发现一些配置文件出错了,将这些问题解决后,我的毕业设计也顺利的完成了。通过做毕业设计发现,我们无论做什么事情都需要循序渐进,不要太急于求成,遇到问题时也需要我们耐心的去处理,面对自己不懂的知识时我们需要停下自己的脚步去学习这些新的知识,只有当我们掌握了之后,才会让我们做事情事半功倍。系统完成后因为各方
47、面原因,所以系统还并不完善,现在还只能实现一个用户的登录与视频监控,在以后通过知识面的拓展,也能给系统添加一些额外的功能,如:画面的捕捉抓拍,用户的注册,历史照片的查询等,并能将这个系统逐渐完善。参考文献1 毕厚杰.新一代视频压缩编码标准-H.264/AVC.:人民邮电,20052 王宪,井权,戴旻.基于ARM平台的远程视频监控系统的研究.微计算机信息,2007;178-180 3 小京,易志华.基于GPRS的无线视频监控系统.国外电子元器件,2007;5;18-224韦东山.嵌入式Linux应用程序开发完全手册.:人民邮电,20085 王彦杰,邓记才,玖玲.H.264运动估计算法优化研究.信
48、息化研究,2009,35(1);29-326 鸟哥.鸟哥的Linux私房菜:服务器架设篇(第二版).:机械工业,20087 郭妍.基于MPEG-4视频监控系统的研究和实现.:科技大学,2009;4-208 华鹏.嵌入式移动视频监控系统的设计与实现.计算机工程与设计,2007;28(12);2898-29019 腊元,春林.计算机网络技术M.:国防工业,2001,60-91.10王建新,世凤,史永江,童官军.远程监控技术的发展现状和趋势J.国外电子测量技术,2005 (4):9-1211吴锋,成铁,何风行等.基于Web技术的远程监控系统研究J;仪器仪表学报,200512覃国荣.基于B/S架构的软
49、件项目实训M.2004年8月第1版.;电子工业13景安.基于B/S模式数据监控系统的研究与应用D.:化工大学硕士论文,200114麟,蔡翔云,庆等.开发基Web技术的工业信息远程实时监控系统J.计算机应用研究,200015 王强.远程监控系统的应用与研究D.:河海大学,200316 尉学军,跃.基于Web的B/S结构实时监控系统J.工业大学学报,2002,31(5):62-6317 飞.基于WEB的远程监控系统的研究与实现D.:大学,200718 Stipanicev D, Marasovie J. Networked Embedded Greenhouse Monitoring and Co
50、ntrol.Proceedings of 2003 IEEE Conference on Control Applications, Istanbul, 2003:1350-135519 Yang H T, Eagleson R.Design and Implementation of an Internet-based Embedded Control System. Proceedings of 2003 IEEE Conference on Control Applications, Istanbul, 2003, 2:1181-118520 Alan Cox.Video4Linux P
51、rogramming.alanredhat. 2000.21 Hassan A Artail,Mackram Raydan.Device-aware desktop web page transformation for rendering on handheldsJ.Personal and Ubiquitous Computing,2005,9(6):101-11622 Alessandro Rubini, Jonathan Corbet. Linux Device Drivers, ThirdEditionM.OReilly,2006,100-380. 23 Douglas E er.计
52、算机网络与因特网(第三版)(影印版)M.:清华大学出版社,1998,50-8024 W.Richard Stevens,Bill Fenner,Andrew M,Rudoff.UNIX NetworkProgramming,Volum1:The Sockets Networking API,3EM.TSINGHUA UNIVERSITY PRESS 2006.25 RFC致 转眼间大学四年的生活也将画上一个圆满的句号,我们也将离开这个生活了四年的校园,对于即将进入社会的我们,外面的一切都充满的诱惑,回忆这四年的大学生活,自己也感触颇多。在从拿到自己的毕业设计题目到现在毕业论文的完成,我要感我的
53、指导老师吴老师,刚刚拿到这个论文题目时并不知道如何下手去做,老师就给我进行了详细的说明,当我遇到问题时,老师也能够与时的帮助我们解决,偶尔也会给我们提供一些学习的和学习资料,让我们在课外也学习到了很多的知识。通过毕业设计,也让我巩固了一遍大学四年自己所学习的知识,增强了自己的动手能力,以与查阅资料的能力,最后还是感我在做毕业设计时对我帮助的所有人,因为有他们的帮助我才能够顺利的完成自己的毕业设计,并让我在做毕业设计时学习到了那么多自己不懂的知识。附录:执行脚本(start.sh):#!/bin/bashcd /etc/boa./boacd /mjpg-streamer/./start_s3c2
54、410.sh编译文件(Makefile):CC:= arm-linux-gccCFLAGS:= -Wall -O2OBJS:= login.cgi register.cgiall:$(OBJS)login.cgi:login.c sqlite3.c cgic.c$(CC) $(CFLAGS) -o $ $ -lpthread -ldlregister.cgi:register.c sqlite3.c cgic.c$(CC) $(CFLAGS) -o $ $ -lpthread -ldlclean:-rm $(OBJS)登录操作(login.cgi):#include "./inclu
55、de/sqlite3.h"#include "./include/head.h"#define BUFF_SIZE128#define DB_NAME"./user.db"#define BUFF_MAX 1024#define error_handler(Mesg)doprintf("error: %sn", Mesg);exit(EXIT_FAILURE);while(0);char userBUFF_SIZE; /存储用户名char passwdBUFF_SIZE; /存储密码int cgiMain()sqlite3
56、*mydb = NULL; /数据库指针char *errmesg; /错误信息指针的地址 char sqlBUFF_MAX = 0; /用于存放sql执行语句 char *dbresult; /用于指向那个数据库结果的指针 int nrow; /满足条件的记录的数目 int ncolumn; /每条记录包含的字段数目cgiHeaderContentType("text/html");cgiFormString("username", user, BUFF_SIZE); /获取控件的容cgiFormString("passwd", p
57、asswd, BUFF_SIZE); /连接数据库if ( SQLITE_OK != sqlite3_open(DB_NAME, &mydb)error_handler("sqlite3_open"); /查询数据库信息 sprintf(sql, "select * from user where username = '%s' and password = '%s'", user, passwd);if (0 != sqlite3_get_table(mydb, sql, &dbresult, &
58、nrow, &ncolumn, &errmesg) error_handler(errmesg); /如果数据库中查找不到记录,给出提示 if (0 = nrow) fprintf(cgiOut, "<script type="text/javascript">");fprintf(cgiOut, "alert("The username or password error!")");fprintf(cgiOut, "</script>");fprintf
59、(cgiOut, "<meta -equiv="refresh"content="0;url=./index.html">"); else fprintf(cgiOut, "<meta -equiv="refresh"content="0;url=./camera.html">"); /注销结果集sqlite3_free_table(dbresult); /关闭数据库if (SQLITE_OK != sqlite3_close(mydb)error_handler("close");return 0;注册操作(register.cgi):#include "./include/sqlite3.h"#include "./include/head.h"#define BUFF_SIZE128#define DB_NAME&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2024版)金融科技领域创新产品研发合同
- 第一编-合同法
- 2024年个人股份出让协议模板:权益转移细节版B版
- (2024版)新型材料研发与专利许可合同
- 2024年度商业机密保护协议一
- 2024业务外包合同
- 2024年企业劳动合同法专业培训实施计划
- 2024年展会专用展位设计与装修服务协议模板版B版
- 2024年个人借款协议条款详细样本版B版
- 2024年度人工智能技术研发与产业化合同
- 嵌入式系统开发实施方案
- 北京市房山区2023-2024学年五年级上学期期末数学试卷
- 学业规划初中生教学
- 静脉溃疡压力治疗
- -第9课-服装设计 课件 2023-2024学年岭美版初中美术八年级上册
- 2022高铁桥梁工程施工工艺标准化手册
- 卫生检验与检疫专业大学生职业生涯规划书
- 承诺书(标准模板)
- 装配式混凝土建筑构造与施工智慧树知到课后章节答案2023年下浙江工业职业技术学院
- 某机械厂员工手册
- 八年级上册-劳动技术-全册教案-湖南教育出版社
评论
0/150
提交评论