基于S3C2440A设计的视频监控系统

发布者:EtherealMelody最新更新时间:2013-12-04 来源: 21ic关键字:Linux  视频监控  S3C2440A 手机看文章 扫描二维码
随时随地手机看文章

  目前,嵌入式系统在视频监控中的应用越来越广泛。伴随着网络的强大功能,视频监控更侧重网络监控方案,要求体积小、远程化、成本低、功耗小、操作界面人性化等。本系统基于嵌入式Linux 平台上利用USB 摄像头采集视频图像,通过视频图像压缩及结合网络进行视频图像传输,使远程监控成为可能。

  1 系统概述

  视频图像监控系统由4 部分组成, 分别为视频图像采集、视频图像处理、视频图像传输、视频图像显示。视频图像采集部分由数字摄像头、USB 通道和嵌入式处理器构成、视频图像处理主要是视频图像压缩,由算法实现、视频图像传输主要利用视频服务器来实现、视频图像显示主要是在远程的主机上实现视频图像的浏览、保存和处理等,Linux 主机上由应用程序实现,Windows 主机上通过浏览器上的JAVA 程序实现。系统原理框图如图1 所示。

基于Linux的视频监控系统构建方法

  图1 系统框图

  2 系统硬件

  CPU 处理器使用Samsung S3C2440A, 主频400 MHz,最高533 MHz;64 M SDRAM、32 bit 数据总线、SDRAM 时钟频率100 MHz;256 M/1 GB Nand Flash, 掉电非易失、2 M NorFlash,掉电非易失;统宝3.5 真彩LCD,屏集成4 线电阻式触摸屏, 屏幕分辨率可以达到1024×768 象素;100 M 以太网RJ-45 接口(采用DM9000 网络芯片)、串行口、USB Host、USB Slave B 型接口、SD 卡存储接口、路立体声音频输出接口, 麦克风接口、JTAG 接口、4 USER Leds、6 USER buttONs(带引出座)、I2C 总线AT24C08 芯片、20 pin 摄像头接口;摄像头用良田,兼容SN9C20X 系列芯片的驱动,本系统的内核中集成了该驱动。

  3 系统软件

  3.1 Linux 内核的移植

  移植新内核主要是为了给LCD 以及摄像头添加相应的驱动支持,在Fedora 9 中打开内核的目录,使用缺省配置文件进行配置:在内核中添加V4L 支持、添加万能USB 摄像头驱动GSPCA。

  3.2 基于V4L2 的图像采集程序

  系统使用的交叉编译工具为arm-linux-gcc-4.3.2.设计使用到的应用程序都要通过该编译器编译后下载到开发板上运行。将编好的应用程序V4L2.c 交叉编译后下载到板。

  V4L(Video for Linux)是Linux 下提供的一个音视频接口规范,所有的音视频驱动编写都要用到这些接口。

  V4L 从2.4.1.x 的内核版本中开始出现, 设计使用的Video for Linux2(简称V4L2)是V4L 的改进版,修复了第一代中的部分BUG。

  设计的图像采集及处理程序主要基于V4L2 架构, 通过对一些ioctl 函数的调用来实现视频设备的打开,图像的采集处理,图像的显示等。几个主要的ioctl 函数的简介:

  1)ioctl(fd,VIDIOC_S_FMT, &fmt):用于设置图像的格式。

  2)ioctl(fd, VIDIOC_REQBUFS, &req):向内存申请缓冲区,申请的buffer 个数存在count 中。

  3)ioctl(fd, VIDIOC_QUERYBUF, &buf):查询已经分配的V4L2 的视频缓冲区的相关信息, 包括视频缓冲区的使用状态、在内核空间的偏移地址、缓冲区长度等。

  4)ioctl(fd, VIDIOC_QBUF, &buf):放一个空的视频缓冲区到视频缓冲区输入队列中,函数执行成功后,指令的视频缓冲区进入视频输入队列,在启动视频设备拍摄图像时,相应的视频数据被保存到视频输入队列相应的视频缓冲区中。

  5)ioctl(fd, VIDIOC_STREAMON, &type):启动视频采集命令,应用程序调用VIDIOC_STREAMON 启动视频采集命令后,视频设备驱动程序开始采集视频数据,并把采集到的视频数据保存到视频驱动的视频缓冲区中。[page]

  图像采集处理流程图如图2 所示。

