李維,張衛(wèi)強(qiáng),閆光來
(寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)
李維,張衛(wèi)強(qiáng),閆光來
(寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
針對(duì)當(dāng)前有線視頻監(jiān)控系統(tǒng)在山區(qū)、工業(yè)區(qū)等地區(qū)布線困難,3G無線視頻監(jiān)控系統(tǒng)價(jià)格高,WiFi視頻監(jiān)控系統(tǒng)覆蓋范圍小等弊端,結(jié)合WiFi技術(shù)和無線Mesh網(wǎng)絡(luò)技術(shù)的特性,在采用嵌入式Linux操作系統(tǒng)的基礎(chǔ)上,提出一種WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)方案,該系統(tǒng)能彌補(bǔ)傳統(tǒng)視頻監(jiān)控系統(tǒng)的不足。重點(diǎn)闡述了WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控設(shè)計(jì)的總體框架和功能,針對(duì)WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的關(guān)鍵技術(shù)問題進(jìn)行重點(diǎn)研究,并提出可行的解決方案。實(shí)驗(yàn)結(jié)果表明,監(jiān)控畫面顯示流暢。
視頻監(jiān)控;嵌入式Linux;WiFi-Mesh網(wǎng)絡(luò)
隨著經(jīng)濟(jì)、文化和科技的發(fā)展,越來越多的無線應(yīng)用市場(chǎng)需求激發(fā)了無線技術(shù)的迅速發(fā)展,同時(shí)也促進(jìn)了無線視頻監(jiān)控系統(tǒng)的發(fā)展。WiFi-Mesh網(wǎng)絡(luò)[1]是基于WiFi技術(shù)而發(fā)展出來的一種新型的無線城域網(wǎng)解決方案。由于其具有自組網(wǎng)、自修復(fù)、自平衡、自動(dòng)擴(kuò)展、自管理、高帶寬、覆蓋范圍廣等特點(diǎn),并且兼容WiFi[2],目前正在世界范圍內(nèi)尤其是歐美等發(fā)達(dá)國(guó)家掀起應(yīng)用熱潮。與傳統(tǒng)無線網(wǎng)絡(luò)完全不同,WiFi-Mesh大幅降低運(yùn)營(yíng)商對(duì)網(wǎng)絡(luò)部署的復(fù)雜程度和成本。
Linux是一種多硬件平臺(tái)支持、多任務(wù)、通信能力強(qiáng)、可移植裁剪的嵌入式操作系統(tǒng),以其靈活性、移植性強(qiáng)等優(yōu)點(diǎn)被廣泛使用,并在嵌入式領(lǐng)域占據(jù)著一席之地,基于Linux的諸多優(yōu)點(diǎn),很多硬件逐漸在Linux的平臺(tái)上運(yùn)用起來,這使得嵌入式得到飛速的發(fā)展。與兩者相結(jié)合的WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)具備兩者優(yōu)點(diǎn),在未來各個(gè)行業(yè)中具有廣泛應(yīng)用前景。
WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)結(jié)構(gòu)框圖如圖1所示。系統(tǒng)由多個(gè)WiFi-Mesh終端路由節(jié)點(diǎn)和客戶端組成。多個(gè)WiFi-Mesh終端路由節(jié)點(diǎn)構(gòu)成WiFi-Mesh網(wǎng)絡(luò),終端路由節(jié)點(diǎn)呈網(wǎng)狀分布,都是采用點(diǎn)對(duì)點(diǎn)的方式通過無線WiFi中繼鏈路互聯(lián),將傳統(tǒng)WiFi中的無線“熱點(diǎn)”擴(kuò)展為大面積覆蓋的無線“熱區(qū)”,并將終端節(jié)點(diǎn)數(shù)據(jù)回傳至有線IP骨干網(wǎng)[3],從而實(shí)現(xiàn)遠(yuǎn)距離數(shù)據(jù)傳輸。該終端節(jié)點(diǎn)具有視頻數(shù)據(jù)采集功能和數(shù)據(jù)接收轉(zhuǎn)發(fā)功能。
視頻數(shù)據(jù)采集和整理傳輸通過視頻服務(wù)器來實(shí)現(xiàn);數(shù)據(jù)接收和轉(zhuǎn)發(fā)通過USB無線網(wǎng)卡實(shí)現(xiàn);客戶端主要是接收網(wǎng)絡(luò)傳輸過來的視頻流,然后顯示終端節(jié)點(diǎn)的監(jiān)控畫面。
圖1 WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)結(jié)構(gòu)框圖
2.1 系統(tǒng)硬件設(shè)計(jì)
整個(gè)系統(tǒng)的硬件設(shè)計(jì)主要是WiFi-Mesh終端路由節(jié)點(diǎn)的設(shè)計(jì),該終端節(jié)點(diǎn)既具有視頻數(shù)據(jù)采集功能又有數(shù)據(jù)接收轉(zhuǎn)發(fā)功能。系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)圖
系統(tǒng)的核心控制器采用的是三星公司的S3C244A處理器,視頻數(shù)據(jù)的采集使用的是USB攝像頭,數(shù)據(jù)的接收和轉(zhuǎn)發(fā)采用的是USB無線網(wǎng)卡B-LINK 802.11N。由于開發(fā)板上只有一個(gè)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機(jī)瀏覽器中顯示。
2.2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要是監(jiān)控點(diǎn)視頻服務(wù)器、客戶端、相應(yīng)底層驅(qū)動(dòng)程序和AODV-UU路由協(xié)議[4],系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)框圖如圖3所示。
圖3 系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)框圖
系統(tǒng)中所有軟件設(shè)計(jì)都是基于Linux操作系統(tǒng)平臺(tái),采用的是Linux-2.6.29內(nèi)核版本。監(jiān)控點(diǎn)視頻服務(wù)器采用開源的mjpg-streamer視頻服務(wù)器軟件,主要是為客戶端提供實(shí)時(shí)的視頻流,即采集視頻數(shù)據(jù),然后向客戶端發(fā)送實(shí)時(shí)視頻數(shù)據(jù)??蛻舳酥饕δ苁墙邮芤曨l服務(wù)器通過網(wǎng)絡(luò)傳輸過來的視頻流,然后在瀏覽器上顯示監(jiān)控畫面。
在整個(gè)系統(tǒng)正常運(yùn)行中起著關(guān)鍵性作用是AODV-UU路由協(xié)議,它對(duì)數(shù)據(jù)傳輸鏈路以及數(shù)據(jù)的接收轉(zhuǎn)發(fā)起引導(dǎo)作用。
3.1 WiFi-Mesh路由節(jié)點(diǎn)設(shè)計(jì)
WiFi-Mesh網(wǎng)絡(luò)由終端路由節(jié)點(diǎn)構(gòu)成,主要是承載視頻流的傳輸。WiFi-Mesh網(wǎng)絡(luò)結(jié)構(gòu)采用的是無線Mesh網(wǎng)絡(luò)客戶端結(jié)構(gòu)[5],系統(tǒng)使用USB無線網(wǎng)卡和S3C2440A微控制器及外圍器件構(gòu)建WiFi-Mesh路由節(jié)點(diǎn)。該節(jié)點(diǎn)同時(shí)具有WiFi-Mesh路由器和WiFi-Mesh終端的功能,并支持WiFi-Mesh路由器的網(wǎng)關(guān)功能,將WiFi-Mesh網(wǎng)絡(luò)和有線網(wǎng)絡(luò)進(jìn)行連接。
WiFi-Mesh網(wǎng)絡(luò)的正常運(yùn)行需要路由協(xié)議的維持,由于無線Mesh網(wǎng)絡(luò)是移動(dòng)Ad Hoc[6]網(wǎng)絡(luò)的一種特殊形態(tài),所以應(yīng)用于Ad Hoc中的路由協(xié)議也適用于無線Mesh網(wǎng)絡(luò),而在Ad Hoc網(wǎng)絡(luò)中使用的比較典型的路由協(xié)議有AODV路由協(xié)議和DSR路由協(xié)議兩種[7]。
3.2 AODV-UU路由協(xié)議
采用AODV路由協(xié)議,路由協(xié)議軟件使用的是AODV-UU。AODV-UU是瑞典Uppsala University大學(xué)和愛立信公司開發(fā)并發(fā)布的一種開源路由協(xié)議。AODV-UU路由協(xié)議運(yùn)行的體系結(jié)構(gòu)[8]如圖4所示。
圖4 AODV-UU路由協(xié)議運(yùn)行的體系結(jié)構(gòu)
AODV-UU的組成包括應(yīng)用程序aodvd和驅(qū)動(dòng)內(nèi)核模塊kaodv.ko兩部分。aodvd運(yùn)行于用戶空間,負(fù)責(zé)路由的建立、路由的維護(hù)和Linux內(nèi)核路由表的維護(hù)。kaodv.ko運(yùn)行于內(nèi)核空間,采用Netfilter來處理數(shù)據(jù)包,根據(jù)路由表的信息,將數(shù)據(jù)轉(zhuǎn)發(fā)到下一跳節(jié)點(diǎn)。
Netfilter架構(gòu)是由Linux TCP/IP協(xié)議棧中不同點(diǎn)上的5個(gè)鉤子(hook)函數(shù)構(gòu)成,Netfilter架構(gòu)的5個(gè)hook點(diǎn)位置關(guān)系[9]如圖5所示。
圖5 Netfilter架構(gòu)的5個(gè)hook點(diǎn)位置關(guān)系
Netfilter允許用戶在這些hook點(diǎn)位置注冊(cè)并實(shí)現(xiàn)自己定義的回調(diào)函數(shù),經(jīng)過hook點(diǎn)的數(shù)據(jù)分組會(huì)執(zhí)行回調(diào)函數(shù)的操作,并把數(shù)據(jù)分組重定向到用戶自定義的函數(shù)中,而用戶自己定義的函數(shù)可以幫助用戶空間完成檢測(cè)、丟棄、過濾、修改或排隊(duì)等這些數(shù)據(jù)分組功能。
3.3 AODV-UU路由協(xié)議移植
本文使用的路由協(xié)議(AODV-UU)版本是aodvuu-0.9.6[10]。AODV-UU的運(yùn)行是利用Linux內(nèi)核中Netfilter架構(gòu)功能,所以需要Linux內(nèi)核的支持。
內(nèi)核具體配置如下:
(1)勾選上Netfilter項(xiàng),具體如下:
(2)設(shè)置路由協(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源碼生成應(yīng)用程序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í)行完后在當(dāng)前目錄下生成應(yīng)用程序aodvd。
將kaodv.ko和aodvd拷貝到根文件系統(tǒng)的/bin目錄下。在開發(fā)板上啟動(dòng)內(nèi)核并加載kaodv.ko內(nèi)核模塊,再運(yùn)行aodvd應(yīng)用程序,這樣AODV路由協(xié)議就工作起來了,那么一個(gè)WiFi-Mesh路由節(jié)點(diǎn)也就搭建起來了,值得注意的是在無線與有線的交匯處,需要將該路由節(jié)點(diǎn)設(shè)置成具有網(wǎng)關(guān)作用的路由,使其能將各監(jiān)控點(diǎn)的視頻數(shù)據(jù)傳輸?shù)接芯€骨干網(wǎng)內(nèi)。通過多個(gè)WiFi-Mesh終端路由節(jié)點(diǎn)組建成WiFi-Mesh網(wǎng)絡(luò)進(jìn)行遠(yuǎn)距離的數(shù)據(jù)傳輸。
系統(tǒng)測(cè)試是在實(shí)驗(yàn)室中進(jìn)行,采用3個(gè)WiFi-Mesh終端節(jié)點(diǎn)組建成一個(gè)小型的WiFi-Mesh網(wǎng)路,這些終端路由節(jié)點(diǎn)既具有接收和轉(zhuǎn)發(fā)數(shù)據(jù)的路由功能,又具有視頻數(shù)據(jù)的采集功能。終端節(jié)點(diǎn)的IP地址設(shè)置如表1所示。A一端通過RJ45與TP-LINK路由器連通外網(wǎng),另一端通過無線網(wǎng)卡與B、C組成WiFi-Mesh網(wǎng)絡(luò),然后開啟NAT功能,使B和C也能通過A訪問外網(wǎng)。
表1 終端節(jié)點(diǎn)的IP地址設(shè)置
因?yàn)閷?shí)驗(yàn)是在較小范圍內(nèi)進(jìn)行,所以B要實(shí)現(xiàn)多跳,需在A中添加iptables防火墻功能丟棄直接從B傳輸來的數(shù)據(jù),保證B的數(shù)據(jù)只能經(jīng)C轉(zhuǎn)發(fā)至A,不能直達(dá)A,即B-C-A,從而實(shí)現(xiàn)多跳功能。啟動(dòng)開發(fā)板,分別運(yùn)行路由協(xié)議,AODV-UU路由協(xié)議正常工作發(fā)現(xiàn)鄰節(jié)點(diǎn)并添加自己的路由表中,各個(gè)終端節(jié)點(diǎn)的攝像頭將采集到的數(shù)據(jù)經(jīng)視頻服務(wù)器處理之后分別沿著各自建立好的路由鏈路進(jìn)行傳輸,最終將視頻流數(shù)據(jù)傳輸?shù)娇蛻舳恕T诨鸷鼮g覽器中輸入終端節(jié)點(diǎn)的IP地址就能顯示相應(yīng)終端節(jié)點(diǎn)視頻監(jiān)控畫面。
WiFi-Mesh可以被看成是無線Mesh網(wǎng)絡(luò)和無線局域網(wǎng)(WLAN)的融合,采用WiFi技術(shù)實(shí)現(xiàn)每條WiFi鏈路的終端節(jié)點(diǎn)互聯(lián),同時(shí)采用多跳的組網(wǎng)方式解決了傳統(tǒng)的WLAN的健壯性差和可擴(kuò)展性差等諸多問題。在不擴(kuò)大成本、添加有線基礎(chǔ)設(shè)施的情況下,將無線設(shè)備作為中繼路由器使用,對(duì)傳輸數(shù)據(jù)進(jìn)行不斷中繼轉(zhuǎn)發(fā),極大地?cái)U(kuò)展了無線信號(hào)的覆蓋范圍?;诖司W(wǎng)絡(luò)下的視頻監(jiān)控系統(tǒng)相對(duì)傳統(tǒng)視頻監(jiān)控系統(tǒng)有著獨(dú)特的優(yōu)勢(shì),對(duì)未來無線視頻監(jiān)控行業(yè)向前發(fā)展有著巨大推動(dòng)作用。
[1]蒙波.WiFi Mesh網(wǎng)絡(luò)的特點(diǎn)和應(yīng)用[J].科學(xué)時(shí)代,2011(1):220-221.
[2]余海,曹雷.基于WiFi的無線網(wǎng)狀網(wǎng)(Mesh)組網(wǎng)技術(shù)[J].現(xiàn)代電子技術(shù),2011,10:120-122.
[3]高峰,高澤華,文柳,等.無線城市電信級(jí)Wi-Fi網(wǎng)絡(luò)建設(shè)與運(yùn)營(yíng)[M].北京:人民郵電出版社,2011:60-61.
[4]謝佳,徐山峰.AODV、AOMDV和AODV-UU路由協(xié)議性能仿真與分析[J].中國(guó)電子科學(xué)研究院學(xué)報(bào),2011(06):592-596.
[5]鄭彥光,徐平平,常瑞.無線Mesh網(wǎng)絡(luò)技術(shù)及其應(yīng)用[J].電力系統(tǒng)通信,2007(07):16-20.
[6]王成,劉金剛.Ad Hoc無線網(wǎng)絡(luò)及其路由協(xié)議分析[J].計(jì)算機(jī)應(yīng)用與軟件,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)絡(luò)實(shí)驗(yàn)床設(shè)計(jì)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008,12: 16-20.
[9]張愛民,梁書劍,馬志強(qiáng).AODV-UU協(xié)議實(shí)現(xiàn)技術(shù)分析[J].信息技術(shù),2011(06):119-121,126.
[10]王小康.Ad Hoc安全路由協(xié)議的研究及嵌入式實(shí)現(xiàn)[D].北京:中國(guó)科學(xué)院研究生院(長(zhǎng)春光學(xué)精密機(jī)械與物理研究所),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)強(qiáng),閆光來.WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[J].無線電通信技術(shù),2015,41(5):07-10.
2015-05-04
國(guó)家自然科學(xué)基金項(xiàng)目(61271137)
李維(1988—),男,碩士研究生,主要研究方向:嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用。張衛(wèi)強(qiáng)(1963—),男,副教授,主要研究方向:嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用。