APP下载

基于3G技术的移动监控系统研究与实现

2014-08-25黄如兵姚茂群赵武锋

关键词:用户端IP地址浏览器

黄如兵,姚茂群,赵武锋

(1.杭州师范大学杭州国际服务工程学院,浙江 杭州 311121; 2. 浙江大学信息与电子工程系,浙江 杭州310027)

嵌入式技术及通信网络技术的发展,为视频监控系统开发提供了强大的技术保障,针对偏远地区有线网络布线困难,文[1]提出GPRS/WLAN无线视频监控传输方案,但GPRS窄带宽的数据传输难以实现监控画面的流畅播放.随着第三代移动通信技术(3G)的成熟和3G网络覆盖越来越广泛,设计一种使用便捷的3G可移动监控系统尤为必要[2-3],文[4]中虽采用3G数据传输技术,但使用的是电信发行较少、可分配公网IP地址的3G数据卡,其便于组网和访问,避开了私有网络的组网难题.随着IPv4的日益紧张,联通、移动网络运营商目前发行的3G数据卡仅为其分配私有IP地址[5],不能由外网通过IP地址实现直接访问,所以传统的方案无法将其作为服务端提供服务.本文基于虚拟专用网络VPN(virtual private network)技术[6]建立的虚拟专用网络,通过VPN服务器的隧道技术能够实现对3G终端的安全访问,解决其无法作为服务端提供服务的问题.

为进一步缩减开发周期,本文采用 B/S架构的嵌入式移动监控系统结构[7],用户使用浏览器或已有的客户端软件,即可对现场进行远程监控.移动监控系统的监控前端是基于S3C2440、Linux的嵌入式监控系统,嵌入式web服务器boa[8]与开源视频服务器Mjpg-streamer 实现视频远程传输和服务器登录,监控用户端则采用火狐浏览器或者开源播放器VLC进行实时监控.

1 移动监控系统设计

1.1 系统总体结构

移动监控系统由监控前端、VPN服务器、监控用户端组成,系统总体结构如图1所示.监控前端通过3G网络拨号接入Internet网络,再拨号接入VPN服务器;监控用户端的计算机、智能手机或者PAD通过拨号接入VPN服务器,由此3G监控前端、监控用户端通过VPN服务器的中间作用,处于设定的虚拟局域网之中.此时用户终端可以利用浏览器或者VLC根据设定的IP地址来实现对监控前端的访问.只要在3G信号覆盖区域内即可正常提供视频的采集、压缩、传输及视频流服务器的功能.

1.2 监控前端设计

监控前端设计如图2所示,嵌入式微处理器采用S3C2440芯片,基于ARM920T内核,采用AMBA(Advanced Micro controller Bus Architecture)总线架构,时钟频率400 HZ.监控前端结构中SDRAM用于代码运行,NANDFLASH 作为系统的存储单元,SDCard进行图片数据存储,JTAG用于Uboot文件烧写,UART进行终端运行信息的打印,USBhost1外接采用中星微ZC301摄像头的视频采集模块,USBhost2外接网络模块,其使用的是WCDMA联通3G网络的华为E1750上网卡.在视频监控前端搭建嵌入式环境,移植Uboot、Linux内核、yaffs文件系统,交叉编译SDL及JPGLIB库并移植优化Mjpg-streamer及web服务器至开发板提供视频服务.

图1 移动监控系统结构

图2 3G监控前端内部结构

2 网络架构平台实现

2.1 3G的VPN接入技术

3G是支持高速数据传输的新一代蜂窝移动通讯技术,具有较高的数据传输速率,适合视频流、图像、音乐等多种媒体数据的传输.3G存在4种标准:CDMA2000,WCDMA,TD-SCDMA,WiMAX.中国国内支持国际电信联盟确定的3个无线接口标准:中国电信的CDMA2000,中国移动的TD-SCDMA和中国联通的WCDMA.本文的通信网络组建中,主要考虑3G网络覆盖率和传输速率两方面,基于WCDMA的高速上行、下行可达5.76、7.2 Mbps的传输速率,为移动监控系统的数据传输提供了保障[9].

