無(wú)線Mesh網(wǎng)視頻監(jiān)控系統(tǒng)的研究與開(kāi)發(fā)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要 結(jié)合無(wú)線網(wǎng)絡(luò)視頻監(jiān)控的新要求,深入分析了無(wú)線網(wǎng)狀網(wǎng)的網(wǎng)狀拓?fù)?、多跳鏈路、?dòng)態(tài)路由協(xié)議等關(guān)鍵技術(shù)和發(fā)展現(xiàn)狀。將無(wú)線自組織網(wǎng)絡(luò)按需距離矢量路由協(xié)議(AODV)應(yīng)用到嵌入式Linux平臺(tái)上,并在該平臺(tái)上提出了利用多個(gè)單獨(dú)視頻終端節(jié)點(diǎn)構(gòu)建基于無(wú)線Mesh網(wǎng)絡(luò)技術(shù)的視頻監(jiān)控網(wǎng)絡(luò)應(yīng)用方案。實(shí)驗(yàn)證明這種方案是可行的。
關(guān)鍵詞 無(wú)線Mesh網(wǎng)絡(luò) AODV 視頻監(jiān)控 Linux
引 言
近年來(lái),一種新一代無(wú)線通信網(wǎng)——無(wú)線Mesh網(wǎng)(Wireless Mesh Network,WMN)技術(shù)引發(fā)業(yè)界的重視和研究。由于它具備組網(wǎng)迅速、結(jié)構(gòu)靈活、傳輸速率大、可靠性強(qiáng)、成本低等突出的優(yōu)點(diǎn),適應(yīng)了市場(chǎng)對(duì)網(wǎng)絡(luò)視頻監(jiān)控的新需求,勢(shì)必拓寬視頻監(jiān)控的應(yīng)用范圍。本文結(jié)合對(duì)網(wǎng)絡(luò)視頻監(jiān)控的需求,深入分析了無(wú)線Mesh網(wǎng)絡(luò)的技術(shù)特點(diǎn),提出了一種利用多個(gè)單獨(dú)視頻終端節(jié)點(diǎn)構(gòu)建基于無(wú)線Mesh技術(shù)的視頻監(jiān)控系統(tǒng)。
1 無(wú)線Mesh網(wǎng)絡(luò)的關(guān)鍵技術(shù)
WMN作為移動(dòng)Ad Hoc網(wǎng)絡(luò)(MANET)的一種特殊形態(tài),融合了WLAN和Ad Hoc網(wǎng)絡(luò)優(yōu)點(diǎn),成為一種新型寬帶無(wú)線網(wǎng)絡(luò)。與傳統(tǒng)無(wú)線網(wǎng)絡(luò)技術(shù)相比,WMN的以下幾大關(guān)鍵技術(shù)更加適應(yīng)網(wǎng)絡(luò)視頻監(jiān)控的發(fā)展需要。
(1)網(wǎng)狀拓?fù)?br /> WMN采用類(lèi)似Internet的網(wǎng)狀拓?fù)洌藷o(wú)線Mesh路由器和無(wú)線Mesh客戶(hù)端兩類(lèi)基本設(shè)備,即骨干網(wǎng)Mesh結(jié)構(gòu)和客戶(hù)端Mesh結(jié)構(gòu)。前者由無(wú)線路由器構(gòu)成Mesh骨干網(wǎng),提供一個(gè)大面積、高可靠性的覆蓋區(qū)域,無(wú)線客戶(hù)端通過(guò)路由器接入骨干網(wǎng)實(shí)現(xiàn)業(yè)務(wù)功能。后者通過(guò)在無(wú)線客戶(hù)端集成路由和配置功能,由多個(gè)客戶(hù)端直接構(gòu)成WMN。無(wú)論采用哪種結(jié)構(gòu),一個(gè)節(jié)點(diǎn)的數(shù)據(jù)都可通過(guò)相鄰多個(gè)具有路由功能的節(jié)點(diǎn)到達(dá)目標(biāo)節(jié)點(diǎn),局部網(wǎng)絡(luò)的可靠性不受單一節(jié)點(diǎn)制約。網(wǎng)絡(luò)負(fù)載分散在多個(gè)節(jié)點(diǎn)實(shí)現(xiàn),有效減少了節(jié)點(diǎn)的功耗,使采用便攜式電源成為可能。上述特點(diǎn)使得WMN的骨干網(wǎng)和客戶(hù)端同時(shí)具備了良好的移動(dòng)性,成為真正意義上的無(wú)線網(wǎng)絡(luò)。本文采用多個(gè)Mesh終端節(jié)點(diǎn)來(lái)組建無(wú)線Mesh網(wǎng)絡(luò),無(wú)需其他路由器。
(2)多跳鏈路
WMN的每個(gè)節(jié)點(diǎn)和鄰近節(jié)點(diǎn)互聯(lián),形成多跳鏈路(multi—hop),通過(guò)增加源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)間的路徑數(shù)量來(lái)提高網(wǎng)絡(luò)帶寬。多跳鏈路縮短了每個(gè)單跳的距離,一方面降低了信號(hào)衰減及外界干擾導(dǎo)致的誤碼和丟包;另一方面用低功率信號(hào)傳輸,減小不同路徑之間的信號(hào)互擾,提高了帶寬利用率和信道質(zhì)量。不同路徑間的信號(hào)互擾較小,當(dāng)使用定向天線時(shí),同一頻段幾乎可在WMN中無(wú)限制復(fù)用,提高了頻譜利用率。因此,WMN與WLAN等單跳網(wǎng)絡(luò)相比,更易于實(shí)現(xiàn)寬帶視頻監(jiān)控等應(yīng)用。
(3)動(dòng)態(tài)路由協(xié)議
網(wǎng)絡(luò)節(jié)點(diǎn)的移動(dòng)性使WMN的拓?fù)浣Y(jié)構(gòu)處于動(dòng)態(tài)變化中,使有線網(wǎng)上的距離矢量協(xié)議和鏈路狀態(tài)協(xié)議無(wú)法應(yīng)用,只能用Ad Hoc網(wǎng)絡(luò)的協(xié)議。其驅(qū)動(dòng)方式分表驅(qū)動(dòng)路由協(xié)議和源啟動(dòng)按需路由協(xié)議。前者在網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都維持一個(gè)到其他節(jié)點(diǎn)的相對(duì)穩(wěn)定的最新路由表,通過(guò)在網(wǎng)絡(luò)內(nèi)廣播路由更新信息反映網(wǎng)絡(luò)拓?fù)涞淖兓?,包括DSDV(目的序列距離矢量路由協(xié)議)和WRP(無(wú)線路由協(xié)議);后者只有當(dāng)節(jié)點(diǎn)需要時(shí)才建立并僅在通信過(guò)程中維持路由,通信完畢后路由自動(dòng)拆除,通過(guò)不斷地發(fā)現(xiàn)路由、維持路由和拆除路由來(lái)適應(yīng)拓?fù)涞膭?dòng)態(tài)變化,主要包括DSR(動(dòng)態(tài)源路由協(xié)議)和AODV(Ad Hoc按需距離矢量路由協(xié)議)。已有仿真表明,基于DSR路由協(xié)議的WMN在相同負(fù)載條件下,與PMP星形網(wǎng)絡(luò)相比具有更大的吞吐量和更小的延時(shí),能適應(yīng)傳輸監(jiān)控視頻的需求。AODV協(xié)議以DSDV為基礎(chǔ),采用DSR中的按需路由思想進(jìn)行改進(jìn)。
(4)雙工多址接入和分組交換技術(shù)
WMN的多跳鏈路要求節(jié)點(diǎn)應(yīng)具有中繼和轉(zhuǎn)發(fā)功能,要采用雙工通信實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。此外,考慮到WMN中的非對(duì)稱(chēng)業(yè)務(wù)傳輸占主流,采用TDD(時(shí)分雙工)方式和基于OFDM的多址技術(shù)OFDMA,能夠充分利用WMN的特點(diǎn)。WMN承載了包括寬帶IP接入、視頻點(diǎn)播、網(wǎng)絡(luò)會(huì)議在內(nèi)的多種具有較高QoS要求的業(yè)務(wù),通常在網(wǎng)絡(luò)層使用分組交換實(shí)現(xiàn)。
2 基于WMN的嵌入式視頻監(jiān)控系統(tǒng)
考慮到業(yè)務(wù)功能的靈活性,本文實(shí)現(xiàn)一種較為通用的視頻監(jiān)控網(wǎng)絡(luò)平臺(tái),采用圖1所示的由單個(gè)Mesh終端節(jié)點(diǎn)結(jié)構(gòu)搭建WMN。它由多個(gè)具有路由功能的無(wú)線終端節(jié)點(diǎn)互聯(lián)構(gòu)成Mesh網(wǎng),在各點(diǎn)接人范圍內(nèi)分布有多個(gè)視頻監(jiān)控終端,完成現(xiàn)場(chǎng)視頻采集和壓縮,并將視頻流經(jīng)最近的AP傳輸?shù)脚c監(jiān)控主機(jī)相連的目標(biāo)節(jié)點(diǎn);監(jiān)控主機(jī)匯集了所有監(jiān)控終端的視頻流,進(jìn)行解壓、處理和同步播放,同時(shí)實(shí)現(xiàn)本地存儲(chǔ)或通過(guò)Internet完成視頻轉(zhuǎn)發(fā)。[!--empirenews.page--]
2.1 硬件結(jié)構(gòu)
視頻監(jiān)控終端(客戶(hù)端)硬件結(jié)構(gòu)如圖2所示??紤]到監(jiān)控終端對(duì)視頻壓縮能力、無(wú)線移動(dòng)特性和低功耗的要求,采用華恒公司的專(zhuān)用Freescale處理器iMx21作為主控芯片。它集成了支持H.264標(biāo)準(zhǔn)的硬件編解碼器和ARM9核,功耗僅為200 mW。復(fù)合視頻信號(hào)經(jīng)SAA7113的模擬端子輸入,經(jīng)過(guò)模數(shù)轉(zhuǎn)換、濾波和縮放后,生成BT.656格式的視頻,輸出到iMx21。它對(duì)視頻進(jìn)行H.264格式的壓縮編碼,將數(shù)據(jù)流經(jīng)USB控制器擴(kuò)展的USB2.O接口輸出到VT6656模塊。VT6656模塊包含一個(gè)集成了MAC和基帶處理器的芯片和一個(gè)集成了功率放大器和天線的芯片,支持IEEE 802.11b/g無(wú)線傳輸。
2.2 軟件結(jié)構(gòu)
視頻監(jiān)控終端軟件框圖如圖3所示。
(1)Linux操作系統(tǒng)
Linux操作系統(tǒng)采用成熟穩(wěn)定的2.6.23內(nèi)核。配置時(shí)根據(jù)硬件資源選擇Flash和SRAM的大小,在網(wǎng)絡(luò)子項(xiàng)中選擇對(duì)TCP/IP和IEEE 802.1l協(xié)議的支持,同時(shí)去除不支持的選項(xiàng)以縮減內(nèi)核體積,執(zhí)行編譯后得到Linux的內(nèi)核映像文件。
(2)底層設(shè)備驅(qū)動(dòng)
Linux操作系統(tǒng)通過(guò)調(diào)用驅(qū)動(dòng)程序的接口函數(shù)實(shí)現(xiàn)硬件訪問(wèn)請(qǐng)求。SAA7113和VT6656的驅(qū)動(dòng)程序分別控制相應(yīng)芯片完成視頻采集,USB接口控制和網(wǎng)絡(luò)傳輸控制功能,采用中斷觸發(fā)/響應(yīng)機(jī)制協(xié)調(diào)工作。
(3)上層應(yīng)用程序
應(yīng)用程序包括視頻采集、視頻壓縮、網(wǎng)絡(luò)傳輸和網(wǎng)絡(luò)訪問(wèn)控制模塊。監(jiān)控終端通過(guò)網(wǎng)絡(luò)訪問(wèn)控制程序接收來(lái)自主機(jī)的控制命令,并同步更新至配置文件保存。為保證指令的可靠傳輸,采用面向連接的TCP/IP協(xié)議在主機(jī)和終端間建立一個(gè)端到端的虛擬連接,并通過(guò)套接字編程實(shí)現(xiàn)。視頻采集程序負(fù)責(zé)啟動(dòng)SAA7113的視頻采集和模數(shù)轉(zhuǎn)換,產(chǎn)生BT.656格式的視頻數(shù)據(jù)。視頻壓縮程序根據(jù)配置文件設(shè)定視頻壓縮格式(D1/VGA/CIF/QVGA/QCIF)、編碼方式(CAVLC/CABAC)、碼流(CBR/VBR)和碼率(最大10 Mb/s),以此為參數(shù)調(diào)用QPixe|提供的API,完成H.264視頻壓縮。網(wǎng)絡(luò)傳輸程序完成數(shù)據(jù)包的封裝,再經(jīng)AR5005傳送到鄰近的無(wú)線AP。為保證視頻流的實(shí)時(shí)性,采用UDP/IP和RTP/RTCP協(xié)議對(duì)壓縮數(shù)據(jù)進(jìn)行封裝,使用IEEE 802.11b標(biāo)準(zhǔn)(最大ll Mb/s的數(shù)據(jù)傳輸率,室外500 m的通信距離)完成數(shù)據(jù)包的無(wú)線傳輸。[!--empirenews.page--]
(4)AODV在嵌入式Linux下的設(shè)計(jì)
AODV程序從邏輯上可分為兩個(gè)部分:系統(tǒng)接口和AODV算法模塊。
系統(tǒng)接口部分的主要功能是用Linux系統(tǒng)提供的各種接口,為實(shí)現(xiàn)AODV路由協(xié)議,提供所需的各種信息和服務(wù)。本文AODV程序用到的系統(tǒng)接口主要包括可加載模塊的管理、網(wǎng)絡(luò)過(guò)濾器Netfilter的使用、路由線程的產(chǎn)生、內(nèi)核路由表的修改,及定時(shí)器機(jī)制等。這部分是AODV程序與Linux系統(tǒng)交互的主要途徑。
如圖4所示,網(wǎng)絡(luò)過(guò)濾器由處于Linux協(xié)議棧不同點(diǎn)上的5個(gè)鉤子(hook)組成。它允許用戶(hù)定義內(nèi)核可加載模塊,來(lái)寄存回調(diào)函數(shù)在hook點(diǎn)上?;卣{(diào)函數(shù)屬于內(nèi)核可加載模塊的一部分,流經(jīng)hook點(diǎn)的數(shù)據(jù)分組將執(zhí)行回調(diào)函數(shù)定義的操作。在AODV協(xié)議的實(shí)現(xiàn)方案中,利用了3個(gè)hook點(diǎn),分另0是NF_IP_LOCAL_OUT、NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING。在hook點(diǎn)NF_IP_LOCAL_OUT上,可以對(duì)所有本地輸出的數(shù)據(jù)分組進(jìn)行處理;在hook點(diǎn)NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING上,分別對(duì)從其他節(jié)點(diǎn)來(lái)、到其他節(jié)點(diǎn)去的數(shù)據(jù)分組進(jìn)行處理。
AODV算法模塊主要是執(zhí)行AODV協(xié)議邏輯。該算法模塊的目標(biāo)是根據(jù)通信的需求建立正確的路由,通過(guò)接收和處理AODV控制分組,來(lái)建立或改變路由??偟膩?lái)說(shuō)包括以下幾個(gè)模塊:路由建立、路由表記錄、鏈路檢測(cè)和路由維護(hù)。
如圖5所示,后臺(tái)進(jìn)程aodvd實(shí)現(xiàn)的是路由功能模塊,即路由算法。它作為后臺(tái)進(jìn)程在用戶(hù)空間執(zhí)行,負(fù)責(zé)與其他節(jié)點(diǎn)進(jìn)行信息交互,建立并維護(hù)路由。kaodv.ko是一個(gè)內(nèi)核可加載模塊。在kaodv.ko中定義回調(diào)函數(shù),并將回調(diào)函數(shù)分別寄存在網(wǎng)絡(luò)過(guò)濾器的NF_IP_LOCAL_0UT、NF_IP_PRE_ROUTING和NF_IP_POST_ROUTING三個(gè)hook點(diǎn)上。本地輸出的數(shù)據(jù)分組發(fā)往網(wǎng)絡(luò)接口前,在決定其路由時(shí),如果內(nèi)核路由表中存在與數(shù)據(jù)分組目的地址匹配的路由,數(shù)據(jù)分組就被投遞到相應(yīng)的網(wǎng)絡(luò)接口;若不存在,就會(huì)被寄存在hook點(diǎn)NF_IP_LOCAL_OUT上的回調(diào)函數(shù)處理,通過(guò)raw socket將數(shù)據(jù)分組送往用戶(hù)空間的數(shù)據(jù)分組緩沖區(qū)進(jìn)行排隊(duì)。同時(shí),后臺(tái)進(jìn)程aodvd啟動(dòng)路由查找功能。若查找到與被緩存的數(shù)據(jù)分組報(bào)頭目的地址匹配的路由,就將緩存在用戶(hù)空間的數(shù)據(jù)分組通過(guò)raw socket重新注入內(nèi)核;如果路由未被發(fā)現(xiàn),則緩存的數(shù)據(jù)分組將被丟棄,并釋放它使用的內(nèi)存空間。每個(gè)進(jìn)入和離開(kāi)本地節(jié)點(diǎn)的數(shù)據(jù)分組在流經(jīng)hook點(diǎn)NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING時(shí),將被相應(yīng)的回調(diào)函數(shù)檢查,記錄每條路由的使用時(shí)間,并通過(guò)netlink socket將路由表的使用狀況發(fā)往用戶(hù)空間,告知后臺(tái)進(jìn)程aodvd內(nèi)核路由表的使用狀況。后臺(tái)進(jìn)程aodvd據(jù)此重置路由緩沖表的定時(shí)器。同時(shí),后臺(tái)進(jìn)程aodvd通過(guò)netlink socket刪除內(nèi)核路由表中過(guò)時(shí)的路由條目,或添加新的路由。在后臺(tái)進(jìn)程建立路由時(shí),通過(guò)654號(hào)端口、UDPsocket.發(fā)送RREQ、RREP等控制分組。
2.3 系統(tǒng)測(cè)試
監(jiān)控主機(jī)通過(guò)IEEE 802.11h/g標(biāo)準(zhǔn)的無(wú)線網(wǎng)卡接入Mesh骨干網(wǎng),從具有固定IP的監(jiān)控終端獲取H.264格式的視頻流,采用筆者開(kāi)發(fā)的客戶(hù)端解碼播放軟件完成終端設(shè)置、視頻解碼和實(shí)時(shí)播放,借助壓縮效率極高的H.264編碼,系統(tǒng)在主機(jī)端支持最大720×480(D1)、30幀/s(NTSC)的視頻格式。
結(jié) 語(yǔ)
新一代的無(wú)線Mesh網(wǎng)絡(luò)利用網(wǎng)狀拓?fù)?,多跳鏈路和先進(jìn)的路由協(xié)議,通過(guò)融合IEEE 802.11a/b/g等無(wú)線通信技術(shù),可實(shí)現(xiàn)組網(wǎng)。其優(yōu)點(diǎn)是:組網(wǎng)迅速,結(jié)構(gòu)靈活,傳輸率高,移動(dòng)性好,可靠性強(qiáng),成本低,可極大拓寬網(wǎng)絡(luò)視頻監(jiān)控的應(yīng)用范圍。隨著無(wú)線Mesh技術(shù)的發(fā)展和國(guó)際標(biāo)準(zhǔn)的建立,其獨(dú)特的優(yōu)勢(shì)必將在包括視頻監(jiān)控在內(nèi)的多種領(lǐng)域發(fā)揮重要作用。
無(wú)線Mesh網(wǎng)絡(luò)下的視頻監(jiān)控系統(tǒng),目前除了幾個(gè)國(guó)外廠家做出產(chǎn)品外,國(guó)內(nèi)在這方面還處于起步研發(fā)階段。筆者在標(biāo)準(zhǔn)尚未制定的情況下,根據(jù)無(wú)線Ad Hoc網(wǎng)絡(luò)的路由協(xié)議特點(diǎn),在嵌入式平臺(tái)下實(shí)現(xiàn)了一個(gè)簡(jiǎn)單實(shí)用的無(wú)線網(wǎng)狀網(wǎng)絡(luò)下的視頻監(jiān)控系統(tǒng)。該視頻監(jiān)控系統(tǒng)可以和外網(wǎng)連接,實(shí)現(xiàn)真正意義上的無(wú)縫連接。實(shí)驗(yàn)系統(tǒng)傳輸距離在無(wú)線網(wǎng)狀網(wǎng)內(nèi)室外條件下可以達(dá)到500 m左右。