当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于ARM嵌入式的视频监控系统的设计

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

1 系统概述

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


图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 启动视频采集命令后,视频设备驱动程序开始采集视频数据,并把采集到的视频数据保存到视频驱动的视频缓冲区中。

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


图2 图像采集处理流程图

[!--empirenews.page--]

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 后, 在浏览器的地址栏上输入服务器地址,即可实现远程监控。

[!--empirenews.page--]

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 “<div class=”img“><img src=”1.jpg“ /></div>”

exit 0

5 结束语

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

慕尼黑2025年9月8日 /美通社/ -- 2025年9月8日德国国际汽车及智慧出行博览会(IAA MOBILITY)于慕尼黑开幕,广汽携旗下五款新能源明星车型亮相,正式发布未来移动出行的"广汽方案"...

关键字: 广汽 IO AI 移动

北京2025年8月19日 /美通社/ -- 美通社(PR Newswire)母公司,全球消费者与媒体情报领军企业Cision今日正式宣布,旗下CisionOne平台连续第二年荣获市场情报权威机构MarTech Break...

关键字: CIS THROUGH TE IO

加州圣地亚哥和北京2025年7月25日 /美通社/ -- CreateAI(OTC:TSPH)今日宣布,公司与枕刀歌动画团队联合出品的《绣春刀》短片在Collision Awards中一举斩获三枚金奖和一枚银奖,与Wal...

关键字: CREATE AI SI IO

完全无人化 —— 定义未来金标标准的100%自动化诊断系统 CURECA™ 将于7月28日至31日在芝加哥首次亮相。 实现全球诊断数据的统 —— 设立大数据平台 S...

关键字: GEN 自动化 无人值守 SE

上海 2025年7月4日 /美通社/ -- 本文阐述了汽车电子架构从分布式向集中化演进的趋势,黑芝麻智能分析了集中化带来的安全隔离、实时性等关键挑战,并指出车用虚拟化技术是实现域控融合的核心解决方案。该技术能...

关键字: 虚拟化技术 ECU 电子电气 IO

深圳 2025年7月3日 /美通社/ -- 2025 年 7 月 2 日,晶泰科技(2228.HK)宣布完成对生成式 AI 蛋白设计赋能抗衰产品与药物研发的技术平台 Fou...

关键字: FOUNDRY MIT 泰科 IO

厦门 2025年7月3日 /美通社/ -- 厦门市华师希平双语学校在三年办学历程中取得积极进展,教育教学工作呈现良好态势。 教育教学稳步推进 中考表现:2024年首届中考总均分在全市表现良好;2025届地...

关键字: BSP 人工智能 AI SE

与英伟达的技术合作致力加速生产制造的数字化转型 舍弗勒全球工厂将通过AI解决方案的应用加速制造工艺的革新,并提升产品质量 舍弗勒凭借数十年在制造领域的技术积累,推动工业元宇宙持续发展 巴黎和赫...

关键字: 数字化 英伟达 SE NI

巴黎和首尔 2025年6月12日 /美通社/ -- 全球AI内容创作先锋SKAI Intelligence今日宣布,将于2025年巴黎VivaTech科技盛会正式发布全球首个完全基于NVIDIA Omniverse构建...

关键字: AI NVIDIA SE RS

新加坡 2025年6月11日 /美通社/ -- 在近日由新加坡资讯通信媒体发展局(IMDA)主办的2025年新加坡亚洲科技大会(ATxSG)核心活动—亚洲科技峰会(ATxS...

关键字: 新加坡 IO 生成式AI ST
关闭