VPN是在开放的公用网络上建立专用网的一种技术,通过采用隧道技术、加解密技术、认证技术、密钥管理技术以及访问控制技术在公网上建立一个临时、安全的连接[6].它可在位于不同地方的两个或多个局域网之间建立一条专有的通讯线路,但并不需要真正地去铺设光缆之类的物理线路.VPN实现协议有多种方式,本系统采用L2TP(Layer 2 Tunneling Protocol)及IPSec(Internet Protocol Security)协议的VPN技术.VPN服务器采用Windows Server 2003操作系统,启用服务器的远程和接入服务,并配置相应接入账号及接入权限,为VPN服务器安装证书进行认证,以确认客户端的合法身份.同VPN服务器一样,VPN客户端也要安装计算机证书,并在客户端上创建VPN连接,由“网上邻居”里“新建连接向导”按步骤创建客户端.监控前端嵌入式客户端移植前,需先在Linux内核中添加PPP内核驱动,由L2TP命令完成到VPN服务器的连接请求,认证通过后与服务器建立VPN,多个客户端和中心VPN服务器建立连接后,使得服务器和多个客户端设备处于同一网络中.由此3G通信终端与中心VPN服务器建立了安全可靠的通道,各客户端之间实现穿越网关的互联,任意通信双方的数据在安全的环境下进行传输.

2.2 3G的拨号入网及VPN实现

图3 基于VPN技术接入3G终端的通信网络架构

3G拨号的实现首先需要在Linux2.6.30操作系统内核/drivers/usb/serial/option.c驱动文件中添加相应3G网卡的驱动,在内核配置中将PPP、USB Serial Converter support 编译进内核,并编写相应的PPP拨号脚本和配置文件,即可实现拨号接入Internet并可进行网络数据传输[10].接入Internet网络后再进行L2TP拨号接入VPN服务器.图3为构建的基于VPN技术接入3G终端的通信网络架构图,图中计算机S(server)为中心VPN服务器,M1(mointor1)、M2(mointor2)为3G拨号的监控前端,U1(user1)为有线局域网计算机用户端,U2(user2)为3G手机用户端.M1、M2、U1、U2和S建立VPN连接前,四者的IP地址均为私有动态IP地址,所以无法作为服务端被访问.当通信网络建立后,基于S计算机VPN服务器可实现M1、M2、U1、U2相互访问连接,即可通过U1、U2随时访问监控前端的M1、M2监控设备.

表1 实验室环境下网络构架的服务器及各终端IP地址

VPN网络里面的设备或者服务器都具有两个IP地址,一个是原先联网获得的IP地址,例如在监控系统调试阶段,服务器IP地址39.187.160.155 是对外的公网IP 地址,笔者规划的VPN 网络段地址范围为192.168.1.1~192.168.1.100,通过服务器和客户端的配置,分别为M1、M2、U1、U2设置相应拨号验证用户并绑定如表1中所示的虚拟子网IP地址.VPN 服务器内网将占用192.168.1.1 的IP地址,当M1、M2、U1、U2设备通过内置的VPN服务利用已绑定IP地址的账号与VPN服务器建立虚拟连接,就好像设备有两块网卡一样,M1、M2、U1、U2分别建立和服务器直接连接的网络,并获得分配的虚拟专用局域网子IP地址.如在本通信网络架构中给M1 、M2 、U1、U2虚拟链接分别分配192.168.1.2、 192.168.1.3、192.168.1.4、192.168.1.5的IP地址,这样VPN服务器S、监控前端M1及M2、监控用户端U1及U2五者就可以通过虚拟IP地址192.168.1.1~192.168.1.5进行设备之间的相互连接和访问.

