admin管理员组

文章数量:1535872


2024年6月1日发(作者:)

龙源期刊网

基于ARM的无线网络视频监控系统设计与

实现

作者:邹翰 刘昌华

来源:《软件导刊》2016年第03期

摘 要:利用ARM cortex-A8开发一个无线网络视频监控系统。采用系统采用B/S架构,

用WiFi网络传输视频数据,由Web视频服务器、无线传输模块和远程监控终端3部分组成。

探讨Web视频服务器的软硬件设计,包括服务器硬件平台搭建、Linux系统移植部署、MJPG-

streamer移植及WiFi网络构建。测试结果表明,系统运行稳定,实时性较高,可实现多终端

同时监控,采集到的图像清晰流畅,无明显失真,视频监控效果良好。

关键词:B/S架构;ARM cortex-A8;视频监控;WiFi;MJPG-streamer

中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2016)003-0063-03

作者简介:邹翰(1991-),男,湖北荆州人,武汉轻工大学数学与计算机学院硕士研究

生,研究方向为嵌入式技术;刘昌华(1963-),男,湖北武汉人,武汉轻工大学数学与计算

机学院副教授、硕士生导师,研究方向为计算机网络及应用、嵌入式FPGA设计。

0 引言

随着平安城市和智能小区建设的快速发展,视频监控技术成为IT领域最热门应用技术之

一。视频监控技术经历了模拟视频监控、数字视频监控和网络视频监控3个阶段[1]。有线网络

视频监控系统[2]存在布线繁琐、监控点固定和在复杂环境下适应性差等问题;3G无线网络视

频监控系统[3]由于受网络成本和通信速度的限制,应用范围并不广泛;WiFi网络技术具有使

用成本低、传输速率高及网络构建简单的优点,更加符合市场需要。结合嵌入式技术可靠性

高、成本低、体积小和实时性强等特点,基于ARM的无线视频监控系统具有广泛的应用前

景。本文提出一种基于WiFi无线网络的视频监控系统。

1 系统概述

该无线视频监控系统整体结构如图1所示,由USB摄像头采集视频图像,经搭载有Web

视频服务器的ARM平台进行压缩编码并传输到网络,各终端再通过无线网络接收,并在Web

浏览器中显示。其中,ARM平台Web视频服务器构建使用MJPG-streamer开源软件,采用多

线程模式,支持多用户监控。网络通信采用WiFi通信技术,支持WiFi无线网络的移动终端和

PC机均可作为视频监控设备。

2 硬件设计

龙源期刊网

2.1 系统硬件主体设计

该系统硬件主体结构如图 2 所示,主要由 ARM cortex-A8处理器 S5PV210、SDRAM、

NAND Flash、RTC电路、复位电路、WiFi模块和USB摄像头构成,智能手机和PC机浏览器

构成系统监控平台。

2.2 S5PV210处理器

该无线视频监控系统采用三星公司SP5PV210处理器,该处理器采用ARM cortex-A8内

核,ARM V7指令集,主频可达1GHZ,核心板配1GB内存和1GB NANDFlash。微处理器性

能稳定、功能强大且支持多种操作系统,可以适应处理能力要求较高的应用。

2.3 USB摄像头

摄像头选用C270罗技720p高清摄像头,该产品采用CMOS成像元件来捕获画面,最高

速度可达30 f /s,支持USB2.0接口。该USB摄像头属于免驱动摄像头,是一种支持UVC

(USB Video Class,视频设备类)标准协议的摄像头,将这种摄像头连接到支持该标准的操作

系统上,系统会自动为其配置、安装驱动。

2.4 WiFi模块

WiFi(Wireless Fidelity,802.11b标准)是一种能够将个人电脑、手持设备等终端以无线

方式互相连接的技术。它传输速率较高,最高可达11Mbps,有效距离也较长,在信号较弱或

不稳定的情况下,带宽可自动调整为5.5Mbps、2Mbps和1Mbps,这有效地保障了网络的可靠

性[4]。该系统WiFi模块选择了迅捷(FAST)FW150US 无线网卡,该网卡内部使用rtl8188eu

芯片,支持USB接口。此芯片的Linux驱动由厂商提供,安装、使用十分方便,可以满足系

统设计需求。

3 软件设计

3.1 软件主体结构

Web视频服务器软件主体结构如图3所示。包括Linux操作系统、内核驱动程序和应用程

