基于嵌入式的视频监控实习报告-硬件实习

时间:2024.4.27

20##级计算机专业实习报告

题目:基于嵌入式的视频监控实验

班级:

组长:

组员:

日期:20##年7月6日


目录

一、实验目的................................................................................................................... 2

二、实验设备及工具........................................................................................................ 2

三、实验要求................................................................................................................... 2

四、实验过程................................................................................................................... 3

一)实验分析............................................................................................................ 3

二)设计流程............................................................................................................ 3

1、烧写U-Boot.................................................................................................. 3

2、测试U-Boot.................................................................................................. 4

3、移植spcview,配置网络摄像头..................................................................... 6

4、BOA服务器配置和CGI程序......................................................................... 6

5、BOA服务器的配置....................................................................................... 7

五、遇到问题及解决方法:............................................................................................ 10

1、tftp下载时权限问题:...................................................................................... 10

2、websever调试页面跳转问题:........................................................................... 10

六、实验感悟:.............................................................................................................. 11


一、实验目的

通过本课程设计使学生加深理解、巩固课堂教学和平时实验内容,使学生初步完成基于web的嵌入式视频监控的设计,强化学生的知识实践意识、提高动手能力,发挥学生的想象力和创新能力,从而培养工程应用型人才。

二、实验设备及工具

硬件环境:Up-TECH s2410/p270 DVP 嵌入式开发平台,摄像头,PC机

软件环境:用Spcaserv来架设、Pc机操作系统REDHAT LINUX 9.0+ARM-LINUX

网络环境:我们得有一个网络环境,比如我来测试我所做的网络监视系统是否成功,至少在局域网内有两台机器。

三、实验要求

1、实时监控功能:实时监控摄像头所监视的范围;数据流采集功能:实时采集监控数据流

2、提交课程实验报告,实验报告应包括:系统设计要求,设计过程,调试过程,关键程序代码。

四、实验过程

一)实验分析

本系统由摄像机、嵌入式WEB服务器(Linux)、传输网络和监控端(PC机)组成。摄像机用来采集监控现场的视频。嵌入式WEB服务器是整个监控系统的核心。其主要功能包括:为监控端提供WEB访问页面;对监控端的访问进行有效性、安全性检查;响应监控端的请求,为监控端提供所需要的视频图像。在监控端可以通过浏览器界面访问服务器,监控端的功能则是显示现场视频。

二)设计流程

1、烧写U-Boot

将编译得到的u-boot.bin拷贝到XP的D盘下,将我们光盘中的sjf2410-s.exe文件也拷贝到D盘下。连接好开发板的电源、JTAG下载线,打开开发板的电源。在电脑桌面的左下角点击开始,找到运行:在打开的菜单中输入cmd,并回车:

       这样将会打开一个DOS对话框。在打开的DOS对话框中进入D盘:

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>D:

D:\>

       这样就进入了D盘,运行如下命令进行烧写:

D:\>sjf2410-s.exe /f:u-boot.bin

       这样就会启动烧写程序。在烧写程序中需要我们做一些选择,要分别输入三次0,然后才开始真正的烧写,烧写完毕后,输入2推出程序。如下面的内容:

D:\>sjf2410-s.exe /f:u-boot.bin

+------------------------------------+

|     SEC JTAG FLASH(SJF) v 0.7      |

|     (S3C2410X & SMDK2410 B/D)      |

|     PROVIDED BY KENT 20050628      |

|          kent@up-tech.com          |

+------------------------------------+

Usage: SJF /f:<filename> /d=<delay>

> S3C2410X(ID=0x0032409d) is detected.

[SJF Main Menu]

 0:K9S1208 prog     1:K9F2808 prog        2:28F128J3A prog   3:AM29LV800 Prog

 4:Memory Rd/Wr     5:Exit

Select the function to test:0

[K9S1208 NAND Flash JTAG Programmer]

K9S1208 is detected. ID=0xec76

 0:K9S1208 Program      1:K9S1208 Pr BlkPage   2:Exit

Select the function to test :0

[SMC(K9S1208V0M) NAND Flash Writing Program]

Source size:0h~21237h

Available target block number: 0~4095

Input target block number:0

target start block number     =0

target size        (0x4000*n) =0x24000

STATUS:Epppppppppppppppppppppppppppppppp

Epppppppppppppppppppppppppppppppp

Epppppppppppppppppppppppppppppppp

Epppppppppppppppppppppppppppppppp

Epppppppppppppppppppppppppppppppp

Epppppppppppppppppppppppppppppppp

Epppppppppppppppppppppppppppppppp

Epppppppppppppppppppppppppppppppp

