鄭志杰 方薈 沈銳棟 吳鷺鑒 楊戀
摘要:隨著社會老齡化逐漸加快,老人看護問題日益突出。由于子女工作無法全天監(jiān)護老人,且老人記憶力開始減退,時常出現(xiàn)老人外出走失的情況。為了預(yù)防老人走失,并對老人的行蹤提前預(yù)警,設(shè)計了一種防走失定位預(yù)警系統(tǒng)。該定位系統(tǒng)利用ZigBee傳輸技術(shù),將RSSI信號強度轉(zhuǎn)化成距離數(shù)據(jù),通過三邊法自動計算老人的位置坐標,并在上位機上顯示老人的位置。當超出安全范圍,系統(tǒng)將會向管理員或監(jiān)護人發(fā)出預(yù)警信息。該預(yù)警系統(tǒng)能夠較好地實現(xiàn)對老人行蹤的提前告警,以期在老人看護工作中發(fā)揮重要作用。
關(guān)鍵詞:防走失;定位;預(yù)警;ZigBee;三邊法
中圖分類號:TP311
文獻標識碼:A
文章編號:1009-3044(2020)03-0274-04
1 概述
隨著我國計劃生育的持續(xù)展開,獨生子女現(xiàn)象日益普遍,同時人口老齡化比例日益增長,整個社會的人口結(jié)構(gòu)朝著“倒金字塔”的形式發(fā)展。當老人遇到危險時,可能由于身體狀況原因,自己無法及時做出處置。因此他們的日常生活需要更多的監(jiān)護。但是由于現(xiàn)代社會壓力劇增,作為社會中堅力量的中年人并無足夠時間照顧老人,走失現(xiàn)象時有發(fā)生,老人的安全監(jiān)護問題亟待解決。為了最大限度地保障老人安全,設(shè)計了一個老人防走失預(yù)警系統(tǒng)。安放在老人身上的定位節(jié)點,可以將老人的實時位置信息發(fā)送給管理員或監(jiān)護人。一旦老人將要離開安全范圍,監(jiān)控端將會收到預(yù)警提示。
主流的無線通信技術(shù)主要有ZigBee、無線局域網(wǎng)(Wlan)、藍牙(Bluetooth)、蜂窩網(wǎng)絡(luò)(Cellular Network)。其中,ZigBee因其低功耗、低成本、高速率,易組網(wǎng)特點,成為物聯(lián)網(wǎng)通信技術(shù)的研究熱點。近年來,許多大學(xué)和科研機構(gòu)都對ZigBee定位算法做了研究。根據(jù)定位過程中是否測量節(jié)點間的距離,定位算法分為兩大類:基于測距算法(range-based)和免測距算法(range-free)。無須測距的定位方法僅根據(jù)網(wǎng)絡(luò)的連通性來定位,定位精度在一定程度上依賴于網(wǎng)絡(luò)平均每跳距離的估計精度,如DV-Hop算法、APIT算法、質(zhì)心算法等?;跍y距的定位算法通過測量節(jié)點間距離或角度信息完成定位過程,如基于接收信號強度衰減的定位(RSSI)[1].基于到達時間的定位(TOA)[2]。本系統(tǒng)以ZigBee為無線傳輸方案,以RSSI作為定位基礎(chǔ)。
2 RSSI測距原理
在無線信號傳播過程中,空氣阻力與障礙物都會影響到信號強度。如圖所示,隨著距離增大,信號強度會減小。ZigBee(ZigBee)信號工作頻帶為2.4千兆赫,信號強度在10米內(nèi)迅速變小。這種衰減關(guān)系可用于距離的測量。如圖l[3]。
基于RSSI的定位流程通常包括三個部分,如圖2所示。首先采集到信號強度值傳輸至上位機,根據(jù)信號傳輸模型和RSSI值來計算距離,再利用三邊算法來進行定位。
圖中的信號衰減模型有三種:雙徑地面反射模型[4]、陰影模型[5]、自由空間模型。接收信號存在一個閾值。當接收信號強度大于閾值時,信號傳送被認為是可靠的。反之被認定為傳送失敗并被刪除。本系統(tǒng)采用的是最常用的陰影模型,其表達式為:
RSSI的測距原理即通過信號衰減模型獲取發(fā)射節(jié)點和接收節(jié)點之間的距離信息,再通過三邊測量法的計算可得出目標節(jié)點的位置信息。
3 硬件系統(tǒng)設(shè)計
3.1 電源電路
電源是保障單片機正常運行的重要因素。好的電源供電方案對于通信的傳輸質(zhì)量是至關(guān)重要的。考慮到單片機采用的供電環(huán)境,設(shè)計了適配器供電和電池供電。通過設(shè)計的開關(guān)來進行切換。電壓設(shè)定為SV左右,可以直接用數(shù)據(jù)線供電或者電池供電。
如圖4所示,電源電路主要由電壓轉(zhuǎn)換芯片和防反接保護二極管構(gòu)成。電源轉(zhuǎn)換芯片使用的是REG117-3.3,其能夠支持4.75-12V的寬電壓輸入。
3.2 時鐘電路
在ZigBee節(jié)點電路中,CC2530 一共有4個晶體振蕩器,內(nèi)部晶體有16m和32k的RC晶體振動,外部晶體有32m和32.768k的石英晶體振動。
外部32m振蕩器具有很高的精確性,但起始速度較慢。16m RC晶體的精確性較低,但起始速度很快。因此,ZigBee系統(tǒng)通電后內(nèi)部16m RC振蕩器會提供所需的時鐘信息,32m振動器穩(wěn)定下來后也會提供系統(tǒng)時鐘,最終給系統(tǒng)提供脈沖信號。
晶體振蕩器精確性更高,而RC的成本和功耗更低,兩個不能同時工作。圖5是ZigBee時鐘電路。12pf負載電容連接到晶體兩端,保證CC2530能夠得到更精確的時鐘信號。
3.3 串口電路
串口是ZigBee系統(tǒng)的關(guān)鍵接口,主要進行數(shù)據(jù)的接收與發(fā)送。并用于協(xié)調(diào)節(jié)點與上位機之間的通訊,如圖6所示。
其采用PL2303芯片進行電平的轉(zhuǎn)換,輸出電壓可以自調(diào),并支持雙向數(shù)據(jù)緩存,兼容USBl.1協(xié)議。
3.4 天線電路
天線電路是ZigBee系統(tǒng)必不可少的組成。其主要作用就是發(fā)射與接收電磁波信息。分為發(fā)射機與接收機兩部分。如圖7所示。
ZigBee的發(fā)射與接收天線是屬于同樣的,天線的選擇是否正確與匹配電路的方案都是至關(guān)重要的。
4 ZigBee的室內(nèi)定位系統(tǒng)軟件設(shè)計
ZigBee網(wǎng)絡(luò)有三種類型的節(jié)點:協(xié)調(diào)器、路由器和終端節(jié)點。協(xié)調(diào)器負責(zé)構(gòu)造和定位無線傳感網(wǎng)絡(luò)。路由器及終端節(jié)點需要通過申請才可加入網(wǎng)絡(luò)。協(xié)調(diào)器作為節(jié)點與計算機傳輸數(shù)據(jù)。路由器負責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā),終端節(jié)點負責(zé)數(shù)據(jù)的收集。系統(tǒng)的軟件設(shè)計分為以下幾個步驟:
4.1 協(xié)調(diào)器初始化
協(xié)調(diào)器初始化的前提條件包括:
(1)確認節(jié)點作為協(xié)調(diào)器所需條件
必須有一個FFD(全功能節(jié)點)[7],其次該節(jié)點不能加入其他ZigBee的網(wǎng)絡(luò)中。
(2)信道掃描
消除干擾,掃描所有信道的能量信息,對掃描的結(jié)果進行處理,刪除不良信道。
(3)設(shè)置網(wǎng)絡(luò)參數(shù)
網(wǎng)絡(luò)層掃描到能正常使用的信道后,將給出一個網(wǎng)絡(luò)標識符賦給新的信道,這個網(wǎng)絡(luò)標識符可以由NLME_NET-WORK_FORMATION.request指定或者隨機選擇。
如圖8,協(xié)調(diào)器設(shè)計初始化的具體流程為:首先對節(jié)點進行上電啟動,判斷其是否是FFD,如果不是FFD就跳轉(zhuǎn)到失敗,如果是FFD跳轉(zhuǎn)到下一步.是否加入其他網(wǎng)絡(luò)進行判斷。如果是加入其他網(wǎng)絡(luò)的話就跳轉(zhuǎn)到失敗,如果不是就跳轉(zhuǎn)到下一步啟動協(xié)議棧。接著掃描信道識別是否有合適的信道,選擇合適信道并設(shè)置網(wǎng)絡(luò)ID和協(xié)調(diào)器地址,最后網(wǎng)絡(luò)初始化成功,等待其他節(jié)點加入。
4.2 路由器加入ZigBee網(wǎng)絡(luò)
節(jié)點開始運行就主動開始掃描附近的ZigBee群,發(fā)出參與請求。路由器請求設(shè)計具體流程如圖9所示。上電啟動后,首先掃描協(xié)調(diào)器判斷是否檢測到信標,如果沒有檢測到信標則跳轉(zhuǎn)回繼續(xù)檢測,如果檢測到信標就向協(xié)調(diào)器發(fā)送關(guān)聯(lián)信號。接著判斷協(xié)調(diào)器資源是否足夠,足夠則路由器節(jié)點響應(yīng)并連接成功。協(xié)調(diào)器響應(yīng)連接成功,最后加入網(wǎng)絡(luò),并獲取地址。4.3基于LabVIEW的上位機設(shè)計
LabVIEW除了軟件,還有硬件接口,比如串口、USB口、PCI、PXI等。其擁有下面幾個優(yōu)點:
(1)美觀的人機交互界面,用來顯示數(shù)據(jù)和操作程序。
(2)通過使用數(shù)據(jù)流思想來處理并行的情況。
(3)其可以通過使用許多函數(shù)庫來處理,不需要對底層的實現(xiàn)方面過多關(guān)注。
(4)能夠使用MATLAB、C等許多不同的接口來運行,擴展更容易。
(5)擁有較多的硬件接口設(shè)備,方便數(shù)據(jù)采集以及信息處理。
上位機設(shè)計的流程如圖10所示。首先串口初始化,進行數(shù)據(jù)接收,接下來校驗其標志位,如果失敗跳轉(zhuǎn)回串口初始化。否則,轉(zhuǎn)換各節(jié)點間的RSSI為距離信息,存儲固定節(jié)點坐標及節(jié)點間距離信息,最后獲得移動節(jié)點坐標并顯示。
5 系統(tǒng)的測試與實驗
5.1 ZigBee組網(wǎng)測試
該系統(tǒng)構(gòu)造的是網(wǎng)狀網(wǎng)絡(luò),測試協(xié)調(diào)器與路由器之間能否正常通信。網(wǎng)絡(luò)由一個協(xié)調(diào)器和三個路由器構(gòu)成。測試過程:第一步先把協(xié)調(diào)器通過數(shù)據(jù)線與計算機進行對接,剩下三個路由器按序號通電。打開串口調(diào)試工具,選擇協(xié)調(diào)器的端口號,將其設(shè)置為波特率115200,勾選16位顯示,就能看到各節(jié)點之間的RSSI值。數(shù)據(jù)如圖11第1位至第五位顯示數(shù)據(jù)并且隨參考點位置移動輸出不同數(shù)據(jù)時,則表明該網(wǎng)絡(luò)能正常運轉(zhuǎn)。
5.2 定位模塊驗證實驗
協(xié)調(diào)器連接計算機,將路由器1號和路由器2號與協(xié)調(diào)器O號擺成一個直角三角形,邊長為3m,0號點為原點(計算機旁),1號點坐標為(3,0(門邊椅子上),2號點為(0,3)。如圖12與圖13所示。
將路由器節(jié)點3號由移動目標帶人構(gòu)成的直角三角形范圍內(nèi),能看見一個黃點在閃爍,即定位的節(jié)點坐標位置。如圖12與圖13所示。
在參考點與移動信標節(jié)點之間安排一個人作為障礙物,保持其他條件不變,觀察黃點位置情況,如圖14與圖15所示。
由圖15和圖16可以看出有障礙物的時,定位位置會存在偏差。在保持位置與障礙物數(shù)量不變的情況下改變移動節(jié)點直置進行測試,分別取點(0.5.0.5)、(1,1)、(2,2)、(1,3)、(3,1)來進行測量誤差數(shù)值d,并且算出其平均誤差值為0.434m。
6 結(jié)束語
該系統(tǒng)是基于ZigBee無線傳感器網(wǎng)絡(luò)的一套定位系統(tǒng),利用信號強度RSSI的三邊定位算法實現(xiàn)了走失老人的位置的實時定位,并給出預(yù)警。這一系統(tǒng)能夠低了老人走失的風(fēng)險,具有深刻的社會意義,而且實施該方案的成本與復(fù)雜度較低,因此其具有一定的市場發(fā)展前景。
參考文獻:
[1]薛雯,基于RSSI的無線室內(nèi)定位系統(tǒng)設(shè)計與實現(xiàn)[D].南京:南京郵電大學(xué),2016.
[2]盧倩倩,李有明,常生明,等.基于到達時間的無線傳感器網(wǎng)絡(luò)協(xié)作定位算法[J].電信科學(xué),2019,35(1):62-66.
[3]韓曉晨,基于ZigBee技術(shù)的定位系統(tǒng)研究與設(shè)計[D].牡丹江:牡丹江師范學(xué)院,2016.
[4]余雨.小蜂窩場景中室內(nèi)短距離無線信道傳播特性研究[D].南京:南京郵電大學(xué),2017.
[5]臧國東,基于WiFi的無線指紋定位技術(shù)研究與實現(xiàn)[D].南京:南京郵電大學(xué),2018.
[6]劉琛,倪雪莉.基于三邊測量法的移動錨節(jié)點定位方案[J].信息技術(shù),2019,43(3):29-32,36.
[7]周益?;赯igbee技術(shù)的無線傳感網(wǎng)絡(luò)拓撲設(shè)計與實現(xiàn)[D].蘇州大學(xué),2009.