3 移动监控系统软件设计

移动监控系统软件流程如图4所示.首先进行设备初始化,运行输入、输出函数时,分别创建视频采集、压缩线程和输出服务线程.视频采集压缩线程对采集的帧数据编码为JPEG文件,捕获并将处理后的视频数据置于全局变量的缓冲区等待输出服务线程的读取和传送.输出服务线程包括并发服务器线程和客户端处理线程,服务线程监听到客户端请求后便创建一个新的客户端线程处理客户端的HTTP请求,服务器可以不断地从全局缓冲区中取出JPEG数据给用户端浏览器.

3.1 视频采集与压缩

V4L2(Vedio For Linux Two)是Linux中视音频设备的内核驱动,它是linux内核提供给用户空间的编程接口.基于V4L2编程主要通过调用ioctl控制函数实现视频采集:

fd = open (“/dev/video0”,O_RDWR)打开视频设备,获得视频设备描述符;

ioctl( fd, VIDIOC_QUERYCAP, &capbility)查询视频设备的性能属性;

ioctl( fd, VIDIOC_S_FMT, &fmt)设置视频帧格式,设定帧类型像素大小等格式;

ioctl( fd, VIDIOC_REQBUFS, &reqbuf)向驱动申请帧缓冲,以保存采集的帧数据;

mmap( NULL, buf.length, PROT_READ |PROT_WRITE, MAP_SHARED, fd, buf.m.offset)将申请到的帧缓冲映射到用户空间,用户应用程序可直接读取采集到的帧数据;

ioctl( fd, VIDIOC_QBUF, &buf)将申请的帧缓冲全部入队列,存放采集到的数据;

ioctl( fd, VIDIOC_STREAMON, &type)开始视频的采集;

ioctl( fd, VIDIOC_DQBUF, &buf)出队列取得采集数据;

ioctl( fd, VIDIOC_QBUF, &buf)将缓冲重新入队列尾,这样可以循环采集;

ioctl( fd, VIDIOC_STREAMOFF, &type)停止视频的采集;

close( fd )关闭视频设备.

图像编码采用有损编码的JPEG压缩方式,通过变换、量化、编码3个阶段完成视频图像的压缩编码.程序设计中增加了通过HTTP协议传输视频图像的功能,使得在合适的时候可以选择用IE、Firefox等常用网页浏览器获取监控信息.

3.2 视频传输

TCP/IP协议网络模型是OSI七层模型的简化,可划分为应用层、传输层、网络层、网络接口层.移动监控系统中使用的应用层协议是HTTP协议,传输层协议是TCP协议,网络数据传输采用Socket通信编程实现.HTTP协议规定了服务器和浏览器之间的通信规则以及传输数据格式,通过HTTP协议,运行于不同主机、不同操作系统的客户端浏览器可以与web服务器进行数据的交互.HTTP 协议通信方式是请求/应答模式.通信步骤为:1)建立TCP连接;2)浏览器向服务器发送请求命令;3)服务器响应浏览器的请求并发送数据;4)关闭TCP连接.监控系统的视频数据是通过建立Socket套接字来实现用户端和监控前端的传输的,基于TCP协议作为传输层协议的Socket创建以及通信连接如图5所示.

图4 监控系统软件设计流程

图5 基于TCP协议Socket套接字编程基本步骤

4 系统运行测试

4.1 3G网络VPN组网架构的响应性能

如图3所示,由ping操作进行网络连接通断及响应速度的检测,S接入ADSL拨号网络,U1为实验室局域网中的用户机,U2端接入TD-SCDMA标准的3G网络,移动监控前端M1、M2拨号接入WCDMA标准的3G网络.通过向目标主机发送要求数据包,并等待接收目标主机回应数据包,通过数据包往返时间估算网络的响应速度.节点之间进行多次ping操作并记录其平均耗时,测试网络的响应性能,实验结果如表2所示.

