張建國 韓 濤 劉 佳 魏 鑫
(安徽理工大學 電氣與信息工學院,淮南 安徽232001)
如今物聯網正在迅速發展,已經關系到人們生產生活中的方方面面[1]。正如名稱所說,它是一個英特網的擴展,將每個物體與物體之間進行通信連接。因此,對于物體位置的精確定位不可缺少。隨著社會的不斷發展,人們不僅僅只對戶外空曠的地區有定位需求,室內定位技術的精確性也受到越來越多的關注。GPS系統似乎是最好的室外定位系統的解決方案。但是對于室內環境下的定位需求,這些系統還不足夠理想。
ZigBee技術是一個新興的無線通信組網技術,可以使得無線節點之間進行無線組網,相互通信,該技術具有穩定可靠,操作簡單,功耗低,通信距離遠等特點[2]。近些年來,隨著ZigBee技術的越來越流行,使用ZigBee技術進行室內通信,對高物品定位正在成為一種研究的趨勢[3]。因此,研究一種基于ZigBee技術的適合室內環境的準確可靠的定位系統十分重要。所以,本文在對ZigBee技術研究的基礎之上設計出一種基于ZigBee的室內定位系統。
無線節點之間的通信時通過無線電波進行,而無線電波在傳播過程中會不斷衰減,信號衰減強度與傳播距離遵循如下公式[4]:

其中,A表示無線電傳播1米時信號衰減的強度。
d表示發射無線電的節點到接受到無線電波節點之間的距離。
n表示無線電衰減系數,該值為一個常數。
RSSI表示節點接收到無線電波時的無線電信號強度。
接收端節點通過測出接收到的無線電信號強度,通過公式(1)就可以計算出發送端節點到接收端節點的實際距離。當有3個已知位置坐標的參考節點A(xA,yA),B(xB,yB),C(xC,yC),分別測得1個待定位節點D發射的無線電信號強度時,將測得的接收信號強度值發送給ZigBee協調器,ZigBee協調器再發送給上位機中,上位機根據公式1計算出3個已知自身位置坐標的參考節點A,B,C到待定位節點D的距離rA,rB,rC,再通過公式(2),就可以計算出待定位節點的具體位置坐標D(xD,yD)。定位系統結構圖如圖1所示。

室內定位系統的硬件主要是以CC2530芯片為主控核心的無線節點設計[5],根據功能不同,這些無線節點又分為ZigBee協調器,參考節點和待定位節點。其中這三種節點的CC2530核心系統電路完全相同,如圖2所示。由于CC2530是一個片上系統SoC,自帶有RF射頻模塊,所以只需要在外部設計一個很簡單的電路就可以實現無線射頻發射和接受功能。其中C1,C2,Y1和C13,C14,Y2構成了2組晶振電路給CC2530芯片提供振蕩頻率。L1,L2,C15,C16,C17,C18共同構成了一個巴倫電路,為CC2530到天線之間可以阻抗匹配,使得天線發射功率達到最大,實現射頻信號的發射和接收。ZigBee協調器除了CC2530核心電路之外還需要一個電源電路為整個協調器提供工作電源,該電源是由USB供電,通過HT755芯片將USB的DC+5V電轉換成CC2530芯片所需要的DC+3.3V電。通過串口將上位機與ZigBee協調器連接起來,通過MAX232芯片將上位機的RS232電平與協調器TTL電平相互轉化,實現上位機與ZigBee協調器之間的通信。而參考節點與待定位節點采用完全相同的硬件電路,除了CC2530核心系統電路之外只需要增加一個電源電路為參考節點和待定位節點體統電源即可。

圖1 ZigBee定位系統結構圖

圖2 CC2530核心電路原理圖
在室內定位系統的ZigBee協調器,參考節點和待定位節點硬件設計完成之后,開始對定位系統的軟件進行設計。本系統的軟件設計是在TI公司發布的半開源ZigBee協議棧Z-Stack的基礎之上進行設計的。ZigBee協調器作為協調器在Z-Stack協議棧基礎上主要實現網絡建立,搜索節點,接收參考節點A,B,C的無線信號,將接收到的無線信號通過串口發送到上位機等功能。參考節點作為路由節點在ZStack基礎上實現搜索ZigBee網絡,加入網絡,搜索待定位節點,接收待定位節點發送的無線信號,將待定位節點信號強度發送到ZigBee協調器等功能。待定位節點作為終端節點在Z-Stack的基礎上實現搜索ZigBee網絡,加入網絡,發送無線信號等功能。

圖3 室內定位系統軟件流程圖
ZigBee協調器,參考節點和待定位節點的軟件設計流程圖如圖3所示。系統開始時,ZigBee協調器開始對硬件初始化,然后通過ZStack建立ZigBee網絡,搜索該區域內的其他節點,等待接收數據,待定位節點開始硬件初始化,搜索ZigBee網絡,加入ZigBee網絡,等待接收信號,待定位節點硬件初始化,搜索ZigBee網絡,加入網絡,定時發送無線信號,若待定位節點接收到待定位節點的無線信號,則將接收到的信號強度發送到ZigBee協調器中,ZigBee協調器接收到參考節點發送的數據后,將該數據通過串口發送到上位機中,上位機中通過公式(1)和公式(2)計算出待定位節點的位置坐標。從而實現對待定位節點的定位功能。
本文以接收信號強度定位算法為理論依據,用CC2530芯片設計了室內定位系統節點的硬件設計,在TI公司的半開源Z-Stack協議棧的基礎上,開發了定位系統的軟件程序,最終實現了對室內待定位節點的定位系統。將定位理論應用到實踐當中。實現了室內定位功能,定位效果準確,系統運行穩定可靠。
[1]韓濤.基于神經網絡的井下無線傳感器網絡節點定位技術研究[J].煤礦機械,2012,33:65-68.
[2]孫學巖.基于ZigBee無線傳感器網絡的溫室測控系統[J].儀表技術與傳感器,2011,10:47-49.
[3]白旭華,張瑞峰,張肖萌,王桂英.基于ZigBee網絡的室內定位系統的設計與實現[J].天津理工大學學報,2012,4:11-15.
[4]章磊,黃光明.基于RSSI的無線傳感器網絡節點定位算法[J].計算機工程與設計,2010,31(2):291-294.
[5]韓鵬霄,劉繼堯,周東平.無線傳感器網絡的室內定位節點設計[J].單片機與嵌入式系統應用,2013,4:25-28.