无线Mesh网视频监控系统的研究与开发
扫描二维码
随时随地手机看文章
摘 要 结合无线网络视频监控的新要求,深入分析了无线网状网的网状拓扑、多跳链路、动态路由协议等关键技术和发展现状。将无线自组织网络按需距离矢量路由协议(AODV)应用到嵌入式Linux平台上,并在该平台上提出了利用多个单独视频终端节点构建基于无线Mesh网络技术的视频监控网络应用方案。实验证明这种方案是可行的。
关键词 无线Mesh网络 AODV 视频监控 Linux
引 言
近年来,一种新一代无线通信网——无线Mesh网(Wireless Mesh Network,WMN)技术引发业界的重视和研究。由于它具备组网迅速、结构灵活、传输速率大、可靠性强、成本低等突出的优点,适应了市场对网络视频监控的新需求,势必拓宽视频监控的应用范围。本文结合对网络视频监控的需求,深入分析了无线Mesh网络的技术特点,提出了一种利用多个单独视频终端节点构建基于无线Mesh技术的视频监控系统。
1 无线Mesh网络的关键技术
WMN作为移动Ad Hoc网络(MANET)的一种特殊形态,融合了WLAN和Ad Hoc网络优点,成为一种新型宽带无线网络。与传统无线网络技术相比,WMN的以下几大关键技术更加适应网络视频监控的发展需要。
(1)网状拓扑
WMN采用类似Internet的网状拓扑,包含了无线Mesh路由器和无线Mesh客户端两类基本设备,即骨干网Mesh结构和客户端Mesh结构。前者由无线路由器构成Mesh骨干网,提供一个大面积、高可靠性的覆盖区域,无线客户端通过路由器接入骨干网实现业务功能。后者通过在无线客户端集成路由和配置功能,由多个客户端直接构成WMN。无论采用哪种结构,一个节点的数据都可通过相邻多个具有路由功能的节点到达目标节点,局部网络的可靠性不受单一节点制约。网络负载分散在多个节点实现,有效减少了节点的功耗,使采用便携式电源成为可能。上述特点使得WMN的骨干网和客户端同时具备了良好的移动性,成为真正意义上的无线网络。本文采用多个Mesh终端节点来组建无线Mesh网络,无需其他路由器。
(2)多跳链路
WMN的每个节点和邻近节点互联,形成多跳链路(multi—hop),通过增加源节点和目标节点间的路径数量来提高网络带宽。多跳链路缩短了每个单跳的距离,一方面降低了信号衰减及外界干扰导致的误码和丢包;另一方面用低功率信号传输,减小不同路径之间的信号互扰,提高了带宽利用率和信道质量。不同路径间的信号互扰较小,当使用定向天线时,同一频段几乎可在WMN中无限制复用,提高了频谱利用率。因此,WMN与WLAN等单跳网络相比,更易于实现宽带视频监控等应用。
(3)动态路由协议
网络节点的移动性使WMN的拓扑结构处于动态变化中,使有线网上的距离矢量协议和链路状态协议无法应用,只能用Ad Hoc网络的协议。其驱动方式分表驱动路由协议和源启动按需路由协议。前者在网络中每个节点都维持一个到其他节点的相对稳定的最新路由表,通过在网络内广播路由更新信息反映网络拓扑的变化,包括DSDV(目的序列距离矢量路由协议)和WRP(无线路由协议);后者只有当节点需要时才建立并仅在通信过程中维持路由,通信完毕后路由自动拆除,通过不断地发现路由、维持路由和拆除路由来适应拓扑的动态变化,主要包括DSR(动态源路由协议)和AODV(Ad Hoc按需距离矢量路由协议)。已有仿真表明,基于DSR路由协议的WMN在相同负载条件下,与PMP星形网络相比具有更大的吞吐量和更小的延时,能适应传输监控视频的需求。AODV协议以DSDV为基础,采用DSR中的按需路由思想进行改进。
(4)双工多址接入和分组交换技术
WMN的多跳链路要求节点应具有中继和转发功能,要采用双工通信实现数据的双向传输。此外,考虑到WMN中的非对称业务传输占主流,采用TDD(时分双工)方式和基于OFDM的多址技术OFDMA,能够充分利用WMN的特点。WMN承载了包括宽带IP接入、视频点播、网络会议在内的多种具有较高QoS要求的业务,通常在网络层使用分组交换实现。
2 基于WMN的嵌入式视频监控系统
考虑到业务功能的灵活性,本文实现一种较为通用的视频监控网络平台,采用图1所示的由单个Mesh终端节点结构搭建WMN。它由多个具有路由功能的无线终端节点互联构成Mesh网,在各点接人范围内分布有多个视频监控终端,完成现场视频采集和压缩,并将视频流经最近的AP传输到与监控主机相连的目标节点;监控主机汇集了所有监控终端的视频流,进行解压、处理和同步播放,同时实现本地存储或通过Internet完成视频转发。[!--empirenews.page--]
2.1 硬件结构
视频监控终端(客户端)硬件结构如图2所示。考虑到监控终端对视频压缩能力、无线移动特性和低功耗的要求,采用华恒公司的专用Freescale处理器iMx21作为主控芯片。它集成了支持H.264标准的硬件编解码器和ARM9核,功耗仅为200 mW。复合视频信号经SAA7113的模拟端子输入,经过模数转换、滤波和缩放后,生成BT.656格式的视频,输出到iMx21。它对视频进行H.264格式的压缩编码,将数据流经USB控制器扩展的USB2.O接口输出到VT6656模块。VT6656模块包含一个集成了MAC和基带处理器的芯片和一个集成了功率放大器和天线的芯片,支持IEEE 802.11b/g无线传输。
2.2 软件结构
视频监控终端软件框图如图3所示。
(1)Linux操作系统
Linux操作系统采用成熟稳定的2.6.23内核。配置时根据硬件资源选择Flash和SRAM的大小,在网络子项中选择对TCP/IP和IEEE 802.1l协议的支持,同时去除不支持的选项以缩减内核体积,执行编译后得到Linux的内核映像文件。
(2)底层设备驱动
Linux操作系统通过调用驱动程序的接口函数实现硬件访问请求。SAA7113和VT6656的驱动程序分别控制相应芯片完成视频采集,USB接口控制和网络传输控制功能,采用中断触发/响应机制协调工作。
(3)上层应用程序
应用程序包括视频采集、视频压缩、网络传输和网络访问控制模块。监控终端通过网络访问控制程序接收来自主机的控制命令,并同步更新至配置文件保存。为保证指令的可靠传输,采用面向连接的TCP/IP协议在主机和终端间建立一个端到端的虚拟连接,并通过套接字编程实现。视频采集程序负责启动SAA7113的视频采集和模数转换,产生BT.656格式的视频数据。视频压缩程序根据配置文件设定视频压缩格式(D1/VGA/CIF/QVGA/QCIF)、编码方式(CAVLC/CABAC)、码流(CBR/VBR)和码率(最大10 Mb/s),以此为参数调用QPixe|提供的API,完成H.264视频压缩。网络传输程序完成数据包的封装,再经AR5005传送到邻近的无线AP。为保证视频流的实时性,采用UDP/IP和RTP/RTCP协议对压缩数据进行封装,使用IEEE 802.11b标准(最大ll Mb/s的数据传输率,室外500 m的通信距离)完成数据包的无线传输。[!--empirenews.page--]
(4)AODV在嵌入式Linux下的设计
AODV程序从逻辑上可分为两个部分:系统接口和AODV算法模块。
系统接口部分的主要功能是用Linux系统提供的各种接口,为实现AODV路由协议,提供所需的各种信息和服务。本文AODV程序用到的系统接口主要包括可加载模块的管理、网络过滤器Netfilter的使用、路由线程的产生、内核路由表的修改,及定时器机制等。这部分是AODV程序与Linux系统交互的主要途径。
如图4所示,网络过滤器由处于Linux协议栈不同点上的5个钩子(hook)组成。它允许用户定义内核可加载模块,来寄存回调函数在hook点上。回调函数属于内核可加载模块的一部分,流经hook点的数据分组将执行回调函数定义的操作。在AODV协议的实现方案中,利用了3个hook点,分另0是NF_IP_LOCAL_OUT、NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING。在hook点NF_IP_LOCAL_OUT上,可以对所有本地输出的数据分组进行处理;在hook点NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING上,分别对从其他节点来、到其他节点去的数据分组进行处理。
AODV算法模块主要是执行AODV协议逻辑。该算法模块的目标是根据通信的需求建立正确的路由,通过接收和处理AODV控制分组,来建立或改变路由。总的来说包括以下几个模块:路由建立、路由表记录、链路检测和路由维护。
如图5所示,后台进程aodvd实现的是路由功能模块,即路由算法。它作为后台进程在用户空间执行,负责与其他节点进行信息交互,建立并维护路由。kaodv.ko是一个内核可加载模块。在kaodv.ko中定义回调函数,并将回调函数分别寄存在网络过滤器的NF_IP_LOCAL_0UT、NF_IP_PRE_ROUTING和NF_IP_POST_ROUTING三个hook点上。本地输出的数据分组发往网络接口前,在决定其路由时,如果内核路由表中存在与数据分组目的地址匹配的路由,数据分组就被投递到相应的网络接口;若不存在,就会被寄存在hook点NF_IP_LOCAL_OUT上的回调函数处理,通过raw socket将数据分组送往用户空间的数据分组缓冲区进行排队。同时,后台进程aodvd启动路由查找功能。若查找到与被缓存的数据分组报头目的地址匹配的路由,就将缓存在用户空间的数据分组通过raw socket重新注入内核;如果路由未被发现,则缓存的数据分组将被丢弃,并释放它使用的内存空间。每个进入和离开本地节点的数据分组在流经hook点NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING时,将被相应的回调函数检查,记录每条路由的使用时间,并通过netlink socket将路由表的使用状况发往用户空间,告知后台进程aodvd内核路由表的使用状况。后台进程aodvd据此重置路由缓冲表的定时器。同时,后台进程aodvd通过netlink socket删除内核路由表中过时的路由条目,或添加新的路由。在后台进程建立路由时,通过654号端口、UDPsocket.发送RREQ、RREP等控制分组。
2.3 系统测试
监控主机通过IEEE 802.11h/g标准的无线网卡接入Mesh骨干网,从具有固定IP的监控终端获取H.264格式的视频流,采用笔者开发的客户端解码播放软件完成终端设置、视频解码和实时播放,借助压缩效率极高的H.264编码,系统在主机端支持最大720×480(D1)、30帧/s(NTSC)的视频格式。
结 语
新一代的无线Mesh网络利用网状拓扑,多跳链路和先进的路由协议,通过融合IEEE 802.11a/b/g等无线通信技术,可实现组网。其优点是:组网迅速,结构灵活,传输率高,移动性好,可靠性强,成本低,可极大拓宽网络视频监控的应用范围。随着无线Mesh技术的发展和国际标准的建立,其独特的优势必将在包括视频监控在内的多种领域发挥重要作用。
无线Mesh网络下的视频监控系统,目前除了几个国外厂家做出产品外,国内在这方面还处于起步研发阶段。笔者在标准尚未制定的情况下,根据无线Ad Hoc网络的路由协议特点,在嵌入式平台下实现了一个简单实用的无线网状网络下的视频监控系统。该视频监控系统可以和外网连接,实现真正意义上的无缝连接。实验系统传输距离在无线网状网内室外条件下可以达到500 m左右。