一、無線傳感網(wǎng)絡(luò)傳輸協(xié)議綜述
1、無線傳感網(wǎng)絡(luò)協(xié)議棧的構(gòu)成
無線傳感器網(wǎng)絡(luò)協(xié)議棧由物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層5 部分組成,和互聯(lián)網(wǎng)協(xié)議棧的五層協(xié)議相對應(yīng)。
無線傳感網(wǎng)絡(luò)協(xié)議棧
物理層:數(shù)據(jù)收集、采樣、發(fā)送、接收,以及信號的調(diào)制解調(diào);
數(shù)據(jù)鏈路層:媒體接入控制,網(wǎng)絡(luò)節(jié)點(diǎn)間可靠通信鏈路的建立,為鄰居節(jié)點(diǎn)提供可靠的通信通道;
網(wǎng)絡(luò)層:發(fā)現(xiàn)和維護(hù)路由;
應(yīng)用層:提供安全支持,實(shí)現(xiàn)密鑰管理和安全組播;
傳輸層:為端到端的連接提供可靠的傳輸、流量控制、差錯控制、QoS 等服務(wù),即便是在OSI 模型中也只有該層是負(fù)責(zé)總體數(shù)據(jù)傳輸和控制的,因此非常重要。
2、傳統(tǒng)協(xié)議的不足之處
傳統(tǒng)IP 網(wǎng)絡(luò)主要使用協(xié)議棧中傳輸層的UDP 和TCP 協(xié)議控制數(shù)據(jù)傳輸。UDP 協(xié)議是面向無連接的傳輸協(xié)議,不提供對數(shù)據(jù)包的流量控制及錯誤恢復(fù);TCP 協(xié)議則提供了可靠的傳輸保證,如利用滑動窗口和AIMD 等機(jī)制進(jìn)行擁塞控制,以及使用重傳進(jìn)行差錯控制。但TCP 協(xié)議卻不能直接用于WSN,主要原因如下:
(1) TCP 協(xié)議遵循端到端(end-to-end)的設(shè)計思想,數(shù)據(jù)包的傳輸控制任務(wù)被賦予網(wǎng)絡(luò)的端節(jié)點(diǎn)上,中間節(jié)點(diǎn)只承擔(dān)數(shù)據(jù)包的轉(zhuǎn)發(fā)。而WSN 以數(shù)據(jù)為中心,中間節(jié)點(diǎn)可能會對相關(guān)數(shù)據(jù)進(jìn)行在網(wǎng)處理(In-network Processing),即根據(jù)數(shù)據(jù)相關(guān)性對多個數(shù)據(jù)包內(nèi)的信息進(jìn)行綜合處理,得到新的數(shù)據(jù)包發(fā)送給接收端,直接使用TCP 協(xié)議會導(dǎo)致將此視為丟包而引發(fā)重傳。
(2) TCP 協(xié)議建立和釋放連接的握手機(jī)制相對比較復(fù)雜,耗時較長,不利于傳感器節(jié)點(diǎn)及時反饋被監(jiān)測對象的相關(guān)信息。WSN 網(wǎng)絡(luò)拓?fù)涞膭討B(tài)變化也給TCP 連接狀態(tài)的建立和維護(hù)帶來了一定的困難。
(3) TCP協(xié)議采用基于數(shù)據(jù)包(packet-based)的可靠性度量,即盡力保證所有發(fā)出的數(shù)據(jù)包都被接收節(jié)點(diǎn)正確收到。在WSN 中,可能會有多個傳感器節(jié)點(diǎn)監(jiān)測同一對象,使得監(jiān)測數(shù)據(jù)具有很強(qiáng)的冗余性和關(guān)聯(lián)性。只要最終獲取的監(jiān)測信息能夠描述對象的真實(shí)狀況,具有一定的逼真度(fidelity),并不一定要求數(shù)據(jù)包傳輸?shù)耐耆煽浚@種方式也被稱為基于事件的(event-based)可靠性度量。
(4) TCP 協(xié)議中數(shù)據(jù)包重傳通過端節(jié)點(diǎn)之間的ACK 反饋和超時機(jī)制來保證。傳感器網(wǎng)絡(luò)數(shù)據(jù)包中所含的數(shù)據(jù)量相對較小,大量ACK 包的傳輸會加重傳輸負(fù)載和能量消耗。并且,每次ACK 確認(rèn)和數(shù)據(jù)包重傳都要從發(fā)送端發(fā)出經(jīng)歷多跳傳輸路徑到達(dá)目的端,引發(fā)整條路徑上所有節(jié)點(diǎn)的能量消耗。
(5) WSN 中非擁塞丟包和多路傳輸?shù)纫鸬臄?shù)據(jù)包傳輸亂序,都會引發(fā)TCP 協(xié)議的錯誤響應(yīng),使得發(fā)送端頻頻進(jìn)入擁塞控制階段,導(dǎo)致傳輸性能下降。
(6) TCP 協(xié)議要求每個網(wǎng)絡(luò)節(jié)點(diǎn)具有獨(dú)一無二或全網(wǎng)獨(dú)立的網(wǎng)絡(luò)地址。在大規(guī)模的WSN 中,為了減少長地址位帶來的傳輸消耗,傳感器節(jié)點(diǎn)可能只具有局部獨(dú)立的或地理位置相關(guān)的網(wǎng)絡(luò)地址或采用無網(wǎng)絡(luò)地址的傳輸方案,無法直接使用TCP 協(xié)議。
3、WSN 傳輸協(xié)議研究進(jìn)展
當(dāng)前對于無線傳感器網(wǎng)絡(luò)傳輸協(xié)議研究的工作還是側(cè)重于擁塞控制和可靠保證。該研究將擁塞控制分為流量控制、多路分流、數(shù)據(jù)聚合和虛擬網(wǎng)關(guān)等;可靠保證則包括數(shù)據(jù)重傳、冗余發(fā)送。
流量控制中,ERST、PORT 和IFRC 協(xié)議是基于報告速率調(diào)節(jié)的擁塞控制協(xié)議;Fusion、CCF 是基于轉(zhuǎn)發(fā)速率調(diào)節(jié)的擁塞控制協(xié)議,適合要求數(shù)據(jù)逼真度較高的網(wǎng)絡(luò);Buffer-based、PCCP、CODA 則是基于綜合速率調(diào)節(jié)的擁塞控制協(xié)議。ERST 考慮了可靠性和能耗的因素,通過調(diào)整報告速率來減輕擁塞;PORT 協(xié)議則將報告速率調(diào)整問題建模為優(yōu)化問題,解決ERST 的不足;IFRC 則著重保證信道帶寬能更公平地被相鄰多個節(jié)點(diǎn)所分享。
Fusion 采用了令牌桶機(jī)制,節(jié)點(diǎn)要按照一定規(guī)則積累令牌,且發(fā)送一次數(shù)據(jù)就消耗一個令牌;CCF 用速率比較的方法,擁塞發(fā)生時節(jié)點(diǎn)將自身轉(zhuǎn)發(fā)速率與父節(jié)點(diǎn)告知的轉(zhuǎn)發(fā)速率比較,以其中較小的值來轉(zhuǎn)發(fā)數(shù)據(jù)包。
Buffer-based 采用基于緩沖區(qū)的輕量級控制機(jī)構(gòu)。發(fā)送數(shù)據(jù)包之前,要求節(jié)點(diǎn)監(jiān)聽鄰居節(jié)點(diǎn)的緩沖區(qū)溢出否;PCCP 對數(shù)據(jù)流賦與不同的加權(quán)優(yōu)先級,來保證調(diào)整公平性;CODA 結(jié)合了開環(huán)和閉環(huán)控制方式來解決擁塞。網(wǎng)絡(luò)流量突發(fā)導(dǎo)致局部短暫擁塞時就啟用開環(huán)控制。同時,若某被監(jiān)測事件的發(fā)生頻率低于設(shè)定的信道吞吐量,源節(jié)點(diǎn)即可自行調(diào)整報告速率,否則就啟動閉環(huán)擁塞控制。
多路分流就是通過多路轉(zhuǎn)發(fā)來分散流量,解決擁塞問題。其中,ARC 協(xié)議是利用網(wǎng)絡(luò)中的冗余節(jié)點(diǎn)構(gòu)建新的轉(zhuǎn)發(fā)路徑,CAR 與ARC 方法相近,BGR 則是在地理路由中增加方向偏離范圍,以此來擴(kuò)大轉(zhuǎn)發(fā)路徑的可選范圍。
數(shù)據(jù)聚(融)合的必要性和重要性前文已述。協(xié)議包括CONCERT 和PREI。前者采用適應(yīng)性聚合,后者將網(wǎng)絡(luò)劃分為大小相同的網(wǎng)絡(luò),對來自同一網(wǎng)格的數(shù)據(jù)進(jìn)行聚合。
可靠性方面,數(shù)據(jù)重傳協(xié)議包括網(wǎng)關(guān)向節(jié)點(diǎn)、節(jié)點(diǎn)向網(wǎng)關(guān)和雙向可靠保證3 類;冗余發(fā)送則包括拷貝發(fā)送(AFS、Rein form、MMSPEED、GRAB)和編碼冗余。
PSFQ、GARUDA 是網(wǎng)關(guān)向節(jié)點(diǎn)的。前者用緩發(fā)快取進(jìn)行控制,后者則建立層次結(jié)構(gòu),進(jìn)行階段性丟包恢復(fù)。RMST、RBC 是節(jié)點(diǎn)向網(wǎng)關(guān)的。前者是基于單路由協(xié)議設(shè)計的,除了原有的由數(shù)據(jù)源到網(wǎng)關(guān)的方向之外,增加了后向路徑,用于反饋丟包。BRTM 是雙向可靠保證的。
此外還有5 種隨機(jī)投遞傳輸協(xié)議并分別對它們建模分析,在仿真對比的基礎(chǔ)上做出了相關(guān)結(jié)論。這些協(xié)議包括:
1)逐跳可靠傳輸協(xié)議HHR、帶應(yīng)答的逐跳可靠傳輸協(xié)議
HHRA 后者是前者的一個變體。HHR 是最簡單的該類協(xié)議。協(xié)議中,某轉(zhuǎn)發(fā)節(jié)點(diǎn)將同一數(shù)據(jù)包向其下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行多次發(fā)送。只要下一跳節(jié)點(diǎn)收到重發(fā)數(shù)據(jù)包一份副本,它就會繼續(xù)發(fā)送。HHRA 則要求轉(zhuǎn)發(fā)節(jié)點(diǎn)等待來自接收者的應(yīng)答包。若收到應(yīng)答包,則終止本跳后續(xù)副本的轉(zhuǎn)發(fā)。
2)逐跳廣播傳輸協(xié)議HHB、帶應(yīng)答的逐跳廣播傳輸協(xié)議
HHBA 后者是前者的一個變體。HHB 中,轉(zhuǎn)發(fā)節(jié)點(diǎn)向其多個下一跳鄰節(jié)點(diǎn)多次發(fā)送同一數(shù)據(jù)包。若任何一個鄰節(jié)點(diǎn)成功接收到至少一個數(shù)據(jù)包,它就繼續(xù)以一定概率轉(zhuǎn)發(fā)此包。HHBA 則引入應(yīng)答機(jī)制來增加傳輸可靠性,并減少傳輸時能量的消耗。
3)Rein form協(xié)議
該協(xié)議在多條隨機(jī)路徑上同時發(fā)送一個數(shù)據(jù)包的多個副本,以此來產(chǎn)生數(shù)據(jù)冗余,提高傳輸可靠性
4)基于分簇的協(xié)同傳輸協(xié)議。分析了傳輸效能和網(wǎng)絡(luò)吞吐量的改善。協(xié)議分為四步:1)分簇,即確定簇頭并在各簇內(nèi)確定協(xié)同傳輸?shù)墓?jié)點(diǎn);2)簇內(nèi)信息傳輸;3)簇內(nèi)協(xié)同節(jié)點(diǎn)向匯聚節(jié)點(diǎn)發(fā)送數(shù)據(jù);4)匯聚節(jié)點(diǎn)接收和檢測信號。該協(xié)議的主要問題是協(xié)同節(jié)點(diǎn)間的同步。研究者相信,這種技術(shù)可用于無線自組織網(wǎng)、無線局域網(wǎng)及無線傳感器網(wǎng)等多種場合
5)實(shí)時傳輸協(xié)議。主要研究了SPEED 協(xié)議,并在TinyOS1.1.11 和Crossbow 公司的Micaz 節(jié)點(diǎn)搭建的平臺上進(jìn)行了實(shí)驗(yàn)。
總結(jié):
WSN的傳輸控制協(xié)議在以下幾個方面還有待進(jìn)一步深入研究:
1) 設(shè)計跨層協(xié)作的傳輸控制協(xié)議。在WSN 中傳輸控制任務(wù)不能僅僅依靠傳輸層來完成, 傳感器節(jié)點(diǎn)協(xié)議棧中的各個層次應(yīng)在傳輸層控制機(jī)制的協(xié)調(diào)下進(jìn)行充分的交互與協(xié)作,共同支持和保證數(shù)據(jù)的可靠傳輸。
2) 提高傳輸控制協(xié)議的綜合控制能力。在WSN 應(yīng)用過程中,網(wǎng)絡(luò)中擁塞和丟包的現(xiàn)象可能會同時發(fā)生并互相影響,網(wǎng)關(guān)和節(jié)點(diǎn)之間也會頻繁的進(jìn)行數(shù)據(jù)交互。目前的控制協(xié)議大多只對單個數(shù)據(jù)流方向上的一種問題(擁塞或丟包)進(jìn)行處理,新的傳輸控制協(xié)議應(yīng)提供全面的綜合控制機(jī)制。
3) 基于多優(yōu)先級的控制策略。網(wǎng)絡(luò)中出現(xiàn)不同的數(shù)據(jù)流對可靠性的要求可能會不同,需要在協(xié)議設(shè)計時考慮對優(yōu)先級問題的處理。
4) 傳輸控制協(xié)議需要提供公平性保證。在確保傳輸效率的同時,網(wǎng)絡(luò)中的多個數(shù)據(jù)流應(yīng)按照事先定義的公平性原則分享無線信道進(jìn)行數(shù)據(jù)傳輸。
5) 支持WSN 中以數(shù)據(jù)為中心的設(shè)計方案。WSN 以數(shù)據(jù)為中心的特點(diǎn)帶來了一些新的設(shè)計方案,如無獨(dú)立地址的節(jié)點(diǎn)設(shè)計、數(shù)據(jù)的在網(wǎng)處理和分簇網(wǎng)絡(luò)結(jié)構(gòu)等,新的傳輸控制協(xié)議需要提供對這些方案的支持。
6) 提供對節(jié)點(diǎn)移動性的支持。目前,WSN 傳輸控制協(xié)議基本都假定傳感器節(jié)點(diǎn)和網(wǎng)絡(luò)是靜態(tài)的。但在戰(zhàn)場、物流等應(yīng)用中,節(jié)點(diǎn)的移動會給網(wǎng)絡(luò)傳輸帶來更多不可靠因素,加重丟包現(xiàn)象的發(fā)生,需要設(shè)計更高處理效率和更快處理速度的控制協(xié)議。
二、基于無線傳感網(wǎng)絡(luò)的太陽能LED路燈狀態(tài)傳感器節(jié)點(diǎn)的設(shè)計
隨著太陽能LED路燈在城市照明系統(tǒng)中的廣泛應(yīng)用,如何節(jié)約能源、提高路燈能源的利用率己成為急需解決的問題。太陽能LED路燈涉及到光伏電池、LED燈頭、蓄電池和路燈控制系統(tǒng),能否最大效率地利用太陽能和延長LED燈頭的使用壽命,是目前迫切需要解決的問題。ZigBee技術(shù)以其功耗低、通信可靠、網(wǎng)絡(luò)容量大等特點(diǎn)為路燈自動控制領(lǐng)域提供了較合適的解決方案[1-3]。
本文研究了ZigBee技術(shù)及JN5139混合信號微控制器,從無線傳感器網(wǎng)絡(luò)的基本單位出發(fā),采用照度傳感器、溫度傳感器、直流電壓傳感器和電流傳感器分別采集光伏電池電流電壓、蓄電池電流電壓、LED燈頭溫度和照度等數(shù)據(jù),設(shè)計了基于JN5139模塊的具有全功能設(shè)備(FFD)的靈活多變、性能優(yōu)越的太陽能LED路燈狀態(tài)傳感器節(jié)點(diǎn),為組建高性能的無線傳感器網(wǎng)絡(luò)做了基礎(chǔ)性的工作。將ZigBee技術(shù)結(jié)合傳感器技術(shù)組成網(wǎng)絡(luò),解決其他控制方法中存在的問題:選擇亮度傳感器實(shí)時采集LED燈頭照度,降低了特殊環(huán)境、特殊時間誤開誤關(guān)的幾率,擺脫了人工干預(yù)。
1 太陽能LED路燈狀態(tài)傳感器節(jié)點(diǎn)的結(jié)構(gòu)
傳感器節(jié)點(diǎn)基本結(jié)構(gòu)如圖1所示,主要包括傳感器、信號調(diào)理電路、A/D轉(zhuǎn)換器、微處理器、射頻通信模塊、定位模塊和電源模塊等。傳感器模塊負(fù)責(zé)監(jiān)測區(qū)域內(nèi)信息的采集和數(shù)據(jù)轉(zhuǎn)換;處理器模塊負(fù)責(zé)控制整個傳感器節(jié)點(diǎn)的操作,存儲和處理本身采集的數(shù)據(jù)以及其他節(jié)點(diǎn)發(fā)來的數(shù)據(jù);無線通信模塊負(fù)責(zé)與其他傳感器節(jié)點(diǎn)進(jìn)行無線通信,交換控制信息和收發(fā)采集數(shù)據(jù);能量供應(yīng)模塊為傳感器節(jié)點(diǎn)提供所需的能量。
2 傳感器節(jié)點(diǎn)的功能
一般的ZigBee網(wǎng)絡(luò)由3種節(jié)點(diǎn)組成:協(xié)調(diào)器、路由器和終端設(shè)備。協(xié)調(diào)器是網(wǎng)絡(luò)的中心節(jié)點(diǎn),負(fù)責(zé)網(wǎng)絡(luò)的組織和維護(hù);路由器負(fù)責(zé)網(wǎng)絡(luò)內(nèi)數(shù)據(jù)幀的路由;而終端設(shè)備則是實(shí)現(xiàn)具體功能的單元。本節(jié)點(diǎn)設(shè)計為全功能節(jié)點(diǎn)(FFD)設(shè)備,起到路由的作用,同時負(fù)責(zé)本地太陽能LED路燈狀態(tài)等參數(shù)的數(shù)據(jù)采集,可實(shí)現(xiàn)如下功能:
(1)傳感器節(jié)點(diǎn)能定時向監(jiān)測分中心發(fā)送太陽能LED路燈狀態(tài)測量數(shù)據(jù);
(2)傳感器節(jié)點(diǎn)能響應(yīng)監(jiān)測分中心的要求,實(shí)時采集太陽能LED路燈狀態(tài)數(shù)據(jù);
(3)當(dāng)傳感器節(jié)點(diǎn)檢測到數(shù)據(jù)超過閾值或者自身能量較低時,發(fā)送報警消息;
(4)能按照時間自動存貯太陽能LED路燈狀態(tài)數(shù)據(jù),同時可以查詢某一時刻的太陽能LED路燈狀態(tài)數(shù)據(jù);
(5)微型化、低功耗、低成本,具有高可靠性、穩(wěn)定性和安全性。
3 傳感器節(jié)點(diǎn)的硬件設(shè)計
傳感器節(jié)點(diǎn)是由全功能設(shè)備(FFD)構(gòu)成,其結(jié)構(gòu)框圖如圖1所示。
3.1 微處理器模塊
作為ZigBee網(wǎng)絡(luò)中的節(jié)點(diǎn),低功耗設(shè)計尤為重要。經(jīng)過詳細(xì)的器件功耗比較之后,選取JN5139混合信號微控制器作為處理器模塊的核心。JN5139是集成了uFl天線的高功率模塊,可以在最短的時間內(nèi)在最低的成本下實(shí)現(xiàn)IEEE802.15.4或ZigBee兼容系統(tǒng)。該表貼模塊利用Jennic的JN5139無線微控制器來提供完整的射頻和RF器件的解決方案。模塊提供了開發(fā)無線傳感器網(wǎng)絡(luò)所需要的豐富的外圍器件。模塊特性:集成uFl天線插槽;兼容2.4 GHz、IEEE802.15.4和ZigBee協(xié)議;2.7 V~3.6 V操作電壓;睡眠電流(包括睡眠定時器處于活動狀態(tài))2.8 μA;接收靈敏度-100 dBm.MCU特性:16 MHz 32 bit RISC CPU;96 KB RAM, 192 KB ROM;4個輸入端口,12 bit ADC,2個11 bit DAC,2個比較器,2個應(yīng)用級定時器/計數(shù)器,2個串口(一個用于系統(tǒng)在線調(diào)試),1個SPI接口,支持5個片選。能夠組建健壯的、安全的低功耗無線網(wǎng)絡(luò)應(yīng)用。
3.2 傳感器及調(diào)理電路模塊
蓄電池電流和電壓檢測電路的設(shè)計原理圖如圖2所示。電流檢測電路由霍爾電流傳感器TBC10SY和取樣電阻、電平調(diào)整電路、跟隨器電路、濾波電路等組成;電壓檢測電路由取樣電路、跟隨器電路、濾波電路等組成。需要注意的是電流檢測電路中充電電流和放電電流方向相反,需要通過電壓提升電路將負(fù)電壓值轉(zhuǎn)換為正值,并在程序中予以處理。
光伏電池電流和電壓檢測電路的設(shè)計原理圖如圖3所示[4]。將串入光伏電池供電電路的精密小電阻上的信號作為電流檢測信號,采用集成運(yùn)放ICL7650制作差分放大電路,這樣可以最大限度地減少對被測電路的影響。將并入光伏電池的大電阻分壓器上獲取小信號作為電壓信號,同樣采用集成運(yùn)放ICL7650制作差分放大電路。為了消除干擾,采用兩個等值電阻分別接于放大器的兩個輸入端和地之間,同時在放大器輸出端增加濾波電路,經(jīng)過濾波后的電流和電壓信號輸出到控制器JN5139的A/D轉(zhuǎn)換接口。
LED燈頭照度檢測電路如圖4所示。照度檢測采用On9658集成傳感器,傳感器獲取的信號經(jīng)過放大器放大和濾波后輸出到控制器JN5139的A/D轉(zhuǎn)換接口。
LED燈頭溫度檢測電路如圖5所示。蓄電池溫度采用SHT11集成溫度傳感器。
4 傳感器節(jié)點(diǎn)的軟件設(shè)計
4.1 軟件系統(tǒng)的總體設(shè)計
軟件系統(tǒng)的主要功能包括傳感器數(shù)據(jù)采集與處理、無線收發(fā)和節(jié)點(diǎn)定位等,采用模塊化設(shè)計。傳感器數(shù)據(jù)采集與處理模塊主要設(shè)置蓄電池狀態(tài)信號的采集參數(shù)并控制采集;無線收發(fā)模塊通過設(shè)置寄存器控制對命令或數(shù)據(jù)的接收和發(fā)送;節(jié)點(diǎn)定位模塊對節(jié)點(diǎn)進(jìn)行實(shí)時定位。傳感器節(jié)點(diǎn)設(shè)計為全功能設(shè)備(FFD),同時具有路由功能,其程序流程圖如圖6所示。在任務(wù)隊列中加入主任務(wù)進(jìn)行數(shù)據(jù)采集、報警檢測和自身能量檢測并調(diào)用ZigBee發(fā)送任務(wù);產(chǎn)生JN5139引腳中斷時,CPU轉(zhuǎn)去執(zhí)行ZigBee接收中斷服務(wù)程序。如果是采集命令,則立即執(zhí)行數(shù)據(jù)采集和發(fā)送;如果是路由包,則立即執(zhí)行路由更新。
4.2 節(jié)點(diǎn)定位算法設(shè)計[5]
節(jié)點(diǎn)采用基于接收信號強(qiáng)度指示定位算法實(shí)現(xiàn)的精確定位。已知發(fā)射節(jié)點(diǎn)的發(fā)射信號強(qiáng)度,接收節(jié)點(diǎn)根據(jù)收到信號的強(qiáng)度計算出信號的傳播損耗,然后根據(jù)信號傳播模型公式將傳輸損耗轉(zhuǎn)化為距離,再利用三邊測量法計算出未知節(jié)點(diǎn)的位置。在實(shí)際定位中,要保證未知節(jié)點(diǎn)處于3個以上發(fā)射信號強(qiáng)度和位置坐標(biāo)已知的參考節(jié)點(diǎn)的通信范圍內(nèi),未知節(jié)點(diǎn)根據(jù)接收信號強(qiáng)度計算出信號的傳播損耗,進(jìn)而計算出節(jié)點(diǎn)位置。
本文介紹了基于無線傳感網(wǎng)絡(luò)的高精度太陽能LED路燈狀態(tài)傳感器節(jié)點(diǎn)的設(shè)計,在實(shí)際測試過程中,系統(tǒng)運(yùn)行穩(wěn)定,測量結(jié)果符合實(shí)際,完全達(dá)到了對信號高精度的采集與無線傳輸,取得了較好的監(jiān)測效果。該系統(tǒng)結(jié)合無線傳感網(wǎng)絡(luò)具有的低功耗、低成本和節(jié)點(diǎn)多等優(yōu)勢,在無線通信技術(shù)遠(yuǎn)距離、高可靠性等關(guān)鍵問題解決過程中的應(yīng)用會越來越廣泛。
三、基于無線傳感網(wǎng)絡(luò)的視頻監(jiān)控系統(tǒng)設(shè)計與實(shí)現(xiàn)
摘要:針對傳統(tǒng)的視頻監(jiān)控系統(tǒng)存在監(jiān)控盲區(qū)、工作效率低等問題,本文基于無線傳感網(wǎng)絡(luò)定位技術(shù),設(shè)計了一個人群異常活動視頻監(jiān)控系統(tǒng)。本文首先依據(jù)無線信號接收強(qiáng)度指示(RSSI)方法,通過實(shí)驗(yàn)獲取到接收信號強(qiáng)度指示和接收距離的函數(shù)關(guān)系,并通過曲線擬合技術(shù)獲取被監(jiān)視人員的運(yùn)動軌跡,然后利用濾波技術(shù)過濾軌跡噪聲數(shù)據(jù)。其次,提出了非安全域的設(shè)計思路,系統(tǒng)若發(fā)現(xiàn)被監(jiān)控人員出現(xiàn)在非安全域,則自動觸發(fā)報警并對現(xiàn)場進(jìn)行錄像。最后,設(shè)計并實(shí)現(xiàn)了一個原型系統(tǒng),包括底層傳感器節(jié)點(diǎn)硬件編程、中間層消息處理和上層數(shù)據(jù)處理等模塊。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠?qū)θ藛T的活動位置進(jìn)行較精確的定位,當(dāng)出現(xiàn)異常活動時,自動觸發(fā)報警。
0 引言
視頻監(jiān)控系統(tǒng)在各行業(yè)重點(diǎn)部門或重要場所進(jìn)行實(shí)時監(jiān)控的過程中發(fā)揮著重要的作用。
管理部門可通過其獲取圖像或聲音等有效信息,并對突發(fā)性異常事件的過程進(jìn)行實(shí)時監(jiān)視和記錄,以幫助現(xiàn)場取證和及時布置警力處理案件。
隨著互聯(lián)網(wǎng)的普及、計算機(jī)、圖像處理、傳輸技術(shù)的飛速發(fā)展, 視頻監(jiān)控技術(shù)也有長足的發(fā)展。高智能、高效率、高安全性的視頻監(jiān)控系統(tǒng)已經(jīng)成為國內(nèi)外發(fā)展的必然趨勢。
目前,針對視頻監(jiān)控系統(tǒng)的研究主要集中在數(shù)據(jù)傳輸和終端顯示上。文獻(xiàn)利用GPRS對公共照明視頻監(jiān)控系統(tǒng)捕獲到的數(shù)據(jù)進(jìn)行傳輸并在終端進(jìn)行顯示。文獻(xiàn)設(shè)計了一種具有自組織跳轉(zhuǎn)數(shù)據(jù)傳輸功能的無線監(jiān)控系統(tǒng)。文獻(xiàn)提出了一種基于ZigBee 無線通信技術(shù)的設(shè)備監(jiān)控系統(tǒng)。然而現(xiàn)有視頻監(jiān)控系統(tǒng)的終端僅依靠工作人員頻繁切換監(jiān)控畫面對現(xiàn)場進(jìn)行監(jiān)控,這不僅降低了監(jiān)控系統(tǒng)的工作效率,而且使未被切換到的畫面成為監(jiān)控盲區(qū),此外,現(xiàn)有監(jiān)控系統(tǒng)很少具備自動報警功能,這也是視頻監(jiān)控系統(tǒng)需要重點(diǎn)研究的方向。
本文基于無線傳感網(wǎng)絡(luò)定位技術(shù),設(shè)計一個人群異常活動視頻監(jiān)控系統(tǒng)。該系統(tǒng)能夠?qū)θ藛T的活動位置進(jìn)行較精確的定位,當(dāng)出現(xiàn)異常活動時,自動觸發(fā)報警功能,系統(tǒng)工作人員只需要在接到報警信息后處理現(xiàn)場,從而提高系統(tǒng)的工作效率。本文從系統(tǒng)關(guān)鍵技術(shù)與難點(diǎn)問題入手,首先針對接收信號強(qiáng)度指示和距離的理想狀態(tài)關(guān)系模型在實(shí)際應(yīng)用中存在的問題,通過設(shè)計實(shí)驗(yàn),獲取大量數(shù)據(jù),并對其采用曲線擬合技術(shù)得到接收信號強(qiáng)度指示和距離的關(guān)系。然后針對傳感器節(jié)點(diǎn)位置信息因受節(jié)點(diǎn)供電不穩(wěn)定等因素影響而產(chǎn)生噪聲數(shù)據(jù)的問題,設(shè)計了一種基于期望值和閾值的濾波技術(shù)過濾噪聲數(shù)據(jù)。其次,提出了非安全域的設(shè)計思路,系統(tǒng)若發(fā)現(xiàn)被監(jiān)控人員出現(xiàn)在非安全域,則自動觸發(fā)報警。最后,設(shè)計并實(shí)現(xiàn)了一個原型系統(tǒng),包括底層傳感器節(jié)點(diǎn)硬件編程、中間層消息處理和上層數(shù)據(jù)處理等模塊。
1 系統(tǒng)關(guān)鍵技術(shù)與難點(diǎn)問題
1.1 獲取 RSSI 和距離值的對應(yīng)關(guān)系
接收信號強(qiáng)度指示(RSSI,Received Signal Strength Indicator)通過信號在傳播過程中的衰減來估計節(jié)點(diǎn)之間的距離[8]。由于信號在傳播過程中信號強(qiáng)度會降低,根據(jù)接收機(jī)接收到的信號強(qiáng)度,可以估計發(fā)射機(jī)的距離。無線信道的數(shù)學(xué)模型如式(1)。
式(1)中,d 是發(fā)射機(jī)和接收機(jī)之間的距離, d0 是參考距離; np 是信道衰減指數(shù);一般取值2-4; p0 是距離發(fā)射機(jī)d 0 處的信號強(qiáng)度;P(d)是距離發(fā)射機(jī)d 處的信號強(qiáng)度; p0 可以通過經(jīng)驗(yàn)得出,或者從硬件規(guī)范定義得到。由此方程可以通過信號強(qiáng)度P(d)求出d 。
然而,信道因受到多徑衰減(Multi-path Fading)和非視距阻擋(Non-of-Sight Blockage)的影響而具有時變性,在特定環(huán)境中,嚴(yán)重偏離上述模型,通過接收到的信號強(qiáng)度估計出的距離d 有很大的誤差。
因此,理想狀態(tài)下RSSI 值和距離的關(guān)系不適用本系統(tǒng)。本文必須找到RSSI 值和距離在實(shí)驗(yàn)環(huán)境下的函數(shù)關(guān)系,這是本文所作工作的一個重點(diǎn)也是難點(diǎn)。通過研究分析,本文設(shè)計了獲取RSSI 和距離在實(shí)驗(yàn)環(huán)境下關(guān)系的實(shí)驗(yàn),實(shí)驗(yàn)方案如圖1 所示。
圖1 RSSI 和距離關(guān)系獲取實(shí)驗(yàn)方案
距離為d 時,三個TestNode 節(jié)點(diǎn)分別向RevNode 發(fā)送40 個數(shù)據(jù)包,RecvNode 節(jié)點(diǎn)提取出接收到的120 個數(shù)據(jù)包中的RSSI 值并求其平均值,如此實(shí)驗(yàn)重復(fù)10 次,再對所有平均值求均值,如圖2 所示。
圖2 距離為1米時2號錨節(jié)點(diǎn)的RSSI值
由此易知,每個距離d 就對應(yīng)著一個RSSI 均值,對所有數(shù)據(jù)匯總后,得到如下RSSI和距離之間的關(guān)系如圖3 所示。
圖3 距離和RSSI之間的關(guān)系
1.2 曲線擬合
本文利用曲線擬合中的指數(shù)擬合和多項式擬合的辦法找函數(shù)關(guān)系。通過一系列實(shí)驗(yàn)并計較得到三次多項式擬合效果最好。擬合得到的函數(shù)表達(dá)式如式2 所示。
圖4 所示為三次多項式與指數(shù)擬合得到的距離與RSSI 關(guān)系對比圖,從圖中可以明顯看出,利用三次多項式擬合出來的曲線和實(shí)際情況更吻合。
圖4 三次多項式與指數(shù)擬合得到的距離與RSSI 關(guān)系對比
1.3 校正處理
無線傳感器節(jié)點(diǎn)因受環(huán)境因素較大,故在用接收到的RSSI 值進(jìn)行計算前因先進(jìn)行RSSI值校正處理。首先,設(shè)定RSSI 取值的最小和最大臨界值,當(dāng)實(shí)驗(yàn)測量到的RSSI 值遠(yuǎn)遠(yuǎn)小于最小臨界值則令其等于最小臨界值,或者RSSI 遠(yuǎn)遠(yuǎn)大于最大臨界值時則令其等于最大臨界值,如果RSSI 和臨界值相差不大,則根據(jù)從實(shí)驗(yàn)過程中得到的經(jīng)驗(yàn)對該RSSI 值進(jìn)行適當(dāng)校正,使該RSSI 值回到臨界區(qū)域內(nèi)部。
1.4 濾波
第一步:設(shè)定RSSI 的期望值,如式(3)式所示:
其中, R 0 是預(yù)期的RSSI 值,R 是實(shí)際得到的RSSI 值, R 1 是前一次得到的RSSI 值,R2是在此之前的第二次得到的RSSI 值,α、β、γ 分別是R, R1 , R2 在期望值中所占的權(quán)重,分別將其設(shè)置為0.6,0.25,0.15。
第二步:設(shè)定閾值,閾值是在大量實(shí)驗(yàn)基礎(chǔ)上進(jìn)行總結(jié)再設(shè)定的,該系統(tǒng)中設(shè)為0.5。
第三步:除噪,若期望值0 R 和當(dāng)前值R 差的絕對值小于設(shè)定的閾值,就讓令上一次的值作為當(dāng)前值,R= 1 R ,同時2 R = 1 R;若期望值和當(dāng)前值差的絕對值已經(jīng)大于閾值,則令期望值作為當(dāng)前值,R= R 0 ,同時, R2 = R 1 , R 1 = R 0 ;實(shí)驗(yàn)結(jié)果表明:通過以上濾波處理,不僅減小了節(jié)點(diǎn)不穩(wěn)定帶來的軌跡震蕩,節(jié)點(diǎn)的軌跡變化曲線更加趨于平緩。
1.5 串口數(shù)據(jù)提取
在串口通信協(xié)議中一個串口通信數(shù)據(jù)幀的格式如圖5所示:
圖5 串口通信數(shù)據(jù)幀的格式
Sync 是一個數(shù)據(jù)幀的起始和結(jié)束標(biāo)志符,用0x7E 來表示該標(biāo)志符。緊跟在起始Sync后面的是Type標(biāo)志符。CRC用來表示冗余校驗(yàn)碼,其中,參與冗余校驗(yàn)的字段為TOS MsgHeader 和Payload,這兩個字段存放的是網(wǎng)關(guān)收到的一個傳感器節(jié)點(diǎn)發(fā)出的完整的路由包。
最后面的一個Sync 用來表示幀的結(jié)束。
在實(shí)驗(yàn)過程中,串口接收到的原始數(shù)據(jù)如圖6 所示:
圖6 串口原始數(shù)據(jù)
通過對上表中數(shù)據(jù)分析得知:表中第一條數(shù)據(jù)中0x7E 表示一個數(shù)據(jù)幀的起始,0x42 表示一個數(shù)據(jù)幀的Type,不要求接收方對發(fā)送方回復(fù)一個確認(rèn)包。從第二行第五個數(shù)據(jù)開始時對上層應(yīng)用有用的字段,在進(jìn)行上層開發(fā)時,可以從該處提取出串口中的數(shù)據(jù),其中0x0100,表示數(shù)據(jù)包的ID 號,緊跟其之后的是兩個字節(jié)0x3A00 表示接收到的數(shù)據(jù)包的序列號,接下來的0x 0200 表示錨節(jié)點(diǎn)的ID 號為2,0x0500 表示Move 節(jié)點(diǎn)的ID 號為5,0x0800 表示從2 號錨節(jié)點(diǎn)獲取到的5 號Move 節(jié)點(diǎn)的RSSI 值為8, 接下來的0x 0300 表示錨節(jié)點(diǎn)的ID號為3,0x0500 表示Move 節(jié)點(diǎn)的ID 號為5,0x0C00 表示從3 號錨節(jié)點(diǎn)獲取到的5 號Move節(jié)點(diǎn)的RSSI 值為0x0C, 接下來的0x 0400 表示錨節(jié)點(diǎn)的ID 號為4,0x0500 表示Move 節(jié)點(diǎn)的ID 號為5,0xF800 表示從4 號錨節(jié)點(diǎn)獲取到的5號Move節(jié)點(diǎn)的RSSI值為0Xf8,接下來的F207FE 為CRC 字段,最后一個7E 為數(shù)據(jù)幀的結(jié)束字段。通過以上分析,可以快速從串口通信數(shù)據(jù)中提取所需的字段,為上層開發(fā)奠定基礎(chǔ)。
2 系統(tǒng)設(shè)計
2.1 系統(tǒng)架構(gòu)
系統(tǒng)由底層(硬件層),中間層(串口消息解析層),上層(數(shù)據(jù)處理層)系統(tǒng)的構(gòu)架如圖7所示。
圖7 系統(tǒng)架構(gòu)
2.2 底層模塊設(shè)計
底層模塊通過Move 節(jié)點(diǎn)發(fā)送數(shù)據(jù)到Node1,Node2,Node3 節(jié)點(diǎn),Node1,Node2,Node3節(jié)點(diǎn)分別從Move 節(jié)點(diǎn)中取出RSSI 值并將這些值連同自身的SOURECE_ADDRESS 值封裝到數(shù)據(jù)字段并通過Forward 節(jié)點(diǎn)轉(zhuǎn)發(fā)給Sink 無線網(wǎng)關(guān)節(jié)點(diǎn)。底層模塊結(jié)構(gòu)如圖8 所示:
圖8底層結(jié)構(gòu)2.3 中間層模塊設(shè)計
該層主要負(fù)責(zé)接收來自底層的串口消息,該層的重點(diǎn)就是對串口數(shù)據(jù)包的內(nèi)容進(jìn)行解析,獲取數(shù)據(jù)包中節(jié)點(diǎn)的RSSI 值、錨節(jié)點(diǎn)ID 號等信息,并將其交給上層進(jìn)行處理。
2.4 上層模塊設(shè)計
本文將該基于無線傳感網(wǎng)絡(luò)的人群異常活動視頻監(jiān)控系統(tǒng)的上層模塊分為以下六個子模塊:
串口配置模塊:該模塊主要對串口的各項參數(shù)進(jìn)行配置,在不同的網(wǎng)關(guān)連接上PC 機(jī)時配置不同的串口,使該系統(tǒng)的可擴(kuò)展性增強(qiáng)。
實(shí)時監(jiān)控模塊:該模塊主要負(fù)責(zé)將無線傳感網(wǎng)絡(luò)中移動節(jié)點(diǎn)的軌跡信息實(shí)時顯示在監(jiān)控畫面當(dāng)中;用戶通過點(diǎn)擊顯示樣例軌跡了解軌跡的概念;通過清除軌跡操作清除屏幕上的所有軌跡信息;此外,用戶可以通過調(diào)整顯示刷新周期,對軌跡數(shù)據(jù)的動態(tài)刷新周期進(jìn)行設(shè)置;如果刷新周期設(shè)置過長,則通過手動刷新按鈕刷新軌跡以實(shí)時觀察移動節(jié)點(diǎn)的估計信息。
歷史回放模塊:該模塊主要根據(jù)用戶的設(shè)置回放移動節(jié)點(diǎn)的歷史軌跡。用戶根據(jù)自己的要求回放具體時間移動節(jié)點(diǎn)的軌跡信息,如回放一天、一天的一段時間;幾天、幾天里面的一段時間或者一個精確時間的被監(jiān)控人員的軌跡信息。此外,該模塊提供設(shè)置回放周期功能,用戶根據(jù)自己的需求設(shè)置每次回放的移動節(jié)點(diǎn)位置信息的個數(shù)和回放周期,系統(tǒng)將反饋給用戶查詢的時間段內(nèi)數(shù)據(jù)庫中所有記錄的條數(shù),用戶通過系統(tǒng)能清楚地知道需要回放的記錄條數(shù)以及待回放的記錄條數(shù)。
歷史數(shù)據(jù)查詢模塊:該模塊主要負(fù)責(zé)歷史數(shù)據(jù)的查詢功能,模塊包括人員位置/軌跡一般查詢、人員位置 /軌跡高級查詢、歷史警報信息查詢?nèi)蠊δ堋F渲校藛T位置/軌跡高級查詢,主要根據(jù)用戶輸入的時間段信息查詢?nèi)藛T的軌跡信息,用戶根據(jù)需求查詢一天、一天的一段時間、幾天、幾天的一段時間或者是一個精確時刻的軌跡信息。此外,該部分還提供了一些其他功能,如用戶在顯示軌跡區(qū)域單擊一個點(diǎn),該單擊點(diǎn)的在繪圖區(qū)域的坐標(biāo)、該坐標(biāo)對應(yīng)的實(shí)際區(qū)域中的坐標(biāo)及查詢?nèi)藛T在該實(shí)際坐標(biāo)出現(xiàn)的次數(shù)都將被列出來顯示。歷史數(shù)據(jù)查詢模塊的另外一個重要功能就是歷史警報信息的查詢功能。該功能允許用戶查看所有的警報信息,即被監(jiān)測人員所出現(xiàn)的所有非安全區(qū)域的信息。此外,系統(tǒng)提供用戶根據(jù)需要刪除部分選定的警報信息的功能。
非安全域設(shè)置模塊:該模塊主要負(fù)責(zé)非安全域的設(shè)置。非安全域的正確設(shè)置對系統(tǒng)的自動報警功能及系統(tǒng)的可靠性起著極其重要的作用。所以只有擁有設(shè)置權(quán)限的用戶才能進(jìn)行非安全域的設(shè)置。如果被監(jiān)控的人員出現(xiàn)在非安全區(qū)域,系統(tǒng)將觸發(fā)警報。非安全域即定義一個非安全域的中心和非安全域的半徑,所有處在該非安全域中的點(diǎn)將觸發(fā)報警功能。該模塊允許擁有權(quán)限的用戶根據(jù)實(shí)際需要對非安全域進(jìn)行修改,添加,刪除和查詢等操作。
人員信息指南模塊:該模塊主要實(shí)現(xiàn)了對歷史數(shù)據(jù)的統(tǒng)計工作。用戶根據(jù)需求查詢指定區(qū)域內(nèi)出現(xiàn)的時間,此外,該模塊還提供查詢指定時間內(nèi)被監(jiān)控人員出現(xiàn)區(qū)域的功能。在指定區(qū)域出現(xiàn)的時間查詢窗體中,用戶設(shè)置需查詢的區(qū)域或者根據(jù)輸入要查詢的時間段,查詢結(jié)果將顯示所有查詢到的記錄條數(shù),此外,該部分還提供了其他的一些功能,如用戶可以獲得被監(jiān)控人員每個小時時段出現(xiàn)的次數(shù)以及每個小時時段在每天的24 小時中所占的比例,這樣根據(jù)查詢的結(jié)果用戶很容易獲取在指定區(qū)域被監(jiān)控的人員出現(xiàn)的最頻繁的時間。在指定時間內(nèi)位置信息查詢功能中,用戶輸入要查詢的時間段,得到查詢結(jié)果后,用戶單擊任意一條查詢結(jié)果,就可獲取該單擊點(diǎn)對應(yīng)時刻和對應(yīng)地點(diǎn)被監(jiān)控人員出現(xiàn)的次數(shù)。
報警并錄制現(xiàn)場模塊:報警并錄制現(xiàn)場模塊:該模塊提供報警和對現(xiàn)場進(jìn)行錄像功能,系統(tǒng)在發(fā)現(xiàn)人員出現(xiàn)在非安全域時自動觸發(fā)報警并對現(xiàn)場進(jìn)行一段時間的錄像操作。此外,系統(tǒng)還提供解除警報或結(jié)束現(xiàn)場錄制的功能。
3 系統(tǒng)實(shí)現(xiàn)
3.1 系統(tǒng)開發(fā)環(huán)境
本系統(tǒng)需要使用攝像頭、micaz 節(jié)點(diǎn)及無線網(wǎng)關(guān)。圖9所示為該系統(tǒng)中使用的主要硬件設(shè)施,從左至右依次為micaz 節(jié)點(diǎn)、無線網(wǎng)關(guān),攝像頭。無線網(wǎng)關(guān)與PC 機(jī)通過串口連接,micaz 節(jié)點(diǎn)之間通過無線方式進(jìn)行相互之間的通信,攝像頭負(fù)責(zé)對現(xiàn)場進(jìn)行錄像。
圖9 硬件設(shè)施
3.2 系統(tǒng)展示
圖10顯示了系統(tǒng)整體運(yùn)行主界面,用戶可以通過該界面進(jìn)入到各個子模塊界面當(dāng)中進(jìn)行相關(guān)操作。
圖10 系統(tǒng)運(yùn)行主界面
圖11 顯示了被監(jiān)控人員的軌跡信息的實(shí)時監(jiān)控畫面:
圖11實(shí)時軌跡監(jiān)控
圖12 歷史數(shù)據(jù)回放
圖13 非安全域設(shè)置
圖14 人員在指定區(qū)域出現(xiàn)的時間查詢
圖15 歷史軌跡高級查詢
圖16 報警并錄制現(xiàn)場
4 結(jié)束語
本文基于無線傳感網(wǎng)絡(luò)定位技術(shù),設(shè)計一個人群異常活動視頻監(jiān)控系統(tǒng)。針對傳統(tǒng)的視頻監(jiān)控系統(tǒng)中存在監(jiān)控盲區(qū)等問題,本文設(shè)計的系統(tǒng)通過傳感器節(jié)點(diǎn)射頻芯片的接收信號強(qiáng)度對人員進(jìn)行定位;通過設(shè)立非安全域監(jiān)視和識別人員的異常活動,當(dāng)異常活動出現(xiàn),便自動報警并對現(xiàn)場進(jìn)行錄像。本文設(shè)計的系統(tǒng)有效地避免了監(jiān)控盲區(qū)的出現(xiàn),同時自動報警功能讓監(jiān)控系統(tǒng)的工作效率得到提高。展望未來,視頻監(jiān)控系統(tǒng)的安全性、高效性以及智能化仍將是一個重點(diǎn)研究方向。
?
評論
查看更多