由表2可知:1)用户端及监控端进行ping虚拟IP地址操作,均能获得数据包的往返时间,说明网络连接畅通,此组网架构可实现不同局域网间的互联访问.2) M1建立隧道前ping服务器S公网IP地址响应时间为90 ms,M1建立隧道后ping服务器S虚拟IP地址响应时间为94 ms,说明数据包封装的报头对数据传输没有明显的延时影响,此组网架构可适用于移动监控系统.

表2 响应时间

4.2 用户端监控运行测试

移动监控前端3G拨号接入系统后,其上行下行速率理论值最高可达5.76、7.2 Mbps,在实验环境下测得其平均上传速率为920 Kbps.当采集的像素格式为320×240的12位YUV420图像经压缩比约为20∶1的编码后,每帧大小约为(320×240×12)/20≈46 Kb.根据多次实验数据分析,当系统采集像素格式设定为320×240,帧率为10 f/s时,系统运行稳定,同时网络带宽仍有较大富余,根据需要可进一步提高图像分辨率和帧率;监控前端在户外移动监测时,实时性高,运行稳定.图6、图7分别为用户端在VLC和Firefox浏览器监控测试效果.

图6 用户端VLC监控测试

图7 用户端Firefox浏览器监控测试

5 结 语

基于VPN接入3G终端的技术具有明显的优势,组建庞大的监控网络,仅需一个公网IP地址即可,大大节约IP地址,能有效解决运营商私有网络的3G终端产品无法相互访问的问题,通过隧道技术即可实现各端的安全互访,此方案同样适用于远程控制、远程办公及资料共享等.设计的基于VPN网络构架的移动监控系统,通过对系统的视频采集程序、数据编码及传输程序的设计及优化,具有开销较小、使用便捷、访问安全、通用性极强的特点.用户端可不受地域及时间限制,远程通过手持终端、计算机打开浏览器即可进行实时监控.该系统可广泛应用于安防监控、探测救灾、交通监管以及为车辆、轮船等移动设备提供监控服务.

[1]胡栋,刘峰,朱秀昌.实时多模式无线视频传输原型系统的实现[J].通信学报,2006,27(10):106-112.

[2]崔萍,张岩.基于WCDMA与宽带网融合的行业应用实现[J].通信技术,2011,44(8):58-59.

[3]Faccin S M, Lalwaney P, Patil B. IP multimedia services: analysis of mobile IP and SIP interactions in 3G networks[J]. Communications Magazine,IEEE,2004,42(1):113-120.

[4]夏雪,丘耘,胡林,等.基于3G和DDNS的果园环境远程监控系统[J].自动化与仪表,2013,28(8):18-21.

[5]张逸,杨洪耕,叶茂清,等.3G技术在电能质量监测系统中的应用[J].电力系统保护与控制,2012,40(17):139-144.

[6]李德水.IPSec VPN机制研究[J].现代电子技术,2010,312(1):81-83.

[7]孙鹤旭,邵岩,邢关生,等.移动机器人网络的嵌入式Web系统设计[J].计算机工程,2013,39(9):134-136.

[8]唐永彬,杨恢东.基于ARM11的嵌入式Web网络监控系统设计[J].电视技术,2011,35(9):122-124.

[9]李潺,郭志涛,李伟超,等.基于Hi3515嵌入式系统的无线车载监控系统的设计[J].计算机应用与软件,2012,29(9):294-296.

[10]陈曾海.基于嵌入式Linux的3G-WiFi路由器研究与设计[D].北京:北京邮电大学,2011.

猜你喜欢

用户端IP地址浏览器
Android用户端东北地区秸秆焚烧点监测系统开发与应用
铁路远动系统几种组网方式IP地址的申请和设置
反浏览器指纹追踪
IP地址切换器(IPCFG)
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
一种太阳能户外自动花架电气系统简介
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
环球浏览器