陳三風(fēng), 陳全義, 胡濤
(1. 深圳信息職業(yè)技術(shù)學(xué)院信息技術(shù)研究所,廣東 深圳 518172;2. 深圳市可視媒體處理與傳輸重點(diǎn)實(shí)驗(yàn)室,廣東 深圳 518172)
目前,大部分無(wú)線傳感器網(wǎng)絡(luò)定位算法[1-3]的計(jì)算復(fù)雜度、通信復(fù)雜度和時(shí)間復(fù)雜度會(huì)隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大而大大增加, 這會(huì)導(dǎo)致大規(guī)模網(wǎng)絡(luò)系統(tǒng)癱瘓。大規(guī)模無(wú)線傳感器網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的計(jì)算復(fù)雜度要求非常高,有關(guān)學(xué)者提出了基于質(zhì)量-彈簧模型的定位算法[4],其要求網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都具有測(cè)距能力,網(wǎng)絡(luò)中沒(méi)有錨節(jié)點(diǎn),比較靈活,但是其計(jì)算復(fù)雜度比較高、收斂速度較慢、定位精度也不高。對(duì)此,有關(guān)研究者提出一種基于彈簧粒子網(wǎng)絡(luò)模型的定位算法[5-6](localization algorithm based on a spring particle model,LASPM)。該定位算法的計(jì)算復(fù)雜度比較低,不會(huì)隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大而增大,可以滿足大規(guī)模無(wú)線傳感器網(wǎng)絡(luò)的需要,并且可以保證定位精度。為了驗(yàn)證定位算法LASPM及其衍生定位算法性能,本文設(shè)計(jì)了一個(gè)無(wú)線傳感器混合網(wǎng)絡(luò)系統(tǒng),其基于兩個(gè)子系統(tǒng):(1)CC2431傳感器節(jié)點(diǎn)網(wǎng)絡(luò);(2)智能手機(jī)iPhone網(wǎng)絡(luò)。其中,CC2431作為普通無(wú)線傳感器節(jié)點(diǎn)可以完成數(shù)據(jù)采集、節(jié)點(diǎn)定位等任務(wù);智能手機(jī)作為高級(jí)傳感器節(jié)點(diǎn),主要用于智能手機(jī)和CC2431傳感器網(wǎng)絡(luò)之間的通信、獲取數(shù)據(jù)和采集節(jié)點(diǎn)信息,以及這些信息與智能手機(jī)之間的傳輸,同時(shí)作為移動(dòng)傳感器節(jié)點(diǎn)。本系統(tǒng)主要由以下三個(gè)部分組成:CC2431傳感器網(wǎng)絡(luò)及定位系統(tǒng)、智能手機(jī)網(wǎng)絡(luò)系統(tǒng)、CC2431傳感器網(wǎng)絡(luò)與智能手機(jī)網(wǎng)絡(luò)通信系統(tǒng)。本文將對(duì)該系統(tǒng)的系統(tǒng)設(shè)計(jì)、通信協(xié)議及定位算法、實(shí)驗(yàn)驗(yàn)證進(jìn)行研究。
總體系統(tǒng)設(shè)計(jì)包括網(wǎng)絡(luò)硬件和網(wǎng)絡(luò)框架結(jié)構(gòu),其中網(wǎng)絡(luò)硬件主要研究無(wú)線傳感器節(jié)點(diǎn)的設(shè)計(jì)。
本系統(tǒng)的傳感器節(jié)點(diǎn)包括以下兩類:
(1) 普通傳感器節(jié)點(diǎn)
CC2431傳感器節(jié)點(diǎn)模塊如下圖所示,其主要包括以下模塊:主控模塊、定位引擎模塊、電源控制模塊、天線、電池等[7-9]。
圖1 基于CC2431普通無(wú)線傳感器結(jié)構(gòu)圖Fig .1 The proposed sensor node architecture based on CC2431
(2) 高級(jí)傳感器節(jié)點(diǎn)
本研究系統(tǒng)采用智能手機(jī)作為高級(jí)傳感器節(jié)點(diǎn),iPhone手機(jī)的運(yùn)算速度快,存儲(chǔ)容量大,可以滿足本實(shí)驗(yàn)系統(tǒng)需求。本文中iPhone配備的傳感器包括視覺(jué)傳感器(攝像頭)、加速度傳感器(陀螺儀)、接近傳感器等。
本論文的實(shí)驗(yàn)需求如下:(1) 對(duì)各CC2431傳感器節(jié)點(diǎn)進(jìn)行定位;(2) 將CC2431傳感器節(jié)點(diǎn)信息(包括位置信息)發(fā)送至客戶端;(3) 智能手機(jī)之間的信息傳輸。
本實(shí)驗(yàn)需要解決以下通信問(wèn)題:(1) CC2431間的信息傳輸;(2) 智能手機(jī)(如iPhone)和普通傳感器節(jié)點(diǎn)間通信;(3) 智能手機(jī)(如iPhone)之間的通信。
1.2.1 普通傳感器節(jié)點(diǎn)之間相互通信
CC2431傳感器節(jié)點(diǎn)采用IEEE 802.15.4通信協(xié)議,通過(guò)射頻電路接收和發(fā)送信號(hào),同時(shí)其可作為信號(hào)轉(zhuǎn)發(fā)基站。
1.2.2 CC2431與智能手機(jī)之間的通信
由于智能手機(jī)的通信協(xié)議與IEEE 802.15.4通信協(xié)議互不兼容,因此兩者不可直接通信。目前智能手機(jī)有4種通信方式:無(wú)線WiFi通信、手機(jī)網(wǎng)絡(luò)、NFC近場(chǎng)通信和藍(lán)牙。本文將網(wǎng)關(guān)節(jié)點(diǎn)作為中介,將CC2431傳感器節(jié)點(diǎn)的信息傳輸?shù)接?jì)算機(jī)上,計(jì)算機(jī)基于Internet等方式與Server通信。智能手機(jī)通過(guò)WiFi等方式與Server通信,即可實(shí)現(xiàn)CC2431和智能手機(jī)間的信息傳輸。
1.2.3 智能手機(jī)間的信息傳輸
iPhone通過(guò)sim卡網(wǎng)絡(luò)可與其它iPhone智能手機(jī)進(jìn)行通信,其還具備藍(lán)牙通信和近場(chǎng)通信模式,另外還可通過(guò)WiFi無(wú)線上網(wǎng)通信。
圖2 智能手機(jī)和傳感器節(jié)點(diǎn)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 The network architecture diagrams of Smart phone and sensor node
本系統(tǒng)由普通傳感器節(jié)點(diǎn)和智能手機(jī)(iPhone)組成混合網(wǎng)絡(luò),如圖2所示。圖2左邊為普通傳感器節(jié)點(diǎn)網(wǎng)絡(luò),右邊為智能手機(jī)(iPhone)組成的網(wǎng)絡(luò)。
本文研究的無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)具備如下功能:
(1)通信功能:無(wú)線傳感器網(wǎng)絡(luò)和上層用戶之間通信;
(2)數(shù)據(jù)轉(zhuǎn)發(fā)及路由功能;
(3)定位能力。
針對(duì)以上需求,采用對(duì)應(yīng)的方案如下:
(1) 間接通信
傳感器節(jié)點(diǎn)和計(jì)算機(jī)之間通過(guò)有線或者無(wú)線的方式進(jìn)行通信。傳感器節(jié)點(diǎn)通過(guò)sink node網(wǎng)關(guān)節(jié)點(diǎn)將數(shù)據(jù)傳輸至計(jì)算機(jī),服務(wù)器通過(guò)wifi方式與智能手機(jī)用戶連接。
(2) 自適應(yīng)路由機(jī)制
網(wǎng)絡(luò)定位初始階段,傳感器節(jié)點(diǎn)尚不具備位置信息,此時(shí)各節(jié)點(diǎn)的路由方法不依賴于位置信息;傳感器節(jié)點(diǎn)定位后,網(wǎng)關(guān)節(jié)點(diǎn)將一些信息(如位置坐標(biāo)等)傳輸給上層用戶,此時(shí)采用基于地理位置信息的路由方法,其可節(jié)省傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的能量。本論文還設(shè)計(jì)了統(tǒng)一使用上述兩種路由方法的路由機(jī)制,iPhone網(wǎng)絡(luò)也可使用該路由機(jī)制。
為了實(shí)現(xiàn)上述自適應(yīng)的路由機(jī)制方案,并對(duì)上層用戶提供統(tǒng)一的接口。本文采用以下兩種路由方案。
(1)定位前——受限泛洪路由方法(RFR)
定位前,采用受限泛洪路由方法(RFR)方法。泛洪路由方法由Zhang Y.[10]提出,但目前未應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位。RFR路由方法如下:若某一節(jié)點(diǎn)需要和其它節(jié)點(diǎn)通信,先向鄰節(jié)點(diǎn)廣播一條消息。根據(jù)消息的生命值即LV值,RFR路由使用統(tǒng)一方法處理。RFR路由方法根據(jù)LV設(shè)置可阻止消息在網(wǎng)絡(luò)中不休止傳播。
(2)定位后——基于節(jié)點(diǎn)位置信息的路由方法(RGP)
網(wǎng)絡(luò)節(jié)點(diǎn)的能量是設(shè)計(jì)路由方法時(shí)的重要考慮因素[11]。基于節(jié)點(diǎn)地理位置的路由方法(RGP)集成了概率因素,節(jié)點(diǎn)通過(guò)一定隨機(jī)性來(lái)進(jìn)行選擇。該路由方法[12]受蟻群算法的啟發(fā),在最短路徑和能量平衡中折衷。
將上述兩種路由方案分別用于定位前、后,并采用自適應(yīng)路由機(jī)制來(lái)統(tǒng)一處理這兩個(gè)路由方案。本文的自適應(yīng)路由機(jī)制結(jié)構(gòu)如圖3所示。上層應(yīng)用只需采用統(tǒng)一的接口來(lái)實(shí)現(xiàn)路由,其它由仲裁器抉擇。
圖3 自適應(yīng)路由機(jī)制Fig.3 Adaptive Routing mechanism
為了驗(yàn)證本混合網(wǎng)絡(luò)測(cè)距、定位和路由算法的性能,本系統(tǒng)將開(kāi)展3個(gè)實(shí)驗(yàn):(1)基于RSSI的節(jié)點(diǎn)測(cè)距;(2)無(wú)線傳感器網(wǎng)絡(luò)的LASPM定位算法性能;(3)智能手機(jī)iPhone網(wǎng)絡(luò)的通信組網(wǎng)。
在本實(shí)驗(yàn)中,采用RSSI方法進(jìn)行測(cè)距[13-18],RSSI測(cè)距的信號(hào)傳播衰減程度與距離之間的關(guān)系如下:。 假設(shè)節(jié)點(diǎn)A向B傳遞信號(hào),節(jié)點(diǎn)A和節(jié)點(diǎn)C之間距離已知,C節(jié)點(diǎn)作為參考節(jié)點(diǎn),P(d)為B節(jié)點(diǎn)接收到A節(jié)點(diǎn)的信號(hào)強(qiáng)度,P(d0)為節(jié)點(diǎn)C接收到節(jié)點(diǎn)A的信號(hào)強(qiáng)度,d為節(jié)點(diǎn)A、B之間的間距,d0表示節(jié)點(diǎn)A、C之間的間距,n為路徑長(zhǎng)度和路徑損耗的比例系數(shù),ε為誤差。
為提高測(cè)距精度,在實(shí)際實(shí)驗(yàn)環(huán)境中可事先測(cè)量出真實(shí)距離以及相應(yīng)的信號(hào)強(qiáng)度,構(gòu)建距離和信號(hào)強(qiáng)度的數(shù)據(jù)庫(kù),獲得距離與信號(hào)強(qiáng)度之間的關(guān)系曲線。若數(shù)據(jù)不在表中,則用曲線擬合估算該信號(hào)強(qiáng)度對(duì)應(yīng)的距離;另外,B節(jié)點(diǎn)采用同樣方法可獲得節(jié)點(diǎn)B到A的距離,并采用平均濾波法濾波。
本文的實(shí)驗(yàn)場(chǎng)地如下圖4所示,在測(cè)量信號(hào)衰減強(qiáng)度RSSI和距離的關(guān)系時(shí),節(jié)點(diǎn)A固定,節(jié)點(diǎn)B、A之間的距離分別為1m,2m,3m,…,20m,節(jié)點(diǎn)A發(fā)送信號(hào)給B節(jié)點(diǎn),各距離分別做實(shí)驗(yàn)獲得10組數(shù)據(jù)。
圖4 模擬實(shí)驗(yàn)場(chǎng)景Fig.4 The experiment field to test the localization algorithm
傳感器節(jié)點(diǎn)距離VS信號(hào)衰減強(qiáng)度的關(guān)系如圖5所示。本文對(duì)各個(gè)距離對(duì)應(yīng)的10組信號(hào)衰減數(shù)據(jù)進(jìn)行平均值濾波。
從圖5可知,log(距離)為 0-7時(shí),即節(jié)點(diǎn)距離為1-5m時(shí),信號(hào)衰減強(qiáng)度RSSI曲線基本為直線,與信號(hào)衰減強(qiáng)度RSSI與距離關(guān)系的理論模型一致。當(dāng)log(距離)較大時(shí),信號(hào)衰減速率與距離增加的速率相比,其更緩慢,即敏感度大為降低。當(dāng)信號(hào)衰減量較大時(shí),其誤差將大幅度提高。
圖5 節(jié)點(diǎn)log(距離)VS信號(hào)衰減強(qiáng)度曲線Fig.5 The curve of nod log(distance) VS RSSI
本實(shí)驗(yàn)系統(tǒng)使用20個(gè)普通傳感器節(jié)點(diǎn),將普通無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分布在一個(gè)范圍為20m×20m實(shí)驗(yàn)場(chǎng)地,實(shí)驗(yàn)場(chǎng)地如圖4所示。在實(shí)驗(yàn)場(chǎng)地4個(gè)角分布了4個(gè)錨節(jié)點(diǎn),實(shí)驗(yàn)采用LASPM定位算法[1-2],定位實(shí)驗(yàn)結(jié)果如圖6所示。本文的實(shí)驗(yàn)定位誤差1m以內(nèi)。該精度可滿足一般機(jī)器人導(dǎo)航等無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用場(chǎng)景。
圖6 網(wǎng)絡(luò)定位實(shí)驗(yàn)結(jié)果Fig.6 The localization experimental results of the proposed networks
iPhone的開(kāi)發(fā)語(yǔ)言采用Objective-C,當(dāng)iPhone間的距離小于10米時(shí),采用藍(lán)牙通信;當(dāng) iPhone間的距離大于10米時(shí),采用Wifi通信。
iPhone間Wifi的通信,其任務(wù)為收、發(fā)信息。在本文實(shí)驗(yàn)中,使用socket可實(shí)現(xiàn) iPhone間簡(jiǎn)單的信息傳遞,當(dāng)需傳輸?shù)臄?shù)據(jù)量較大時(shí),不可將這些數(shù)據(jù)直接給socket。每個(gè)socket配置了兩個(gè)流,即Write stream和Read stream。socket服務(wù)可能造成堵塞,增加新線程可有效解決通道堵塞問(wèn)題。但是,其不適合iPhone,因?yàn)樾戮€程占用資源較多,其導(dǎo)致iPhone運(yùn)行較慢。在本實(shí)驗(yàn)系統(tǒng)中,將socket服務(wù)添加至主應(yīng)用程序loop中,其有效地解決了信息堵塞問(wèn)題。
iPhone間可通信后,使用本文的數(shù)據(jù)路由轉(zhuǎn)發(fā)協(xié)議,實(shí)現(xiàn)iPhone智能手機(jī)間的各種信息傳遞交換。
本文設(shè)計(jì)了一個(gè)無(wú)線傳感器網(wǎng)絡(luò)定位系統(tǒng)。該混合網(wǎng)絡(luò)定位系統(tǒng)由普通無(wú)線傳感器節(jié)點(diǎn)CC2431和iPhone等智能手機(jī)節(jié)點(diǎn)組成,該混合傳感器系統(tǒng)可實(shí)現(xiàn)普通傳感器節(jié)點(diǎn)、智能手機(jī)之間的通信和組網(wǎng)、并驗(yàn)證了LASPM定位精度等性能指標(biāo)。實(shí)驗(yàn)結(jié)果證明,該無(wú)線傳感器混合網(wǎng)絡(luò)系統(tǒng)是有效可靠的。
深圳信息職業(yè)技術(shù)學(xué)院學(xué)報(bào)2018年2期