序3个部分。其中本系统所使用的USB摄像头和WiFi模块的驱动程序已经集成在Linux内核

中,在编译内核时进行相应配置和选择,就可以实现对这两个模块的支持。

3.2 Linux操作系统移植

Linux操作系统移植主要包括Uboot移植、Linux内核配置和根文件系统制作3个部分。系

统使用Linux发行版Ubuntu12.04作为软件开发平台,采用交叉编译方式,交叉编译器版本为

arm-linux-gcc_4.4.6。

龙源期刊网

(1)Uboot移植。Uboot ( Universal Boot Loader,通用引导装载程序) 遵循GPL公约,

支持ARM处理器和Linux,具有较高的可靠性和稳定性[5],是Linux内核执行之前的一段初

始化程序。将Uboot移植到S5PV210硬件平台上,主要根据平台修改硬件初始化代码并添加

S5PV210及其硬件平台构架相关头文件,在这些文件中指定Uboot内核、文件系统镜像等在

NANDFlash中的地址和加载到SDRAM中的地址,还包括CPU和硬件平台相关的宏定义等。

将移植好的Uboot烧写到NANDFlash中,启动后配置环境变量,确定Linux系统的启动方

式。

(2)Linux内核配置、编译及下载。本系统选用Linux2.6.35.7版本的内核,编译内核采

用menuconfig图形化配置方式。进入内核源码所在目录。执行make menuconfig命令,通过菜

单选项对Linux的功能进行选择和配置,选中这些项Device Drivers下的如下项:Multimedia

support;Video For Linux [*] Video capture adapters;[*]V4L USB devices; USB Video Class

(UVC) [*]UVC input events device support。保存退出,执行make zImage命令,生成内核镜

像文件zImage。根文件系统采用busybox开源软件制作,制作完成后,使用NFS将其挂载到

开发板上,方便后续系统调式。

3.3 MJPG-streamer开源程序移植

MJPG-streamer是一款开源的视频流应用软件,采用USB摄像头内部的硬件压缩功能处理

图像,使CPU的负荷大大减少,特别适用于嵌入式系统[6]。该软件使用的V4L2接口(Video

for Linux two)是Linux操作系统下用于采集图像、视频和音频数据的API接口,用于从USB

摄像头采集图像[7]。在Linux系统中,一切皆文件,外接设备也可以看成是一种设备文件,

V4L2驱动所支持的USB摄像头设备文件是/dev/v4l/video0。MJPG-streamer通过USB摄像头进

行视频数据采集,通过HTTP或者文件方式访问UVC摄像头。MJPG-streamer将USB摄像头

采集到的图像存入 pglobal->buffer 缓冲区中,监控终端通过浏览器向Web视频服务器发出请

求,服务器响应请求,连续地将pglobal->buffer缓冲区中的图像发送给请求者,从而产生视频

流。MJPG-streamer编译后生成动态库文件 input_、output_ 、output _和

www文件夹,将其拷贝到根文件系统中。其中,input_ 模块负责将从USB摄像头中获

取的视频数据输出到output_和output_ 两个模块中,output_将JPEG图片存

储到指定文件夹中,监控终端通过浏览器以HTTP的方式访问视频和图像数据。执

行./mjpg_streamer -i "./input_ -r 640 × 480 -d 500" -o "./output_ -w www",即启

动Web视频服务器程序。其中,-i指定输入插件,-r表示每帧图像大小,-d表示发送频率,-o

指定输出模块,-w www表示帧图像输出文件目录为www。

3.4 WiFi模块程序

(1)网卡驱动程序。rtl8188eu驱动代码开源[8],进入驱动源码目录cd

8188eu_USB_linux/driver/rtl8188eu,修改Makefile,指定系统平台、编译器、内核源码目录,

具体如下:CONFIG_PLATFORM_I386_PC = n;CONFIG_PLATFORM_ARM_S3C2K4 = y;

KSRC = /opt/kernel。执行make 编译生成内核模块,将其拷贝到开发板执行insmod

龙源期刊网

,加载到Linux内核中。加载成功后,执行ifconfig wlan0,串口终端会显示无线网卡

对应的MAC地址等信息。

(2)AP模式。无线网卡的AP模式,就是无线网卡发射一个无线WiFi信号即产生一个