基于Linux的视频监控系统构建方法

  图2 图像采集处理流程图

  3.3 网络服务器

  系统采用Boa 服务器。Boa 是一种非常小巧的Web 服务器, 其可执行代码只有大约60 kB 左右。作为一种单任务Web 服务器,Boa 只能依次完成用户的请求,Boa 支持CGI,能够为CGI 程序fork 出一个进程来执行。板上移植该服务器,Boa 服务器默认开机自动运行,配置conf 文件。

  服务器端应用程序使用servfox, servfox-R1_1_3 解压修改Makefile 文件:CC=arm-linux-gcc,编译后得到可执行文件servfox,下载到板上,输入命令chmod +x servfox 为它添加可执行属性。

  客户端程序使用spcawiew, 该程序用于在Linux 主机上对服务器进行监控,无需移植。在Linux 上编译spcaview.由于此软件包依赖与libsdl,所以在安装spcaview 之前,需要安装SDL-1.2.13. 安装spcaview 软件后,在源文件目录上有3 个可执行文件,spcacat :简单图片的抓取工具,不能用于网络监视客户端,Spcaserv:流媒体服务器,Spcaview: 用来纪录数据流,也能用来播放数据,也能作为网络监视客户端用。

  4 监控过程

  4.1 在Linux 操作系统上的监控

  正常启动运行开发板,运行服务器端程序servfox: servfox-d /dev/video0-s 320x240-w 7070。

  在Linux 上运行: 。/spcaview-g-s 320x240-w 10.1.91.230:7070

  其中10.1.91.230 是服务器的IP 地址,这样就可以在PC机上看见USB 摄像头采集进来的数据了。

  系统是装在虚拟机中的fedora 9 linux 系统,可以流畅地观察到摄像头监控区域的情况。

  4.2 Windows 操作系统上的监控

  对于网络监控的客户端,能够跨平台的工具目前只有浏览器,通过浏览器来监控,无论是Linux、Windows、MacOS 或者其他的UNIX 系统,只要有图形界面的浏览器,在桌面环境下都可以对远程的摄像头所“控制”的范围进行监控。

  Mini2440 上已经有Boa 服务器可供使用,Spcaview 中的http-java-applet 文件夹中已经包含了一个可以监控使用的web 页面,将该文件夹复制到Boa 服务器的主文件夹/www 下。

  由于http-java-applet 文件夹内含的WEB 主页面(Index.html)包含了JAVA 控件,所以先在主机上安装JAVA 环境,让浏览器支持JAVA 插件。

  安装好JRE 后, 在浏览器的地址栏上输入服务器地址,即可实现远程监控。

  4.3 远程抓拍

  通过web 表单提交CGI 来运行应用程序。

  通用网关接口(CGI)规范允许Web 服务器执行其他的程序并将它们的输出储存在发送给Web 浏览器的文本、图形和音频中。服务器与CGI 程序的结合能够扩充World WideWeb 的能力。

  CGI 程序可以由C、Perl 或者UNIX Shell 脚本等流行编程语言编写。

  在本设计中,网页上的按钮shoot the picture 提交了一个名为V4L 的CGI 文件v4l.cgi,该文件是用shell 脚本编写的,用于在板上运行已编译好的图像采集程序并对抓拍的图片返回到新打开的网页中进行查看。

  Shell 脚本(v4l.cgi)内容如下:

  #! /bin/sh

  /www/http-java-applet/v4l2

  echo “Content-type: text/html; charset=gb2312”

  echo

  echo “……”

  echo “

  ”< >< src="”1.jpg“">

  exit 0

  5 结束语

  系统采用开源的Linux 系统,降低了开发成本,可以任意裁剪和制定内核,方便移植。与传统PC 机的监控系统相比,本系统具有体积小、成本低、可靠性强等优势。本系统还具有一定的扩展性,可以增加适当的功能扩展来满足用户更高的要求, 如在图像采集端加入设置入侵检测或者报警等控制功能。

关键字:Linux  视频监控  S3C2440A 引用地址:基于S3C2440A设计的视频监控系统

上一篇:基于STM32的半导体激光光源驱动器的设计方案
下一篇:基于ARM的多人对战游戏平台

推荐阅读最新更新时间:2024-03-16 13:31

智能无线视频监控系统运用领域透析
    无线视频监控系统是一种小型远程数字监控系统,与网络摄像机配套使用,可采用有线或无线方式连接网络,易于安装,不需要用户额外配置专用电脑和采集录像等设备。用户可采用手机或电脑作为监控终端设备,可随时随地接收报警信息和查看监控视频。随着发展,无线远程视频监控系统无疑是未来发展方向。本文就无线监控市场应用及技术发展类型进行简单介绍。     智能无线监控行业应用透析     从安防市场研究分析来看,智能无线视频监控目前主要应用在:     小区安全无线视频监控     在我国,小区安防还处于一个应用的初级阶段,存在诸多不足。首先是小区内部和周边公共场所用地的监控问题。在周界和主要出入口安装摄像头,小区内的监控中
