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