热点供其它设备连接。本系统使WiFi模块在AP模式下使用hostapd,这是一个开源应用软

件,能将无线网卡切换到master模式,模拟AP功能。具体流程如下:解压在驱动程序目录中

提供的hostapd源码,进入hostapd源码目录。make编译得到hostapd可执行程序,将其拷贝到

开发板。应用运行时需要依赖配置文件rtl_hostapd_,可以参考源码目录中配置文件修

改,interface=wlan0 指定网络设备,ssid=zouhan指定热点名称,wpa_passphrase=12345678指

定热点密码。运行./hostapd /etc/rtl_hostapd_ -B,hostapd程序启动。此时终端设备可以

搜到热点zouhan,连接时会停留在“正在获取IP……”,原因是没有给客户端分配IP地址。

(3)动态分配IP给客户端。使用dnsmasq工具动态分配IP给客户端,它提供了DNS

(Domain Name System,域名系统)功能和可选择的DHCP(Dynamic Host Configuration

Protocol,动态主机配置协议)功能,使DHCP分配的地址能在DNS中正常解析,从而使

DHCP分配的地址和相关命令可以配置到每台设备中。dnsmasq支持静态和动态两种DHCP配

置方式,本系统使用动态方式分配IP。具体方法如下:make编译后将src目录下生成可执行程

序dnsmasq拷贝到开发板。该可执行程序运行时需要依赖配置文件,可以参考源

码目录下的e对其作如下修改:listen-address=192.168.1.1,127.0.0.1指定

服务监听的网络接口地址,domain=指定绑定的域名,dhcp-range= 192.168.1.1,

192.168.1.150,255.255 .255.0,12h指定动态分配IP地址的范围。执行./dnsmasq -C

/etc/,终端设备显示已连接或者受限制,表示已经连接上热点。

4 系统测试

完成Linux系统搭建后,将编译好的程序挂载在开发板上,将启动MJPG-steamers和WiFi

模块程序的命令添加到Linux启动配置文件/etc /init.d/rcS中,使得系统启动即可运行Web视频

服务器并产生热点。用手机或笔记本连接系统产生的热点,连接成功后再通过Web浏览器输

入视频服务的域名或IP地址(192.168.1.1),即可查看Web视频服务器发回的

图像。用top命令显示Web视频服务器资源占用情况,得出进程mjpg-streamer的CPU占用率

为6%左右,内存占用率为25%左右。观察监控效果,各监控终端显示的视频图像无明显失真

和抖动,画质清晰流畅,实时性较高,总体来说视频监控效果良好。

5 结语

本文主要介绍了结合ARM嵌入式技术和WiFi无线网络技术实现的无线网络视频监控系

统。系统利用S5PV210处理器为核心的ARM平台和开源的MJPG-streamer软件完成Web视频

服务器构建,通过WiFi网络实现视频数据传输。由于系统基于B/S架构软件模式,使得客户

端得到了统一,通过浏览器,多用户可以同时进行远程视频监控。本系统具有高实时性,成本

龙源期刊网

低,体积小,以及运行稳定、可靠等特点。此外,系统使用的无线视频监控平台方便了远程操

控,在该平台基础上还可以扩展其它应用功能,具有一定的实用性和市场价值。

参考文献:

[1] 朱长坡.浅析网络监控应用发展[J].数字技术与应用,2010(6):172.

[2] 张跃进,谢昕.嵌入式网络数字视频监控系统的设计[J].计算机工程与设计,2009,30

(4) : 805-807.

[3] 李波,卢文科,朱文超.基于3G和H.264的无线视频监控系统的设计[J].微计算机信

息,2011,27(5):78-80.

[4] 马超俊,一种基于ARM的WiFi无线运动监控系统设计[J].电子测试,2014(7):4-8.

[5] 郑国玲,李辉,武维.基于 S3C2410 的U-Boot的移植方法研究[J].计算机工程与设计,

2009,30( 24):5643-5645.

[6] 任克强,刘苏,谢斌,基于ARM11和Linux的网络视频监控系统[J].电视技术,

2014,38(5):15-19.

[7] 屈执勤,吕杨,基于ARM Linux的图像采集与蓝牙传输[J].单片机与嵌入式系统应用,

2007(8): 28-30.

[8] 无线网卡驱动[EB/OL].http://.

(责任编辑:陈福时)

龙源期刊网


本文标签: 视频系统监控无线技术