《嵌入式系统应用设计》实验报告(共5页)_第1页
《嵌入式系统应用设计》实验报告(共5页)_第2页
《嵌入式系统应用设计》实验报告(共5页)_第3页
《嵌入式系统应用设计》实验报告(共5页)_第4页
《嵌入式系统应用设计》实验报告(共5页)_第5页
全文预览已结束

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上嵌入式应用系统设计报告 PC Linux视频监控系统设计1、 课程设计的目的课程设计是嵌入式系统应用设计课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。二、设计目标PC Linux视频监控系统通过虚拟机redhat9将摄像头采集的视频信号进行压缩,同时进行入侵检测,再通过网络数据传送web服务器,客户端通过浏览器监控。三、相关背景知识随着计算机网络技术、视频压缩技术以及嵌入式技术在近些年来的

2、迅速发展,网络视频监控系统进入快速发展期,市场上出现了很多网络视频监控产品,以满足人们对安全的各种要求。采用嵌入式Web技术的网络,目前正成为网络系统的一个重要发展方向。用户通过浏览器或其他专门的客户端软件,就可远程访问监控摄像机,实现对现场的。在中采用,将功能模块和PC机客户端监控功能模块相分离,采用TCP协议对视频数据进行网络传输。,对目前Linux下USB的两种接口标准Video for-Linux和Video for Linux Two分别进行了研究,分别实现了基于这两种标准的驱动下的图像采集,并在最终的系统中采用了基于Video for Linux标准的驱动程序,完成了图像采集功能。

3、通过在嵌入式视频采集上建立嵌入式Web服务器,使用户通过Web页面查看图像视频。4、 课程设计环境操作系统:Vmware 虚拟机下Linux五、流程六、结果从浏览器中可看到视频,一下是截图:七、重点/疑难问题及解决方法PC端采用VMware+redhat9,由于本人安装VMware-Tool后设置不了共享文件夹,采用samba服务器,通过samba服务器实现文件夹共享,搭建samba服务器时遇到window平台打开不了共享文件夹问题,后来发现是配置文件有问题。解决办法是修改smb.conf文件。编译内核时遇到有内核版本号,但是2.4.36版本启动不了。解决方法是修改/etc/lilo.conf

4、启动项。编译内核失败,不能进入系统,提示如下: audit(.326:0):initialized kernel panic not syncing: VFS:Unable to mount root fs on unknown-block(0,0) 或是:VFS:Cannot open root device "hdxy" or unknow-block(0,0) Please append a correct "root=" boot option kernel panic-not syncing: VFS:Unable to mount root

5、fs on unknow-block(0,0) 这种故障现象, 解决方法:把08.05.11、<*> RAM disk support 09.27.07、<*> Compressed ROM file system support (cramfs) 这两项都要选上!八、遗留问题及思考架设thttpd服务器,按照资料架设,服务器不能成功启动,解决方法还在研究中。成功安装VMware-Tool,但是不能跟window共享文件夹,为什么redhat9就不能设置共享文件夹?九、代码分析 if (server_handle = socket (AF_INET, SOCK_STRE

6、AM, 0) = -1) exit_fatal ("Error opening socket Abort !"); if (setsockopt (server_handle, SOL_SOCKET, SO_REUSEADDR, &O_on, sizeof (int) = -1) exit_fatal ("Setting reused address fail Abort !"); initaddr (&servadr,NULL, port); if (bind (server_handle, (struct sockaddr *) &a

7、mp;servadr, sizeof (struct sockaddr) = -1) exit_fatal ("error bind socket");这部分代码主要是用于创建一个socket,设置服务地址,绑定端口。 if (listen (server_handle, MAXCONNECT) = -1) exit_fatal ("Damned errors when listen Abort !"); return server_handle;这部分代码主要是服务器用于监听客户端。while (videoIn.signalquit) sin_size

8、 = sizeof(struct sockaddr_in);if (new_sock = accept(serv_sock, (struct sockaddr *)&their_addr, &sin_size) = -1)continue;syslog(LOG_ERR,"Got connection from %sn",inet_ntoa(their_addr.sin_addr);printf("Got connection from %sn",inet_ntoa(their_addr.sin_addr);pthread_create(&

9、amp;server_th, NULL, (void *)service, &new_sock); 这部分代码主要用于处理连接。Timer* tmr_mstimeout( ) register Timer* min = timers0; for ( h = 1; h < HASH_SIZE; +h ) /timers在插入或删除元素时自然是要用心维护好顺序的,这里不打出来 if ( timersh < min ) min = timersh; return min;不管用什么数据结构来组织,既然Timer是一个计时器,那么就总是需要从一堆Timer里面找出离某个时间最近的那个Timer的. 在thttp的实现中,因为与客户端的连接有很多,也就是accept()返回的connfd数量有很多,根据这个最近的Timer,就可以从这一堆connfd中select出已经ready(可读可写或异常)的那个connfd,然后对此conn

温馨提示

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

评论

0/150

提交评论