虞致國,萬書芹,魏 斌,陳子逢,黃召軍
(中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)
定位包括室外定位、室內(nèi)定位兩類。其中室外定位比較成熟,如GPS、北斗系統(tǒng)等,但它們的信號難以穿透室內(nèi)空間的建筑材料,無法在室內(nèi)進(jìn)行應(yīng)用。室內(nèi)定位技術(shù)不僅可讓使用者快速辨識位置,而且可以提供其他輔助服務(wù),如設(shè)備跟蹤、無線路由協(xié)助、網(wǎng)絡(luò)拓?fù)淇刂频萚1-2]。目前,室內(nèi)定位技術(shù)已成為國內(nèi)外的研究熱點(diǎn)之一[3-5]。
ZigBee技術(shù)是一種低速率、小范圍、低功耗的無線通信協(xié)議。隨著該技術(shù)的迅速應(yīng)用,基于該技術(shù)的局部定位技術(shù)也開始得到廣泛的研究。本文以ZigBee技術(shù)為基礎(chǔ)平臺,基于鏈接質(zhì)量指標(biāo)(LQI)實(shí)現(xiàn)了一個無線高精度室內(nèi)定位系統(tǒng),具有可方便利用已有硬件設(shè)備、成本低、可嵌入到傳感網(wǎng)系統(tǒng)中等特點(diǎn)。
三邊測量法是無線網(wǎng)絡(luò)中基于距離定位的基本算法。三邊測量需要同時測量目標(biāo)對象到三個已知位置的靜態(tài)節(jié)點(diǎn)的距離,進(jìn)一步求三個已知半徑和圓心坐標(biāo)的圓的交點(diǎn),從而給目標(biāo)定位。圖1為三邊測量定位模型。
圖1 三邊測量定位模型
已知三個參考節(jié)點(diǎn)A、B、C的坐標(biāo)分別為(x1,y1)、(x2,y2)、(x3,y3),它們到未知節(jié)點(diǎn)的距離節(jié)點(diǎn)(x,y)的距離分別為r1、r2、r3,則可以建立如下方程:
由式(1)可以得出D點(diǎn)的坐標(biāo)。
從三邊測量法的原理可以看出,其核心為測出未知目標(biāo)至參考點(diǎn)的距離。LQI為ZigBee協(xié)調(diào)器選擇信道的依據(jù)之一,在ZigBee收發(fā)模塊每接收一個數(shù)據(jù)幀時都可以得到,其動態(tài)范圍為0~255。LQI與實(shí)際距離的對應(yīng)關(guān)系模型直接影響到定位的準(zhǔn)確性。在本文中,我們采用的方法是多項(xiàng)式擬合的方法。假定盲節(jié)點(diǎn)到參考節(jié)點(diǎn)的距離為d,參考節(jié)點(diǎn)提取的LQI為lqi_val,則假定有以下關(guān)系:
其中參數(shù)a3、a2、a1及a0要根據(jù)實(shí)際的場景模型測得數(shù)據(jù)經(jīng)過MATLAB模擬得到。
整個系統(tǒng)包括無線節(jié)點(diǎn)和管理終端,其中節(jié)點(diǎn)包括協(xié)調(diào)器、參考節(jié)點(diǎn)和盲節(jié)點(diǎn)。參考節(jié)點(diǎn)為已知自身位置坐標(biāo)信息的固定節(jié)點(diǎn)。盲節(jié)點(diǎn)為待定位的節(jié)點(diǎn),可在參考點(diǎn)包圍的范圍任意移動。定位流程為盲節(jié)點(diǎn)廣播發(fā)送報文給參考節(jié)點(diǎn),參考節(jié)點(diǎn)從接收到的報文中提取LQI并把它發(fā)回給盲節(jié)點(diǎn),然后由盲節(jié)點(diǎn)統(tǒng)一打包后發(fā)給協(xié)調(diào)器,再傳回到管理終端。系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 定位系統(tǒng)的基本結(jié)構(gòu)
為了在無線傳感器網(wǎng)絡(luò)應(yīng)用中節(jié)省成本,設(shè)計一種無線傳感器網(wǎng)絡(luò)通用節(jié)點(diǎn)的基本構(gòu)架,完成一種具有實(shí)用價值、通用節(jié)點(diǎn)的軟硬件平臺的搭建是一個值得關(guān)注的問題。文中設(shè)計的硬件主要包括協(xié)調(diào)器節(jié)點(diǎn)、參考節(jié)點(diǎn)和盲節(jié)點(diǎn)三類。硬件平臺采用模塊化設(shè)計思想,盡量將一些公用模塊獨(dú)立出來。射頻模塊為各種類型節(jié)點(diǎn)不可缺少的部分,因此可以單獨(dú)設(shè)計。為了降低開發(fā)成本,協(xié)調(diào)器節(jié)點(diǎn)和參考節(jié)點(diǎn)采用了相同的主板,只是根據(jù)一些實(shí)際需求來判斷是否焊接相應(yīng)的器件。協(xié)調(diào)器、參考節(jié)點(diǎn)和盲節(jié)點(diǎn)結(jié)構(gòu)如圖3所示。
圖3 節(jié)點(diǎn)框圖
射頻模塊的硬件包括MCU電路、時鐘、RF匹配電路、天線、相應(yīng)的對外接口等。為改進(jìn)傳統(tǒng)無線技術(shù)的應(yīng)用,越來越多的無線網(wǎng)絡(luò)器件和無線網(wǎng)絡(luò)解決方案在向芯片無線網(wǎng)絡(luò)平臺或無線單片機(jī)的新型解決方案方向發(fā)展,如TI公司的CC2430/CC2431、FreeScale公司的MC1319x/MC1322x系列等。文中選擇的是MC1322x,該芯片是Freescale公司針對ZigBee應(yīng)用推出的片上封裝解決方案,芯片集成了標(biāo)準(zhǔn)的ARM內(nèi)核、2.4GHz射頻收發(fā)器,并在開發(fā)環(huán)境中提供了ZigBee 2007/PRO協(xié)議棧。為了更好地適應(yīng)低功耗開發(fā),MC13224V設(shè)有低功耗工作模式Hibernate、Doze。
(1)協(xié)調(diào)器主板
協(xié)調(diào)器主板完成狀態(tài)指示、供電、顯示、串口通信、下載編程、I/O擴(kuò)展等輔助功能。主板可通過RS232串口轉(zhuǎn)換電路實(shí)現(xiàn)PC機(jī)與網(wǎng)關(guān)節(jié)點(diǎn)間的數(shù)據(jù)傳輸。
(2)盲節(jié)點(diǎn)主板
因?yàn)槭艿綉?yīng)用環(huán)境及設(shè)備體積等其他客觀條件的影響,其供電受到限制,不便于持續(xù)以有線方式供電,用電池供電使系統(tǒng)體積小巧且便于攜帶。因此,電源部分采用3.0V鈕扣電池,電池電量通過芯片內(nèi)部集成ADC進(jìn)行監(jiān)測。
節(jié)點(diǎn)的硬件實(shí)物圖如圖4、圖5所示。
圖4 協(xié)調(diào)器節(jié)點(diǎn)(參考節(jié)點(diǎn))硬件實(shí)物
圖5 盲節(jié)點(diǎn)硬件實(shí)物
對于MC1322x來說,F(xiàn)reeScale公司提供了Beekit軟件開發(fā)環(huán)境用以輔助開發(fā)。該軟件免費(fèi)提供了BeeStack協(xié)議棧,可以生成不同應(yīng)用模板。BeeStack協(xié)議棧為非搶占式輪轉(zhuǎn)查詢式操作系統(tǒng),已經(jīng)編寫了從MAC層(macEventLoop)到ZigBee設(shè)備應(yīng)用層(ZDapp_event_loop)五層任務(wù)的事件處理函數(shù)。開發(fā)者一般情況下只需要編寫應(yīng)用層的任務(wù)和處理函數(shù)即可。
系統(tǒng)定位過程是盲節(jié)點(diǎn)將周圍一跳范圍內(nèi)參考節(jié)點(diǎn)的LQI通過協(xié)調(diào)器虛擬串口傳送到管理終端,然后管理終端機(jī)進(jìn)行計算并將結(jié)果顯示在一定的圖形畫面上。因此,必須實(shí)現(xiàn)整個無線網(wǎng)絡(luò)的通信,通信流程如下:
(1)協(xié)調(diào)器節(jié)點(diǎn)建立網(wǎng)絡(luò)。管理終端發(fā)送相應(yīng)的配置參數(shù)到無線網(wǎng)絡(luò),如盲節(jié)點(diǎn)的休眠時間。
(2)盲節(jié)點(diǎn)廣播一定次數(shù)(如60次)特定格式的報文,用于請求獲取LQI,并設(shè)定報文的跳轉(zhuǎn)次數(shù)為1。
(3)參考節(jié)點(diǎn)從接收到盲節(jié)點(diǎn)LQI請求的報文,提取收到報文的LQI??紤]到LQI有一定的波動性,將LQI按高斯概率模型預(yù)處理后作平均,處理后的LQI發(fā)送給盲節(jié)點(diǎn)。
(4)盲節(jié)點(diǎn)將接收到LQI發(fā)送給主節(jié)點(diǎn)。
盲節(jié)點(diǎn)主要用于定位功能,定位功能主要是發(fā)送LQI廣播命令,要求參考節(jié)點(diǎn)將提取的LQI發(fā)送回來,然后接收并打包LQI,其軟件流程如圖6所示。被定位的終端節(jié)點(diǎn)多采用電池供電,在設(shè)計過程中要盡量采取降低功耗的措施。軟件低功耗設(shè)計的主要目的就是結(jié)合實(shí)際系統(tǒng)情況,充分利用MCU的各種低功耗特性來降低系統(tǒng)功耗。主要從兩個方面進(jìn)行考慮:
(1)設(shè)定盲節(jié)點(diǎn)定期轉(zhuǎn)為休眠狀態(tài),并定期喚醒。使節(jié)點(diǎn)大部分時間處于休眠狀態(tài),處于休眠狀態(tài)的節(jié)點(diǎn)關(guān)閉無線通信模塊、傳感模塊以及MCU部分電路,只保留MCU內(nèi)部定時器和中斷。節(jié)點(diǎn)進(jìn)入休眠狀態(tài)時開啟定時器,定時器到時喚醒節(jié)點(diǎn),進(jìn)行新一輪的定位。
(2)關(guān)閉一切不必要的外設(shè),盡可能降低功耗。
節(jié)點(diǎn)定位系統(tǒng)主要用于實(shí)施監(jiān)測盲節(jié)點(diǎn)的位置,實(shí)現(xiàn)對盲節(jié)點(diǎn)的監(jiān)控。監(jiān)控軟件采集定位信息,通過相應(yīng)的算法,計算出盲節(jié)點(diǎn)的位置,然后顯示在監(jiān)控界面的坐標(biāo)圖上,因此定位軟件實(shí)現(xiàn)的主要功能如下:
(1)節(jié)點(diǎn)參數(shù)設(shè)置;
(2)設(shè)置定位區(qū)域的坐標(biāo)及背景圖片;
(3)定位數(shù)據(jù)存儲;
(4)實(shí)時顯示盲節(jié)點(diǎn);
(5)場景模型選擇(模型的測距參數(shù)可以來自于現(xiàn)場測試或類型場景)。
圖6 盲節(jié)點(diǎn)的定位流程
軟件采用Visual basic編寫,其界面如圖7所示。圖形部分為實(shí)時數(shù)據(jù)顯示區(qū)域。當(dāng)定位網(wǎng)絡(luò)組建成功后,可以用PC軟件來設(shè)定節(jié)點(diǎn)的類型(參考節(jié)點(diǎn)或盲節(jié)點(diǎn))、發(fā)送功率、定位頻率等。參數(shù)設(shè)置關(guān)閉后,再通過PC機(jī)或節(jié)點(diǎn)本身的按鈕來啟動節(jié)點(diǎn)的跟蹤定位。圖7中四角略大的圓點(diǎn)表示的是參考節(jié)點(diǎn),中間略小的圓點(diǎn)表示的是盲節(jié)點(diǎn)。
圖7 PC軟件界面
本文研究實(shí)現(xiàn)了一種面向室內(nèi)公共場所的無線高精度定位系統(tǒng)。該系統(tǒng)主要應(yīng)用在機(jī)場、商場等室內(nèi)公共場所及倉庫、超市、貨場等場所,給需要定位的對象配置一個終端設(shè)備,這樣可以根據(jù)終端設(shè)備發(fā)出的信息,方便快捷地找到所需的位置信息,也可以提供更高層次的服務(wù)。
[1] 朱劍,趙海,張希元,等. 基于LQI量度的無線鏈路質(zhì)量評估模型[J].東北大學(xué)學(xué)報(自然科學(xué)版),2008,29(9):1262-1265.
[2] 徐國艷,孫劭軒,王江鋒,等. 一種基于LQI的道路車輛定位方法實(shí)現(xiàn)[J].公路交通科技,2010,27(4):122-126.
[3] 李娟,唐小超,葛立峰. 基于CC11O1射頻技術(shù)的室內(nèi)超聲定位系統(tǒng)[J].自動化與儀表,2009,6:1-4.
[4] 王洋,王忠. 基于CC2431的無線定位系統(tǒng)[J].通信技術(shù),2009,42(9):190-192.
[5] 李同松. 基于ZigBee技術(shù)的室內(nèi)定位系統(tǒng)研究與實(shí)現(xiàn)[D].大連理工大學(xué),2008.
[6] 魏斌,虞致國,等.局部無線定位系統(tǒng)中的高精度定位算法研究[J].電子與封裝,2011,11(8):25-28.