Epppppppppppppppppppppppppppppppp

 0:K9S1208 Program      1:K9S1208 Pr BlkPage   2:Exit

Select the function to test :2

D:\>

2、测试U-Boot   

现在U-Boot已经烧写到开发板上了,可以启动开发板检测是否烧写好。连接好开发板和主机之间的串口、网口,断开开发板的JTAG下载线,启动开发板。如果烧写成功,会在串口终端上出现如下内容:

U-Boot 1.3.2 (Dec  5 20## - 10:35:38)

DRAM:  64 MB

Flash: 512 kB

NAND:  64 MiB

*** Warning - bad CRC or NAND, using default environment

In:    serial

Out:   serial

Err:   serial

Hit any key to stop autoboot:  0

[UP-2410-S #]

       注意上面内容中红色的部分,主要是因为我们没有把环境变脸写入Flash。运行如下命令将环境变量写入Flash中:

[UP-2410 #]saveenv

Saving Environment to NAND...

Erasing Nand...Writing to Nand... done

[UP-2410 #]

       运行printenv查看环境变量:

[UP-2410 #]printenv

bootargs=root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200

bootcmd=tftp; bootm

bootdelay=3

baudrate=115200

ethaddr=08:00:3e:26:0a:5b

ipaddr=192.168.1.131

serverip=192.168.1.132

netmask=255.255.255.0

bootfile="uImage"

stdin=serial

stdout=serial

stderr=serial

Environment size: 265/16380 bytes

[UP-2410 #]

       可以看到我们在up2410.h中定义的环境变量都正确地保存下来了。然后检测网络功能:

[UP-2410 #]ping 192.168.1.135

host 192.168.1.135 is alive

[UP-2410 #]

       返回host 192.168.1.135 is alive,说明网卡已经通了。

       可以尝试运行U-Boot的命令,对所移植的U-Boot进行测试。

3、移植spcview,配置网络摄像头

1)从http://mxhaard.free.fr/spca50x/Download下载spcaview源码,将其解压并进入源码目录。

[root@vm-dev webcam]# tar -vxzf spcaview-20061208.tar.gz

[root@vm-dev webcam]# ls

bak  driver  runtime  spcaview-20061208  spcaview-20061208.tar.gz

[root@vm-dev webcam]#

2)  修改Makefile文件

    [root@vm-dev spcaview-20061208]# vi Makefile

    CC=arm-linux-gcc

    CPP= arm-linux-g++

    Spcaserv:$(OBJSERVER)

            $(CC) $(SERVFLAGS) –O spcaserv $(OBJSERVER) $(SERVLIBS)

3)  保存并退出,编译程序

       [root@vm-dev spcaview-20061208]# make spcaserv

4)  将spcaview-20061208文件夹中的http-java-applet文件夹的内容拷贝到/var/www/下,将生成的spcaserv下载到开发板上。 

4、BOA服务器配置和CGI程序

首先解压该文件:

yqliu29@up-tech:~/app/web$ tar zxvf boa-0.94.13.tar.gz

然后进入源代码目录:

yqliu29@up-tech:~/app/web$ cd boa-0.94.13/src/

修改文件compat.h的第120行:

yqliu29@up-tech:~/app/web/boa-0.94.13/src$ vi compat.h

修改后,第120行的内容如下:

#define TIMEZONE_OFFSET(foo)  foo->tm_gmtoff

即只是去掉了该行的两个’##’字符。

然后修改boa.c:

yqliu29@up-tech:~/app/web/boa-0.94.13/src$ vi boa.c

找到该文件的225~227行,注释掉这几行,不然运行的时候会出错。

源文件的修改就完成了,现在开始编译。

首先,运行configure程序对源文件进行配置:

yqliu29@up-tech:~/app/web/boa-0.94.13/src$ ./configure

配置完成后,修改Makefile:

yqliu29@up-tech:~/app/web/boa-0.94.13/src$ vi Makefile

修改第31行和32行如下:

CC = arm-linux-gcc

CPP = arm-linux-gcc -E

修改完成后,保存文件,运行Make进行编译:

yqliu29@up-tech:~/app/web/boa-0.94.13/src$ make

编译完成后,会在该目录下生成我们需要的可执行文件boa。

然后,编译我们的CGI程序。CGI程序供两个,一个是run.c,另一个是stop.c,分别运行如下命令进行编译:

yqliu29@up-tech:~/app/web$ arm-linux-gcc -o run.cgi run.c

yqliu29@up-tech:~/app/web$ arm-linux-gcc -o stop.cgi stop.c

编译完成后,会在目录下生成run.cgi和stop.cgi两个应用程序。

5、BOA服务器的配置

              Boa运行时需要在/etc/boa目录下有一个boa.conf文件,该文件的全部内容如下:

Port 80

#Listen 192.68.0.5

User root

Group 0

ErrorLog /var/log/boa/error_log

AccessLog /dev/null

ServerName www.your.org.here

DocumentRoot /var/www

DirectoryIndex index.html

KeepAliveMax 1000

KeepAliveTimeout 10

MimeTypes /etc/mime.types

DefaultType text/plain

CGIPath /bin:/usr/bin:/usr/local/bin

AddType application/x-httpd-cgi cgi

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

另外,在/etc目录下还需要一个mime.types文件,可以直接从主机上的/etc目录拷贝过来。

运行时需要的目录如下:

/var/www              这个是我们的html文件存放的目录

/var/www/cgi-bin   这个是CGI程序存放的目录

/var/log/boa/error_log    这个是boa服务器存放错误日志的地方

因此,把我们上面提到的index.html、adc.html和adc.xml三个文件拷贝到开发板的/var/www目录下;把刚才编译得到的run.cgi和stop.cgi拷贝到/var/www/sgi-bin目录下;还要在/var/log/boa目录下建立一个error_log文件,命令如下:

[root@up-tech /var/log/boa]pwd

/var/log/boa

[root@up-tech /var/log/boa]touch error_log

这样,服务器的配置就完成了,把刚才编译得到的boa可执行文件拷贝到/bin目录下,然后执行boa命令,就可以启动boa服务器了:

[root@up-tech /var/log/boa]boa

运行boa不提示错误,并在进程中有该进程

[/mnt/yaffs/web]./boa

[/mnt/yaffs/web]ps

  PID  Uid     VmSize Stat Command

    1 root        520 S   init

    2 root            SW  [keventd]

    3 root            SWN [ksoftirqd_CPU0]

    4 root            SW  [kswapd]

    5 root            SW  [bdflush]

    6 root            SW  [kupdated]

    9 root            SW  [mtdblockd]

   10 root            SW  [khubd]

   31 bin         372 S   portmap

   37 root        600 S   inetd

   49 root        852 S   -sh

   50 root        756 S   -sh

   51 root        756 S   -sh

   52 root        756 S   -sh

   90 nobody      840 S   ./boa

  106 root        692 R   ps

[/mnt/yaffs/web]

此时确保你的网线连接正确,这时在IE浏览器中输入开发板的ip地址就可以看到如下的界面

如果你的电脑上没有安装java虚拟机的话,他会提示你安装虚拟机,安装光盘中的jre-6u10-windows-i586-p-s.exe文件就可以了。

1)  建立节点 mknod /dev/video0 c 81 0

2)  运行程序

[/mnt/yaffs/web]./spcaserv -d /dev/video0 -s 320x240 -f jpg

 size width: 320 height: 240

 Spcaview version: 1.1.7 date: 06:11:2006 (C) mxhaard@magic.fr

video /dev/video0

Camera found: Generic Vimicro 303b

VIDIOCGPICT brightnes=32768 hue=0 color=0 contrast=32768 whiteness=0depth=24 palette=4

Bridge found: ZC301-2

is_spca SPCA505

is_spca SPCA506

is_spca SPCA501

is_spca SPCA508

is_spca SPCA504

is_spca SPCA500

is_spca SPCA504B

is_spca SPCA533

is_spca SPCA504C

is_spca SPCA561

is_spca SPCA536

is_spca SN9C102

is_spca ZR364XX

is_spca ZC301-2

quality 1 autoexpo 1 Timeframe 0

StreamId: 0  Camera

try palette 21 depth 8

Available  palette 21

try palette 19196 depth 65535

Couldnt set palette first try 1075923708

Damned second try fail

try palette 19196 depth 65535

Couldnt set palette first try 1075923708

Damned second try fail

try palette 56536 depth 65535

Couldnt set palette first try 1073863896

Damned second try fail

try palette 288 depth 65535

Couldnt set palette first try 288

Damned second try fail

probe size in

Available Resolutions width 640  heigth 480

Available Resolutions width 384  heigth 288

Available Resolutions width 352  heigth 288

Available Resolutions width 320  heigth 240

Available Resolutions width 192  heigth 144

Available Resolutions width 176  heigth 144

 Format asked 21 check 8

VIDIOCSPICT brightnes=32768 hue=0 color=0 contrast=32768 whiteness=0depth=8 palette=21

VIDIOCGPICT brightnes=32768 hue=0 color=0 contrast=32768 whiteness=0depth=8 palette=21

 grabbing method READ asked

VIDIOCSWIN height 240  width 320

########init ##########

depth 8Waiting .... for connection. CTrl_c to stop !!!!

此时刷新一下IE就可以看到在线的视频了

五、遇到问题及解决方法:

1、tftp下载时权限问题:

up-tech:/ #tftp -r ad -g 192.168.1.152

tftp: can't open 'ad': Read-only file system

解决方法:

up-tech:/ #cd root

up-tech:~ #tftp -r ad -g 192.168.1.152

2、websever调试页面跳转问题:

访问网页时,跳转出现错误

502 Bad Gateway

The CGI was not CGI/1.1 combliant

解决方法:

修改.cgi权限为777,即修改为可执行

六、实验感悟:

本实验将当前嵌入式系统技术应用于网络视频监控系统,设计了一种基于嵌入式

Linux和S3C2410的低成本的网络视频采集传输系统。在这次实验中,从U_boot的烧写到最终视频采集的完成,我们从中学习了很多,进一步了解了嵌入式开发的过程,增强了我们对嵌入式开发的兴趣。最后,在此感谢    老师对我们实验的指导和支持,同时也感谢我们同学在实验过程中对我们实验的帮助。

更多相关推荐:
嵌入式实习报告

嵌入式实习报告20xx年1月13日一、嵌入式的概述:随着信息化技术的发展和数字化产品的普及,以计算机技术、芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用的热点,通信、计算机、消费电子技术(3C)合一…

嵌入式实训报告

嵌入式系统设计实训报告实训报告目录一任务名称内容1二题目分析1三系统平台搭建6四系统设计与实现7五心得体会14六参考文献及资料151实训任务的名称内容在这学期期末的实训中我们的任务是视频采集图像并实时显示在LC...

嵌入式系统实验报告

嵌入式系统实验报告姓名:##学号:##班级:计算机科学与技术非师范121班实验一LCD控制一、实验目的1、初步掌握液晶显示屏的使用及其电路设计方法。2、掌握S3C44B0X处理器的LCD控制器的使用。3、通过实…

嵌入式实习报告

嵌入式系统实习报告学院专业班级学号姓名指导老师计算机与信息学院电子信息工程20xx111120xx111123王金民严朝军彭文标嵌入式系统开发与应用概述在今日嵌入式ARM技术已经成为了一门比较热门的学科无论是在...

20xx嵌入式实习报告

成绩CSIP嵌入式实习报告院系计算机与工程学院专业计算机科学与技术学生姓名学号实习单位指导老师实习时间20xx520xx9本着对嵌入式系统的兴趣自己今后想从事嵌入式方面的工作因而本人进入了CSIP国家软件与集成...

嵌入式系统实习报告

嵌入式系统实习报告学院电气信息工程学院班级XX学号XX实习日期301362420xx75指导教师XX目录1嵌入式系统开发与应用概述32实习设备33实习目的44实习要求45实习步骤56实习体会97参考文献92一嵌...

嵌入式系统实习报告

20xx年08级自动化一班学号33号20xx1215姓名曾涛目录1嵌入式系统简介311嵌入式系统的概念312嵌入式系统发展历史3122简单操作系统阶段4123实时操作系统阶段4124面向Internet阶段41...

嵌入式系统实训报告

重庆航天职业技术学院课程作业课程名称班级学号姓名成绩前言嵌入式系统是基于单片机的一种升级版它是以应用为中心以计算机技术为基础软件硬件可裁剪适应应用系统对功能可靠性成本体积功耗严格要求的专用计算机系统我们可从几方...

嵌入式系统实习报告

目录一二1引言课题设计嵌入式系统11嵌入式系统概述12嵌入式操作系统2STC15F2K60S2硬件平台3UCOSII操作系统4基于STC15F2K60S2单片机的UCOSII的移植对移植进行介绍5UCOSII应...

嵌入式系统设计实习报告

嵌入式系统实习报告学院重庆邮电大学移通学院专业班级姓名学号指导教师目录一实习目的2二实习设备2三实习内容2四实习原理2五实习步骤5六实习主程序6七实习中间过程7八实习心得10基于S3C2410嵌入式MDK开发和...

嵌入式系统设计实习报告

嵌入式系统实习报告学院电气信息工程学院专业班级姓名学号指导教师目录一实习目的2二实习设备2三实习内容2四实习原理2五实习步骤5六实习主程序6七实习中间过程7八实习心得10九参考文献10基于S3C2410嵌入式M...

嵌入式系统实习报告

嵌入式操作系统实习报告选题电子时钟班级计本113班姓名冀慧君学号3110717339指导老师金红日期20xx1210一引言嵌入式在我们的生活中应用是很广泛的大到飞机坦克导弹小到手表遥控器虽然嵌入式系统是这一二十...

嵌入式实习报告(35篇)