李維,張衛(wèi)強,閆光來
(寧波大學 信息科學與工程學院,浙江 寧波 315211)
WiFi-Mesh網(wǎng)絡視頻監(jiān)控系統(tǒng)的設計
李維,張衛(wèi)強,閆光來
(寧波大學 信息科學與工程學院,浙江 寧波 315211)
針對當前有線視頻監(jiān)控系統(tǒng)在山區(qū)、工業(yè)區(qū)等地區(qū)布線困難,3G無線視頻監(jiān)控系統(tǒng)價格高,WiFi視頻監(jiān)控系統(tǒng)覆蓋范圍小等弊端,結(jié)合WiFi技術和無線Mesh網(wǎng)絡技術的特性,在采用嵌入式Linux操作系統(tǒng)的基礎上,提出一種WiFi-Mesh網(wǎng)絡視頻監(jiān)控系統(tǒng)的設計方案,該系統(tǒng)能彌補傳統(tǒng)視頻監(jiān)控系統(tǒng)的不足。重點闡述了WiFi-Mesh網(wǎng)絡視頻監(jiān)控設計的總體框架和功能,針對WiFi-Mesh網(wǎng)絡視頻監(jiān)控系統(tǒng)的關鍵技術問題進行重點研究,并提出可行的解決方案。實驗結(jié)果表明,監(jiān)控畫面顯示流暢。
視頻監(jiān)控;嵌入式Linux;WiFi-Mesh網(wǎng)絡
隨著經(jīng)濟、文化和科技的發(fā)展,越來越多的無線應用市場需求激發(fā)了無線技術的迅速發(fā)展,同時也促進了無線視頻監(jiān)控系統(tǒng)的發(fā)展。WiFi-Mesh網(wǎng)絡[1]是基于WiFi技術而發(fā)展出來的一種新型的無線城域網(wǎng)解決方案。由于其具有自組網(wǎng)、自修復、自平衡、自動擴展、自管理、高帶寬、覆蓋范圍廣等特點,并且兼容WiFi[2],目前正在世界范圍內(nèi)尤其是歐美等發(fā)達國家掀起應用熱潮。與傳統(tǒng)無線網(wǎng)絡完全不同,WiFi-Mesh大幅降低運營商對網(wǎng)絡部署的復雜程度和成本。
Linux是一種多硬件平臺支持、多任務、通信能力強、可移植裁剪的嵌入式操作系統(tǒng),以其靈活性、移植性強等優(yōu)點被廣泛使用,并在嵌入式領域占據(jù)著一席之地,基于Linux的諸多優(yōu)點,很多硬件逐漸在Linux的平臺上運用起來,這使得嵌入式得到飛速的發(fā)展。與兩者相結(jié)合的WiFi-Mesh網(wǎng)絡視頻監(jiān)控系統(tǒng)具備兩者優(yōu)點,在未來各個行業(yè)中具有廣泛應用前景。
WiFi-Mesh網(wǎng)絡視頻監(jiān)控系統(tǒng)結(jié)構框圖如圖1所示。系統(tǒng)由多個WiFi-Mesh終端路由節(jié)點和客戶端組成。多個WiFi-Mesh終端路由節(jié)點構成WiFi-Mesh網(wǎng)絡,終端路由節(jié)點呈網(wǎng)狀分布,都是采用點對點的方式通過無線WiFi中繼鏈路互聯(lián),將傳統(tǒng)WiFi中的無線“熱點”擴展為大面積覆蓋的無線“熱區(qū)”,并將終端節(jié)點數(shù)據(jù)回傳至有線IP骨干網(wǎng)[3],從而實現(xiàn)遠距離數(shù)據(jù)傳輸。該終端節(jié)點具有視頻數(shù)據(jù)采集功能和數(shù)據(jù)接收轉(zhuǎn)發(fā)功能。
視頻數(shù)據(jù)采集和整理傳輸通過視頻服務器來實現(xiàn);數(shù)據(jù)接收和轉(zhuǎn)發(fā)通過USB無線網(wǎng)卡實現(xiàn);客戶端主要是接收網(wǎng)絡傳輸過來的視頻流,然后顯示終端節(jié)點的監(jiān)控畫面。
圖1 WiFi-Mesh網(wǎng)絡視頻監(jiān)控系統(tǒng)結(jié)構框圖
2.1 系統(tǒng)硬件設計
整個系統(tǒng)的硬件設計主要是WiFi-Mesh終端路由節(jié)點的設計,該終端節(jié)點既具有視頻數(shù)據(jù)采集功能又有數(shù)據(jù)接收轉(zhuǎn)發(fā)功能。系統(tǒng)硬件設計結(jié)構如圖2所示。
圖2 系統(tǒng)硬件設計結(jié)構圖
系統(tǒng)的核心控制器采用的是三星公司的S3C244A處理器,視頻數(shù)據(jù)的采集使用的是USB攝像頭,數(shù)據(jù)的接收和轉(zhuǎn)發(fā)采用的是USB無線網(wǎng)卡B-LINK 802.11N。由于開發(fā)板上只有一個USB接口,所以通過USB HUB將USB攝像頭和USB無線網(wǎng)卡連接到Mini 2440開發(fā)板的USB接口上。S3C2440A處理器將攝像頭采集到的數(shù)據(jù)通過USB無線網(wǎng)卡直接傳輸或經(jīng)中繼轉(zhuǎn)發(fā)至TP-LINK路由器,TP-LINK路由器與PC直接相連,然后在PC機瀏覽器中顯示。
2.2 系統(tǒng)軟件設計
系統(tǒng)軟件設計主要是監(jiān)控點視頻服務器、客戶端、相應底層驅(qū)動程序和AODV-UU路由協(xié)議[4],系統(tǒng)軟件設計結(jié)構框圖如圖3所示。
圖3 系統(tǒng)軟件設計結(jié)構框圖
系統(tǒng)中所有軟件設計都是基于Linux操作系統(tǒng)平臺,采用的是Linux-2.6.29內(nèi)核版本。監(jiān)控點視頻服務器采用開源的mjpg-streamer視頻服務器軟件,主要是為客戶端提供實時的視頻流,即采集視頻數(shù)據(jù),然后向客戶端發(fā)送實時視頻數(shù)據(jù)。客戶端主要功能是接受視頻服務器通過網(wǎng)絡傳輸過來的視頻流,然后在瀏覽器上顯示監(jiān)控畫面。
在整個系統(tǒng)正常運行中起著關鍵性作用是AODV-UU路由協(xié)議,它對數(shù)據(jù)傳輸鏈路以及數(shù)據(jù)的接收轉(zhuǎn)發(fā)起引導作用。
3.1 WiFi-Mesh路由節(jié)點設計
WiFi-Mesh網(wǎng)絡由終端路由節(jié)點構成,主要是承載視頻流的傳輸。WiFi-Mesh網(wǎng)絡結(jié)構采用的是無線Mesh網(wǎng)絡客戶端結(jié)構[5],系統(tǒng)使用USB無線網(wǎng)卡和S3C2440A微控制器及外圍器件構建WiFi-Mesh路由節(jié)點。該節(jié)點同時具有WiFi-Mesh路由器和WiFi-Mesh終端的功能,并支持WiFi-Mesh路由器的網(wǎng)關功能,將WiFi-Mesh網(wǎng)絡和有線網(wǎng)絡進行連接。
WiFi-Mesh網(wǎng)絡的正常運行需要路由協(xié)議的維持,由于無線Mesh網(wǎng)絡是移動Ad Hoc[6]網(wǎng)絡的一種特殊形態(tài),所以應用于Ad Hoc中的路由協(xié)議也適用于無線Mesh網(wǎng)絡,而在Ad Hoc網(wǎng)絡中使用的比較典型的路由協(xié)議有AODV路由協(xié)議和DSR路由協(xié)議兩種[7]。
3.2 AODV-UU路由協(xié)議
采用AODV路由協(xié)議,路由協(xié)議軟件使用的是AODV-UU。AODV-UU是瑞典Uppsala University大學和愛立信公司開發(fā)并發(fā)布的一種開源路由協(xié)議。AODV-UU路由協(xié)議運行的體系結(jié)構[8]如圖4所示。
圖4 AODV-UU路由協(xié)議運行的體系結(jié)構
AODV-UU的組成包括應用程序aodvd和驅(qū)動內(nèi)核模塊kaodv.ko兩部分。aodvd運行于用戶空間,負責路由的建立、路由的維護和Linux內(nèi)核路由表的維護。kaodv.ko運行于內(nèi)核空間,采用Netfilter來處理數(shù)據(jù)包,根據(jù)路由表的信息,將數(shù)據(jù)轉(zhuǎn)發(fā)到下一跳節(jié)點。
Netfilter架構是由Linux TCP/IP協(xié)議棧中不同點上的5個鉤子(hook)函數(shù)構成,Netfilter架構的5個hook點位置關系[9]如圖5所示。
圖5 Netfilter架構的5個hook點位置關系
Netfilter允許用戶在這些hook點位置注冊并實現(xiàn)自己定義的回調(diào)函數(shù),經(jīng)過hook點的數(shù)據(jù)分組會執(zhí)行回調(diào)函數(shù)的操作,并把數(shù)據(jù)分組重定向到用戶自定義的函數(shù)中,而用戶自己定義的函數(shù)可以幫助用戶空間完成檢測、丟棄、過濾、修改或排隊等這些數(shù)據(jù)分組功能。
3.3 AODV-UU路由協(xié)議移植
本文使用的路由協(xié)議(AODV-UU)版本是aodvuu-0.9.6[10]。AODV-UU的運行是利用Linux內(nèi)核中Netfilter架構功能,所以需要Linux內(nèi)核的支持。
內(nèi)核具體配置如下:
(1)勾選上Netfilter項,具體如下:
(2)設置路由協(xié)議編譯成內(nèi)核模塊,具體如下:
①將aodv-uu-0.9.6/lnx目錄下的內(nèi)容拷貝到內(nèi)linux-2.6.29/net/ipv4/kaodv目錄下cp-rf lnx home/ 2014/linux-2.6.29/net/ipv4/kaodv
②修改linux-2.6.29/net/ipv4/Kconfig文件,在最后一行添加如下內(nèi)容:
③修改linux-2.6.29/net/ipv4/Makefile文件,在最后一行添加如下內(nèi)容:
④執(zhí)行make menuconfig命令,使kaodv能編譯成內(nèi)核模塊,具體如下:
(3)修改lnx目錄下的Makefile文件。
①添加內(nèi)核路徑
②注釋掉Fedora內(nèi)核模塊
編譯內(nèi)核make zImage,編譯內(nèi)核模塊make modules,最后得到kaodv.ko內(nèi)核模塊。
通過編譯aodv-uu-0.9.6源碼生成應用程序aodvd,具體步驟如下:
(1)修改aodv-uu-0.9.6目錄下的Makefile文件。
①修改交叉編譯器ARM_CC=arm-linux-gcc
②注釋掉ARM_CCFLAGS=-mbig-endian
③修改內(nèi)核路徑為自己內(nèi)核所在路徑
KERNEL_DIR=/home/2014/linux-2.6.29
④注釋掉內(nèi)核部分代碼。
(2)執(zhí)行make命令編譯源碼,執(zhí)行完后在當前目錄下生成應用程序aodvd。
將kaodv.ko和aodvd拷貝到根文件系統(tǒng)的/bin目錄下。在開發(fā)板上啟動內(nèi)核并加載kaodv.ko內(nèi)核模塊,再運行aodvd應用程序,這樣AODV路由協(xié)議就工作起來了,那么一個WiFi-Mesh路由節(jié)點也就搭建起來了,值得注意的是在無線與有線的交匯處,需要將該路由節(jié)點設置成具有網(wǎng)關作用的路由,使其能將各監(jiān)控點的視頻數(shù)據(jù)傳輸?shù)接芯€骨干網(wǎng)內(nèi)。通過多個WiFi-Mesh終端路由節(jié)點組建成WiFi-Mesh網(wǎng)絡進行遠距離的數(shù)據(jù)傳輸。
系統(tǒng)測試是在實驗室中進行,采用3個WiFi-Mesh終端節(jié)點組建成一個小型的WiFi-Mesh網(wǎng)路,這些終端路由節(jié)點既具有接收和轉(zhuǎn)發(fā)數(shù)據(jù)的路由功能,又具有視頻數(shù)據(jù)的采集功能。終端節(jié)點的IP地址設置如表1所示。A一端通過RJ45與TP-LINK路由器連通外網(wǎng),另一端通過無線網(wǎng)卡與B、C組成WiFi-Mesh網(wǎng)絡,然后開啟NAT功能,使B和C也能通過A訪問外網(wǎng)。
表1 終端節(jié)點的IP地址設置
因為實驗是在較小范圍內(nèi)進行,所以B要實現(xiàn)多跳,需在A中添加iptables防火墻功能丟棄直接從B傳輸來的數(shù)據(jù),保證B的數(shù)據(jù)只能經(jīng)C轉(zhuǎn)發(fā)至A,不能直達A,即B-C-A,從而實現(xiàn)多跳功能。啟動開發(fā)板,分別運行路由協(xié)議,AODV-UU路由協(xié)議正常工作發(fā)現(xiàn)鄰節(jié)點并添加自己的路由表中,各個終端節(jié)點的攝像頭將采集到的數(shù)據(jù)經(jīng)視頻服務器處理之后分別沿著各自建立好的路由鏈路進行傳輸,最終將視頻流數(shù)據(jù)傳輸?shù)娇蛻舳?。在火狐瀏覽器中輸入終端節(jié)點的IP地址就能顯示相應終端節(jié)點視頻監(jiān)控畫面。
WiFi-Mesh可以被看成是無線Mesh網(wǎng)絡和無線局域網(wǎng)(WLAN)的融合,采用WiFi技術實現(xiàn)每條WiFi鏈路的終端節(jié)點互聯(lián),同時采用多跳的組網(wǎng)方式解決了傳統(tǒng)的WLAN的健壯性差和可擴展性差等諸多問題。在不擴大成本、添加有線基礎設施的情況下,將無線設備作為中繼路由器使用,對傳輸數(shù)據(jù)進行不斷中繼轉(zhuǎn)發(fā),極大地擴展了無線信號的覆蓋范圍?;诖司W(wǎng)絡下的視頻監(jiān)控系統(tǒng)相對傳統(tǒng)視頻監(jiān)控系統(tǒng)有著獨特的優(yōu)勢,對未來無線視頻監(jiān)控行業(yè)向前發(fā)展有著巨大推動作用。
[1]蒙波.WiFi Mesh網(wǎng)絡的特點和應用[J].科學時代,2011(1):220-221.
[2]余海,曹雷.基于WiFi的無線網(wǎng)狀網(wǎng)(Mesh)組網(wǎng)技術[J].現(xiàn)代電子技術,2011,10:120-122.
[3]高峰,高澤華,文柳,等.無線城市電信級Wi-Fi網(wǎng)絡建設與運營[M].北京:人民郵電出版社,2011:60-61.
[4]謝佳,徐山峰.AODV、AOMDV和AODV-UU路由協(xié)議性能仿真與分析[J].中國電子科學研究院學報,2011(06):592-596.
[5]鄭彥光,徐平平,常瑞.無線Mesh網(wǎng)絡技術及其應用[J].電力系統(tǒng)通信,2007(07):16-20.
[6]王成,劉金剛.Ad Hoc無線網(wǎng)絡及其路由協(xié)議分析[J].計算機應用與軟件,2006(08):87-89.
[7]Amit N.Thakare,Mrs.M.Y.Joshi.Performance Analysis of AODV&DSR Routing Protocol in Mobile Ad hoc Networks[J].International Journal of Computer Applications,2010:211-218.
[8]張美平,許力,沈金波.基于嵌入式Linux的無線自組織網(wǎng)絡實驗床設計[J].計算機系統(tǒng)應用,2008,12: 16-20.
[9]張愛民,梁書劍,馬志強.AODV-UU協(xié)議實現(xiàn)技術分析[J].信息技術,2011(06):119-121,126.
[10]王小康.Ad Hoc安全路由協(xié)議的研究及嵌入式實現(xiàn)[D].北京:中國科學院研究生院(長春光學精密機械與物理研究所),2013:63-65.
Design on Video Monitoring System based on WiFi-Mesh Network
LI Wei,ZHANG Wei-qiang,YAN Guang-lai
(College of Information Science and Engineering,Ningbo University,Ningbo Zhejiang 315211,China)
In order to overcome the difficulties in cable monitoring system routing in mountain and industrial areas and such disadvantages as high cost of 3G wireless video monitoring system and low coverage of WiFi video monitoring system,this paper combines the advantages of WiFi technology and wireless Mesh network,with the help of embedded Linux operation system,and proposes a design scheme of video monitoring system based on WiFi-Mesh network,which can cover the shortage of conventional monitoring system.This paper focuses on the general structure and function of video monitoring system based on WiFi-Mesh network,and proposes a series of applicable solutions based on detailed discussions on key technical issues of system.The final experimental results show that the monitoring videos can be fluently displayed on screens.
video monitoring;embedded Linux;WiFi-Mesh network
TP277;TP393
A
1003-3114(2015)05-07-4
10.3969/j.issn.1003-3114.2015.05.02
李維,張衛(wèi)強,閆光來.WiFi-Mesh網(wǎng)絡視頻監(jiān)控系統(tǒng)的設計[J].無線電通信技術,2015,41(5):07-10.
2015-05-04
國家自然科學基金項目(61271137)
李維(1988—),男,碩士研究生,主要研究方向:嵌入式系統(tǒng)設計與應用。張衛(wèi)強(1963—),男,副教授,主要研究方向:嵌入式系統(tǒng)設計與應用。