嵌入式课程设计.docx
《嵌入式课程设计.docx》由会员分享,可在线阅读,更多相关《嵌入式课程设计.docx(9页珍藏版)》请在冰豆网上搜索。
![嵌入式课程设计.docx](https://file1.bdocx.com/fileroot1/2023-2/2/4ddcbd9c-8c59-404c-83f8-0e5944747c03/4ddcbd9c-8c59-404c-83f8-0e5944747c031.gif)
嵌入式课程设计
计算机科学与工程学院
通信工程
嵌入式课程设计报告
成员名单:
嵌入式网络视频监控系统
一、背景与原理:
视频监控系统以其能够实时、形象、真实地反映被监视控制对象的特性广泛应用于生产管理、银行监控和交通安防等重要领域。
特别当今社会生活水平的不断提高以及计算机的普及,家庭小型监控系统的需求量也越来越大
随着网络技术、图像压缩技术和数字信息技术的不断发展,监控系统也在快速变化和发展中。
目前这几种技术结合嵌入式技术催生了全新的基于嵌入式技术的网络视频监控系统。
该监控系统是把摄像机输出的模拟视频信号通过嵌入式视频编码器直接转换成IP数字信号。
嵌入式视频编码器具备视频编码处理、网络通信、自动控制等强大功能,直接支持网络视频传输和网络管理,使得监控范围达到前所未有的广度。
目前,基于嵌入式多媒体技术和B/S架构的分布式视频监控系统,已经成为信息网络的一种最普遍应用的信息交互平台。
借助以太网和Internet技术,把嵌入式系统连接至Internet上,就可以方便、低廉的把信息传送到世界的任何一个地方,实现资源的共享,从而使人们有能力解决以前在极有限的资源下很难解决的问题,为远程网络视频监控系统的发展提供了有利的条件。
由此可见,嵌入式网络视频监控系统必将有良好的应用和发展前景,由它替代当前普遍应用于PC的视频远程监控系统己成为必然趋势。
本次实验是在开发板上实现,在开发板进行文件编译并把相关文件拷到开发板内核;配置硬件环境。
在系统框架架构成功之后由网络摄像头进行视频采集,最后在网页上显示出来。
开发环境:
ARM2410cl开发板
PC机一台,USB摄像头
VmwareWorkstation
ARM-LINUX交叉编译开发环境
监控流程:
系统由视频采集终端(摄像头)采集视频资料,用嵌入式视频处理模块处理采集的信息,通过网络传输到监控终端显现摄像头所监控的信息(视频)。
视频采集终端为:
可接至开发板上的带有USB接口的摄像头
视频处理模块为:
s3c2410cpu(arm9)的开发板,运用嵌入式web服务器boa和视频服务器spcaserv
网络:
通过以太网网卡连接到Internet网络(实验中测试使用的为局域网内部)
监控终端:
PC机浏览器(使用B/S模式)
课程设计分析:
本系统由摄像头、嵌入式WEB服务器、流媒体服务器、传输网络和监控端组成。
摄像头用来采集监控现场的视频。
嵌入式WEB服务器是整个监
控系统的核心,其主要功能包括:
为监控端提供WEB访问页面;对监控端的访问进行有效性、安全性检查;响应监控端的请求,为监控端提供所需要的视频图像;接收监控端的控制信息,经过软硬件转换后对摄像机进行控制。
每个服务器有自己的IP地址,在监控端可以通过浏览器界面访问服务器。
监控端的功能则是显示现场视频。
二、视频监控系统的设计与实现:
1、编译Boa
编译内核:
进入armlinux
#makemenuconfig.
在armlinux的kernel目录下makemenuconfig,
首先选择Multimediadevice->下的Videoforlinux,
然后USBsupport--->USBMultimediadevices选项下应该有
USBSPCA5XXSunplusVimicroSonixCameras,要把它配置成module。
#makeclean//删除以前的编译结果:
#makedep//依赖编译
#make
#makeImage//形成vmlinux
#/usr/local/arm/2.95.3/bin/arm-linux-objcopy-Obinary-Svmlinuxlinux.bin//形成linux.bin
///usr/local/arm/2.95.3/bin/arm-linux-objcopy在交叉编译工具的安装目录中的一个工具
#gzip-v9linux.bin//形成linux.bin.gz
#/mkimage-Aarm-Olinux-Cgzip-a0x20008000-e0x20008000-dlinux.bin.gzuImage//把linux.bin.gz文件变为最终的影像文件uImage
//G:
\FFT-9200\标准配置光盘\fft-U-boot\编译\fft-uboot-1.0.0\tools\mkimage
在linux-2.4.19-rmk7/driver/usb/spca5xx目录下生成spca5xx.o,spcadecoder.o,spca_core.o。
这就是我们要的驱动.实际使用时,只需spca5xx.o就可以了。
烧写新的内核到开发板:
挂载相关文件到开发板
需要挂载spca5xx.o,servfox,boa,boa的lib,etc,var三个文件目录
#insmodspca5xx.o
会打印出找到摄像头的提示信息。
移植视频采集程序servfox:
解压servfox-R1_1_3.tar.gz,将目录中的Makefile.arm文件,修改为名为Makefile即可。
再make。
将生成的servfox挂载到开发板。
#mknod/dev/video0c810//不写这一步,会出现ERRORopeningV4Linterface错误。
这一步的意思是:
创建一个USB摄像头设备文件/dev/video
#./servfox-g-d/dev/video0-s320x240-w7070
//-g:
直接从内存读取数据
//-s:
servfox上显示的视频窗口的大小
//-w:
服务器端口
客户端spcaview:
make生成目标文件
在PC上,spcaview–w192.168.0.121:
7070就可以看到摄像头采集来的图片了
解压后,还会产生,此是WEB客户端。
将java目录拷到boa服务器的/var/www目录下。
目标板启动boa服务器,在windows浏览器下访问:
http:
//192.168.0.121/java/index-sample.html。
就可以在线视频监控。
2、重新烧写有boa配置文件的根文件系统
制作分文件系统:
mkcramfsrootroot.cramfs
烧写根文件系统用超级终端:
(1)通过超级终端连接arm开发板,重启arm开发板电源,根据提示进入vivi。
(2)在vivi下输入指令loadflashrootx
(3)在菜单栏选择传送文件,然后选择制作的根文件系统root.cramfs,等待传送完毕。
3、制作视频监控服务器servfox
挂载Boa和Servfox
在虚拟机中打开终端输入指令minicom进入开发板,将boa文件和srvfox文件挂载到arm机上(已将这两个文件放入arm2410cl文件中,挂载目标文件目录为/mnt/nfs):
虚拟机IP为:
192.168.0.110
ARM开发板IP为:
192.168.0.121
挂载:
在var文件夹下创建boa的目录文件
将spcaview-20061208文件夹中的http-java-applet文件夹的内容全部拷贝到arm系统端的/var/www/目录下,将生成的servfox下载到开发板上
/var/www这个是我们的html文件存放的目录
/var/www/cgi-bin这个是CGI程序存放的目录
/var/log/boa/error_log这个是boa服务器存放错误日志的地方
操作指令:
4、挂载摄像头驱动
指令:
5、建立设备节点:
指令:
mknod/dev/video0c810
6、运行boa
命令:
./boa
输入ps查看运行是否成功
7、运行servfox
插入摄像头后终端中显示如下:
运行servfox
开发板上服务器运行完毕,打开浏览器192.168.0.10。
由于资源有限,在最后检查时我们没有分配到摄像头,但是监控的框架已经显示出来。
连接摄像头即可使用。
三、课程设计总结
经过一周的嵌入式网络视频监控课程设计,我们学到了很多:
其中涉及到vivi烧入、系统的挂载、QT用户交互式界面的设计、程序的编写与调试、web监控网页的开发、视频监控服务器的搭建等及整体调试。
通过对这些知识点掌握和小组成员的共同努力,最终我们实现了嵌入式网络视频监控系统的开发。