[安防电子]
基于S3C2440的嵌入式Linux驱动——MMC/SD子系统解读(二)
本文的内容基于如下硬件和软件平台: 目标平台:TQ2440 CPU:s3c2440 内核版本:3.12.5 基于SD规范4.10,即《SD Specifications Part 1 Physical Layer Simplified Specification Version 4.10》。 在阅读MMC子系统时,一个问题随之就会产生:当我们插入一张SD卡时,系统是如何识别到这张SD卡并将它注册进系统的呢? 这一过程,源于MMC控制器驱动的不懈努力。。。。。。下面,我们从控制器驱动开始,来深入挖掘这一过程。 1. MMC控制器驱动 1.1 MMC控制器入口函数及probe方法 本文以三星的s3c2440上的MMC控制
[单片机]
DS1621在Linux下的IIC接口驱动设计
  IIC总线作为一种申行传输总线,其使用连线少,结构简单,是一种应用广泛的高性能总线方式。而Linux作为一个源代码公开、易于裁剪的操作系统,非常适合于嵌入式系统的应用。Linux操作系统下的嵌入式设备驱动,通过IIC总线,实现ARM与外围模块间的协同工作,有着广泛的应用。    1 IIC总线协议以及选用芯片功能   1.1 IIC总线的特点以及工作协议   IIC串行总线由两根信号线组成:一根双向传输的数据线SDA;另一根是时钟线SCL。IIC总线通过简单的结构即能实现半双工的同步数据传输。   IIC总线采用一主多从的运行机制,在同一时间只能有一台设备作为主设备,总线的运行由主设备控制,主设备控制数据的传送
[嵌入式]
物联网——安防行业的下一个风口?
1.背景   随着互联网尤其是移动互联网的快速发展,以及传感技术的不断突破,使越来越多的人开始讨论物联网,物联网技术也在更多的行业得到应用,对于安防行业来说,物联网是否会成为下一个风口值得期待。   物联网并不是一个陌生的概念,早在2000年,物联网概念就已经被提出,其定义是:通过射频识别、红外传感器、全球定位系统、激光扫描等信息传感设备,按照约定协议,把任何物品通过物联网域名相连接,进行信息交换和通信,从而实现智能化识别、定位、跟踪、监控和管理。   2.物联网在安防行业中的应用   国内安防行业尤其是视频监控领域,经过十几年的发展,已解决“看得见、看得清”问题,正在进入“看
[安防电子]
Linux启动过程中硬件模块的加载
  前言:我觉得我的文章相对来说都是比较浅显的。一些初学者可以看看,对于高手来说,如果你们不吝啬时间的话,希望也能帮我看看,指点一下其中的错误。这也是我到这里来和大家交流的目的。   阅读Linux内核启动代码的直接动力是我想编写RTL8019AS的网卡驱动程序(2.4.18内核只支持了CS8900A)。既然要写驱动,我就想知道它是怎么样被加载的,好奇心驱使我先去搞定这个问题。   拿到2.4.18的软件包,一万多个文件,我不知怎么下手。所幸手头有这么三件工具助我入门:   1,一块移植好linux的开发板,通过它可以看到linux启动过程打印的消息。   2, google,网上关于linux的资料真是太多了!!!   3, W
[嵌入式]
编译s3c2410的linux2.4.18内核
进入内核源码所在的路径/usr/src/linux-2.4中 A)make mrproper //清理内核源代码树,如果是第一次配置内核则可以不运行 //ls .config //验证内核配置文件不存在 B)make menuconfig //配置内核以及内核模块,其实这里的还可以使用 //(1)make config(交互式问答) //(2)cp /etc/config-2.4.20-8 .config(通过复制现有的配置文件而获取) //(3)make oldconfig(通过旧内核生成) //
[单片机]
TE2410移植linux-2.6.14及调试过程总结(2)
今天写总结再来分析一下s3c2410_nand_calc_rate函数,终于知道问题在哪了,之前的打印内容如下: plat- tacls:0 plat- twrph0:3 plat- twrph1:0 tacls:1 twrph0:1 twrph1:1 clkrate:100000000/*注意是8个0,实际就是是HCLK=100MHz*/ #define NS_IN_KHZ 10000000 /*注意是7个0*/ static int s3c2410_nand_calc_rate(int wanted, unsigned long clk, int max) { int result; res
[单片机]
基于MB90092型的视频监控系统的设计与实现
    1 引言 随着监控现场的扩展和探头数量增多,在监控端的图像显示系统中,经常需要接收外部数据并把相关的信息实时地连同图像显示在监控屏幕上,以便使用人员知道该图像信息以何种方式来自何处及与之相关的信息,时间,地区徽标,实时数据显示在屏幕上。但是对于监控人员而言,监控端遭到攻击是一个值得担心的问题,因此,改善技术方案和增强安全性是对目前状况提出的一种迫切要求。监控人员希望所看到的是得到验证的真实图像,无论时间、环境、探头位置、角度和焦距都必须得到保证。在远程监控场合,有关重要部门的监控者往往对于接收图像的实时性和真实性不完全放心,尤其是如果对高科技对象实时监控,那么,当监控者因故临时离开监控台一段时间后,由于不知道
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved