曲鳳娟 高一騰
【摘 要】本文旨在研究一款可穿戴式跌倒檢測與預警系統(tǒng)。該系統(tǒng)通過三軸加速度計、陀螺儀、ZigBee等部件結合相關算法,對跌倒進行判斷和定位,并及時報警。定位算法采用了基于RSSI測距的定位,RSSI來自ZigBee模塊。實驗表明本文所述算法正確可行。
【關鍵詞】RSSI;ZigBee;跌倒檢測;陀螺儀
0 引言
中國的老人越來越多,尤其是獨居老人人數(shù)也呈現(xiàn)上升趨勢。跌倒是造成老人身體傷害甚至死亡的主要原因之一。如果能夠采取一定的方法減少或避免跌倒對老人造成的傷害將具有非常大的現(xiàn)實意義。本文所研究的跌倒檢測與報警系統(tǒng)能夠在佩戴者發(fā)生跌倒后及時報警,使救助人員采取措施盡快實救,最大限度的減小危險動作帶來的傷害。
1 系統(tǒng)架構
本系統(tǒng)主要分三部分:一部分是人體運動采集與分析模塊,包括主處理器、三軸加速傳感器、陀螺儀和藍牙通信模塊,這部分功能模塊佩戴在人體的腰部;第二部分是ZigBee報警和定位模塊,當佩戴者在小區(qū)內部跌倒時,由ZigBee生成定位信息并向物業(yè)報警,該定位信息也需要通過藍牙發(fā)送給手機,手機再繼續(xù)報警;第三部分是手機定位和報警模塊,此部分手機通過藍牙接收到報警信號后,啟動GPS定位,通過短信或電話形式向家人報警。
2 系統(tǒng)實現(xiàn)
系統(tǒng)分為可穿戴跌倒檢測裝置、Android手機報警定位和ZigBee小區(qū)內報警定位部分。
2.1 系統(tǒng)硬件集成
跌倒檢測模塊采用野火STM32 V3開發(fā)板;關于陀螺儀和加速度計,本文選用了MPU6050;跌倒檢測模塊與手機的通信采用藍牙串口模塊FBT06;手機1為基于Android的智能手機,其需要運行相應的應用程序;手機2則可以是任意的可用手機。
MPU6050整合了陀螺儀、3軸加速度計。MPU6050通過主I2C端口以單一數(shù)據(jù)流的形式,向STM32輸出數(shù)據(jù)。因此,只需把STM32的引腳PB6(SDA)和PB7(SCL)分別連接到MPU6050的24號引腳(SDA)和23號引腳(SCL)上。
藍牙模塊FBT06通過串口與STM32連接,將FBT06的TXD和RXD與STM32的RXD和TXD連接即可。
ZigBee網(wǎng)絡使用了CC2431模塊,ZigBee協(xié)調器與STM32也通過串口進行連接。
2.2 軟件實現(xiàn)
1)STM32端
STM32從MPU6050定時讀取某個軸向(如Z軸)的傾角數(shù)據(jù),將SVM和傾角數(shù)據(jù)結合判斷跌倒。當?shù)拱l(fā)生后,STM32讀取ZigBee發(fā)送的信息,若讀取到有效數(shù)據(jù)則視為定位信息連同報警信號通過藍牙發(fā)送給手機,手機再發(fā)送報警短信或直接撥打電話;若未讀取到有效的數(shù)據(jù)則直接通過藍牙向手機發(fā)送報警信號,手機解析藍牙數(shù)據(jù),當未發(fā)現(xiàn)定位信息則啟動GPS定位生成定位信息,繼續(xù)發(fā)送報警信息或直接撥打電話。
2)ZigBee模塊定位
ZigBee模塊CC2431可以獲取RSSI值,因此可以采用基于RSSI技術的測距協(xié)助實現(xiàn)定位,無需添加硬件。
RSSI是指接收信號強度指示。RSSI值隨距離增加而減小,經(jīng)過簡化的RSSI測距經(jīng)典模型如公式(2)所示。
RSSI=A+10mlg(d)(2)
A為無線收發(fā)節(jié)點相距1m時接收節(jié)點接收到的無線信號強度RSSI值,m為路徑衰減因子[1]。依據(jù)公式(1)求得若干個錨節(jié)點與未知節(jié)點間的距離,對未知節(jié)點定位就可利用這些距離值采用極大似然估算法實現(xiàn)。已知n個錨節(jié)點的坐標分別設為(x1,y1)、(x2,y2)、……,(xn,yn),而未知節(jié)點坐標設為(x,y),算法實現(xiàn)的具體步驟如下:
(1)錨節(jié)點周期性向未知節(jié)點發(fā)送含有自身ID及自身位置信息的數(shù)據(jù)包[2]。
(2)未知節(jié)點接收到同一ID的錨節(jié)點發(fā)來的數(shù)據(jù)包后,從包中提取出信號強度RSSI值,接收到多少數(shù)據(jù)包也會得到相應數(shù)量的RSSI值[3]。當收到該錨節(jié)點發(fā)來的數(shù)據(jù)包數(shù)量達到一定閾值(如50個)后,對得到的相應數(shù)量的RSSI值求平均值即看做該ID錨節(jié)點的RSSI值,然后根據(jù)公式(1)導出距離d,就得到了某個ID錨節(jié)點與未知節(jié)點間的距離。以此類推,對所有n個錨節(jié)點都采用這種方式處理,可得到n個距離d1、d2、……、dn。
3)手機端
手機為基于Android的智能手機,需要開發(fā)相應的應用程序。手機端需要長期的監(jiān)測是否有跌倒信號出現(xiàn),因此收發(fā)藍牙傳輸數(shù)據(jù)的功能需要啟用Service服務,以便系統(tǒng)在后臺監(jiān)聽。
在手機端運行的應用程序中啟動GPS、WIFI定位或基站定位,并通過百度地圖實現(xiàn)經(jīng)緯度到地址的轉換,生成定位信息。利用百度地圖提供的轉換服務可以實現(xiàn)從經(jīng)緯度坐標到地址的轉換。向服務器發(fā)送包括經(jīng)緯度信息的HTTP請求,服務器返回JSON數(shù)據(jù),再將JSON解析即獲得地址信息。(下轉第33頁)
(上接第5頁)跌倒檢測設備使用鋰電池或移動電源充電。首先需要設備與手機進行藍牙配對。手機端需要開啟藍牙,完成藍牙連接。藍牙連接成功后,設備即可佩戴在腰部進行正常的日常活動。手機再發(fā)送報警短信或直接撥打電話;若未讀取到有效的數(shù)據(jù)則直接通過藍牙向手機發(fā)送報警信號,手機解析藍牙數(shù)據(jù),當未發(fā)現(xiàn)定位信息則啟動GPS定位生成定位信息,繼續(xù)發(fā)送報警信息或直接撥打電話。
2.3 跌倒檢測設備的位置
跌倒檢測設備的穿戴位置也影響結果的準確性。常見的跌倒檢測裝置穿戴位置有腰部、腕部、腿部、胸部等。通過對穿戴的各種位置進行實驗,確定較理想的穿戴位置。實驗中,通過3人將三軸加速度計放置在不同位置,取平均值,將最佳實驗結果位置作為穿戴位置。
3 結束語
本文設計開發(fā)了基于ZigBee定位的跌倒檢測與報警系統(tǒng)。該系統(tǒng)可識別佩戴者產(chǎn)生的跌倒動作,在能夠對跌倒者進行定位的同時給出短信報警。通過實驗數(shù)據(jù)分析,本論文所研究系統(tǒng)具有較好的跌倒動作識別率。并且當真正跌倒時,家屬能夠及時得到通知,能夠根據(jù)短信準確的找到老人跌倒的位置。本系統(tǒng)已經(jīng)過測試,測試的手機1型號為HTC 528t。
【參考文獻】
[1]何山.基于RSSI的精確室內定位算法[J].現(xiàn)代電信科技,2011,3(3).
[2]楊東勇,顧東袁,傅曉婕.一種基于RSSI相似度的室內定位算法[J].傳感技術學報,2009,2,22(2).
[3]章磊,黃光明.基于RSSI的無線傳感器網(wǎng)絡節(jié)點定位算法[J].計算機工程與設計,2010,31(2).
[4]王琦.基于RSSI測距的室內定位技術[J].電子科技,2012,25(6).
[責任編輯:湯靜]