基于TinyOS的CC2430 RSSI定位的設(shè)計(jì)與實(shí)現(xiàn)
匯聚節(jié)點(diǎn)組件連接如下:
4.4 程序移植與實(shí)驗(yàn)結(jié)果
本實(shí)驗(yàn)在Cygwin平臺(tái)下進(jìn)行編譯與移植,編譯過程如圖6所示。
圖6 TinyOS編譯流程圖
進(jìn)入Cygwin環(huán)境,切換到TinyOS定位程序目錄下,輸入編譯移植命令:
make cc2430em install NID=0x GRP=00
其中NID是節(jié)點(diǎn)號(hào),是節(jié)點(diǎn)的身份標(biāo)識(shí),同一網(wǎng)絡(luò)中的節(jié)點(diǎn)號(hào)必須惟一;GRP是網(wǎng)絡(luò)號(hào),同一網(wǎng)絡(luò)中所有節(jié)點(diǎn)的網(wǎng)絡(luò)號(hào)必須一致。
在所有節(jié)點(diǎn)的TinyOS移植完畢后,啟動(dòng)所有節(jié)點(diǎn),應(yīng)用串口調(diào)試助手顯示匯聚節(jié)點(diǎn)發(fā)送到PC機(jī)的RSSI數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)如圖7所示,其中1~7個(gè)字節(jié)數(shù)據(jù)為信息包的包頭,8~9兩字節(jié)為中繼錨節(jié)點(diǎn)的節(jié)點(diǎn)號(hào),10~11兩字節(jié)為源錨節(jié)點(diǎn)的節(jié)點(diǎn)號(hào),12~13字節(jié)為源錨節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的跳數(shù),14~15字節(jié)為盲節(jié)點(diǎn)的節(jié)點(diǎn)號(hào),21~22兩字節(jié)數(shù)據(jù)為錨節(jié)點(diǎn)的RSSI值。
圖7 錨節(jié)點(diǎn)RSSI值
在確定PC機(jī)能夠正確接收各錨節(jié)點(diǎn)的RSSI值后,還需要選取合適的RSSI測(cè)距信號(hào)衰減模型,將RSSI值轉(zhuǎn)化為距離。本實(shí)驗(yàn)中采用在無線信號(hào)傳輸中應(yīng)用廣泛的對(duì)數(shù)--常態(tài)模型,如式(1)所示:
RSSI=-(10n·lg(d)+A)+45 (1)
其中A為盲節(jié)點(diǎn)與錨節(jié)點(diǎn)相距1米時(shí)RSSI的絕對(duì)值,本實(shí)驗(yàn)中測(cè)得A≈40,n為無線信號(hào)傳播指數(shù),一般取2~4,經(jīng)過多次試驗(yàn)取3.0較為合適。將本模型應(yīng)用在所測(cè)得的RSSI中,并對(duì)比實(shí)際距離得到如表1和圖8所示結(jié)果:表1中d為RSSI理論模型所得距離,D為實(shí)際測(cè)量結(jié)果。
表1 RSSI值與距離的轉(zhuǎn)換
圖8 RSSI測(cè)距模型驗(yàn)證
在實(shí)驗(yàn)室環(huán)境下布置了4個(gè)錨節(jié)點(diǎn)、1個(gè)匯聚節(jié)點(diǎn)和1個(gè)盲節(jié)點(diǎn),4個(gè)錨節(jié)點(diǎn)分布在4.8x3.6 m2矩形的4個(gè)點(diǎn),盲節(jié)點(diǎn)位于矩形區(qū)域內(nèi),匯聚節(jié)點(diǎn)在矩形區(qū)域外。
讀取如圖7所示的各錨節(jié)點(diǎn)RSSI值,在Matlab環(huán)境下通過對(duì)數(shù)--常態(tài)傳播模型將RSSI值轉(zhuǎn)變?yōu)榫嚯x,最后通過質(zhì)心算法對(duì)盲節(jié)點(diǎn)進(jìn)行定位,計(jì)算出盲節(jié)點(diǎn)的坐標(biāo)。在實(shí)驗(yàn)中采用10次測(cè)量取平均值來減小定位誤差,并計(jì)算對(duì)比盲節(jié)點(diǎn)理論坐標(biāo)與實(shí)際坐標(biāo)的誤差,得到如圖9所示的定位結(jié)果。
圖9 RSSI定位結(jié)果
通過定位算法計(jì)算出的盲節(jié)點(diǎn)坐標(biāo)為(2.483 1,1.018 5),實(shí)際盲節(jié)點(diǎn)坐標(biāo)為(2.4,1.2),誤差為0.199 6 m,基本實(shí)現(xiàn)了對(duì)盲節(jié)點(diǎn)的定位。
5 結(jié)論
本文在TinyOS操作系統(tǒng)下實(shí)現(xiàn)了基于CC2430模塊的RSSI定位,分析了盲節(jié)點(diǎn)、錨節(jié)點(diǎn)和匯聚節(jié)點(diǎn)的工作流程,確定了實(shí)驗(yàn)室條件下無線傳輸模型Shadowing模型參數(shù),最后利用Matlab計(jì)算出盲節(jié)點(diǎn)坐標(biāo)。定位結(jié)果顯示,通過定位算法所得的盲節(jié)點(diǎn)坐標(biāo)與實(shí)際坐標(biāo)誤差為0.199 6 m,可滿足大多數(shù)無線傳感器網(wǎng)絡(luò)對(duì)節(jié)點(diǎn)定位的要求。
評(píng)論