楊 剛,馮鵬博,史玉希,王 超
(西安郵電大學(xué)通信與信息工程學(xué)院,陜西 西安 710121)
目前,老人健康監(jiān)護系統(tǒng)大多是采用無線體域網(wǎng)的方式進行體征監(jiān)測。無線體域網(wǎng)是一種以人體為中心,由布置在人體體表、體內(nèi)及周圍區(qū)域的微型傳感器節(jié)點、協(xié)調(diào)器等設(shè)備通過無線連接而構(gòu)成的新型應(yīng)用型網(wǎng)絡(luò)[1]。由于無線體域網(wǎng)網(wǎng)絡(luò)協(xié)議始終沒有一個統(tǒng)一的標準,進而使得老人健康監(jiān)護系統(tǒng)的形式也變得豐富多樣[2]。
溫川雪等人[3]設(shè)計的基于智能手機和移動網(wǎng)絡(luò)的遠程醫(yī)療監(jiān)護系統(tǒng),其中采集終端集成了多種傳感器模塊和藍牙模塊,可以將多種生理參數(shù)通過藍牙上傳至手機端,從而進行分析處理。楊三偉等人[4]設(shè)計的基于Android平臺的健康信息遠程監(jiān)測系統(tǒng),采集終端集成了溫度、脈搏、心電、加速度傳感器,信息通過藍牙、音頻模塊傳輸?shù)街悄苁謾C終端,從而進行可視化處理。上述兩種系統(tǒng)采用藍牙通信方式,采集終端集成了多個傳感器,導(dǎo)致節(jié)點體積過大,功耗增加,同時不方便攜帶。李建輝等人[5]設(shè)計的生命體征監(jiān)測系統(tǒng),感知層各個傳感器節(jié)點間采用ZigBee協(xié)議進行連接,可以實現(xiàn)人體心電、血壓和體溫等生理數(shù)據(jù)的采集。劉超等人[6]設(shè)計的穿戴式智能監(jiān)護系統(tǒng),感知層也采用ZigBee協(xié)議進行組網(wǎng),實現(xiàn)了對人體運動狀態(tài)、血壓及心率的監(jiān)測。上述兩種系統(tǒng)采用Zigbee協(xié)議將傳感器節(jié)點連接起來,一定程度上縮小了節(jié)點體積,提高了系統(tǒng)的靈活性。但是,由于Zigbee協(xié)議棧的復(fù)雜性,節(jié)點運行時協(xié)議棧開銷隨之增加,進而導(dǎo)致節(jié)點功耗增大。另外,Zigbee設(shè)計之初主要是面向如樓宇自動化、農(nóng)業(yè)、工業(yè)自動化等需要大范圍傳感器網(wǎng)絡(luò)的領(lǐng)域,然而近年來也被應(yīng)用于健康監(jiān)護領(lǐng)域。這類系統(tǒng)中Zigbee終端節(jié)點由于電池使用壽命較短,在低功耗模式下電池使用壽命大約是143 h,將其應(yīng)用于人體環(huán)境并不合適,尤其是對于老人來說,頻繁更換電池顯然十分不方便。同時,Zigbee組網(wǎng)成本也較高,不適合應(yīng)用于人體小范圍監(jiān)測網(wǎng)絡(luò)。
因此,本文提出了一種采用簡單高效的超低功耗ANT無線協(xié)議搭建無線體域網(wǎng)的方法,并且在Android Studio開發(fā)環(huán)境下設(shè)計了一款用于生理信息監(jiān)測的手機APP,同時基于騰訊云服務(wù)器和VUE前端開發(fā)框架設(shè)計完成了一套老人健康監(jiān)護系統(tǒng)。系統(tǒng)采用ANT無線協(xié)議組建無線體域網(wǎng),不僅可以有效降低系統(tǒng)節(jié)點的功耗,提高電池的使用壽命,而且可以靈活地增減網(wǎng)絡(luò)節(jié)點個數(shù),提升網(wǎng)絡(luò)的靈活性,非常適合應(yīng)用于人體小范圍監(jiān)測。
ANT協(xié)議工作在2.4GHz頻段上,其OSI模型如圖1所示,主要包括用戶自己定義的應(yīng)用層部分和ANT協(xié)議棧封裝的部分,這兩部分之間通過串行接口進行消息傳遞。相對于Zigbee協(xié)議來說,ANT協(xié)議棧顯得更加簡單高效。
ANT協(xié)議棧內(nèi)部完整封裝了網(wǎng)絡(luò)層、傳輸層、數(shù)據(jù)鏈路層和物理層。用戶無需自己設(shè)計底層結(jié)構(gòu),只需要在應(yīng)用層上編寫接口程序就可實現(xiàn)不同類型的無線網(wǎng)絡(luò)。這種消息分層傳遞的方式,使得節(jié)點運行時僅需要2 KB的外部處理器資源,可以極大地降低系統(tǒng)功耗和成本。另外,ANT協(xié)議可靠性高,采用跳頻通信技術(shù)避免其他2.4 GHz無線通信設(shè)備的干擾,使用基于時分多址的自適應(yīng)信道接入技術(shù),保證信道內(nèi)無線通信的可靠性[7]。
老人健康監(jiān)護系統(tǒng)采用無線體域網(wǎng)架構(gòu)進行設(shè)計,如圖2所示,可分為三個部分:感知層網(wǎng)絡(luò)、手機端和服務(wù)器端。
感知層網(wǎng)絡(luò)由腳踝處兩個傳感器節(jié)點和腰部中心節(jié)點通過ANT協(xié)議組建而成,主要實現(xiàn)血氧、心率、加速度等參數(shù)的采集與上傳。中心節(jié)點與手機端通過藍牙5.0進行數(shù)據(jù)傳輸。
手機端可以實現(xiàn)用戶狀態(tài)實時監(jiān)控、歷史數(shù)據(jù)存儲及位置查詢。
服務(wù)器端可以實現(xiàn)多用戶信息管理、用戶狀態(tài)信息查詢、位置信息查詢及異常情況預(yù)警。當(dāng)發(fā)生緊急情況時,服務(wù)器會向監(jiān)護人手機和后臺網(wǎng)頁端發(fā)送通知,告知用戶的位置,以便及時進行救助。
傳感器節(jié)點由主控模塊、射頻模塊、傳感器模塊和電源模塊組成,如圖3所示。考慮到體積要求,節(jié)點部分選擇已經(jīng)集成了射頻模塊的系統(tǒng)級芯片作為主控,一方面可以使節(jié)點設(shè)計得更小,另一方面使網(wǎng)絡(luò)配置變得簡單,便于管理整個網(wǎng)絡(luò)。
主控芯片采用Nordic公司推出的新款超低功耗系統(tǒng)級芯片的nRF52832[8],內(nèi)嵌32位ARM Cortex-M4F CPU,具有512 kBFlash及64 kB RAM,同時片上集成了2.4 GHz無線收發(fā)模塊,支持藍牙低功耗(BLE),ANT和2.4 GHz私有協(xié)議棧。運動傳感器選擇MPU6050來獲取三軸加速度和三軸角度值。它集成了3軸加速度傳感器和3軸陀螺儀,并自帶內(nèi)置濾波算法的數(shù)字運動處理器DMP,可輸出六個關(guān)鍵參數(shù):繞X、Y、Z軸的角速度分量和加速度分量[9]。節(jié)點部分采用紐扣電池進行供電。主控芯片、運動傳感器外圍電路和電源電路分別如圖4~圖6所示。

圖5 MPU6050外圍電路

圖6 電源電路
MPU6050的INT、SCL和SDA引腳分別與nRF52832的26,25,27引腳相連。
中心節(jié)點新增血氧傳感器來采集人體心率、血氧,結(jié)構(gòu)如圖7所示。它可實現(xiàn)以下功能:①采集運動、心率和血氧數(shù)據(jù);②配對腳踝處的兩個運動傳感器節(jié)點,建立ANT網(wǎng)絡(luò);③ANT協(xié)議與藍牙協(xié)議進行數(shù)據(jù)格式轉(zhuǎn)換,實現(xiàn)數(shù)據(jù)發(fā)送至手機端。

圖7 中心節(jié)點
血氧傳感器選擇美信公司生產(chǎn)的一種高靈敏度的血氧傳感器MAX30102[10],內(nèi)部含有紅光LED和紅外光LED、光電檢測器,可緊貼在手指、手腕和耳垂等處皮膚進行測量,被廣泛應(yīng)用在可穿戴領(lǐng)域。模塊采用1.8 V電源和3.3 V電源用于內(nèi)部LED的供電,采用標準I2C通信接口與主控通信。血氧傳感器外圍電路如圖8所示,Max30102的INT、SCL和SDA引腳分別與nRF52832的引腳6、7、8相連。

圖8 Max30102外圍電路
ANT協(xié)議的使用是基于節(jié)點和通道的,節(jié)點是ANT網(wǎng)絡(luò)的基本單元,通道是ANT網(wǎng)絡(luò)中最基本、最直接的信息交換的渠道。
系統(tǒng)包含兩個ANT通道,分別是兩個運動傳感器節(jié)點到中心節(jié)點間的數(shù)據(jù)傳輸通道。節(jié)點間選擇雙向通道進行數(shù)據(jù)傳輸,數(shù)據(jù)類型選擇應(yīng)答數(shù)據(jù)類型。中心節(jié)點和傳感器節(jié)點的通道配置參數(shù)分別如表1和表2所示。

表1 中心節(jié)點配置

表2 傳感器節(jié)點配置
系統(tǒng)的軟件設(shè)計分為4個部分:數(shù)據(jù)采集、節(jié)點軟件設(shè)計、手機端功能設(shè)計和服務(wù)端功能設(shè)計。
①運動狀態(tài)
人體簡化模型如圖9所示,設(shè)ax、ay、az為三軸加速度值,則合加速度幅值S可通過式(1)求得,

圖9 人體簡化模型

S用來描述人體的運動變化,人體跌倒時,各方向上的加速度矢量發(fā)生變化,通過預(yù)先設(shè)定合適的合加速度閾值(設(shè)為0.5 gn),當(dāng)合加速度值超過閾值時,即可判定是否發(fā)生跌倒。
描述人體狀態(tài)的另一個特征就是傾角,直立狀態(tài)時,軀干與重心方向的傾角小于60°,處于水平狀態(tài)時,傾角接近90°。在跌倒時,軀干從直立狀態(tài)變?yōu)榻咏降臓顟B(tài)。通過對加速度和角速度的雙重判定,可以提高判斷的正確率。
②心率、血氧采集
MAX30102血氧、心率生物傳感器的采樣頻率設(shè)置為100 Hz,采樣精度設(shè)置為18 bit原始數(shù)據(jù)。根據(jù)k個周期內(nèi)紅外光光源的反射光信號各個相鄰波峰之間的平均采樣數(shù)計算出心率。計算公式如下[11]:


peaki(i=1,2,…,k)表示k個周期的峰值橫坐標,peak_interval表示在k個周期內(nèi)相鄰兩波峰間的平均值,fs表示采樣頻率。
根據(jù)朗伯-比爾定律計算血氧飽和度,需要從PPG信號中準確定位極值點,從而計算上下包絡(luò)線,準確提取出交流分量和直流分量。已知具體的血氧飽和度計算公式如下[12]。

A,B為待定系數(shù),γ1,γ2是波長為660 nm和812 nm的紅外及近紅外光的波長,IAC和IDC分別代表PPG信號中交流和直流分量。
傳感器節(jié)點軟件流程圖如圖10所示。傳感器節(jié)點系統(tǒng)上電后,首先對各個外設(shè)模塊進行初始化,完成后配置ANT通道參數(shù)并打開通道。然后利用運動傳感器采集三軸加速度和三軸角速度數(shù)據(jù),設(shè)置定時時間更新數(shù)據(jù)。當(dāng)檢測到ANT消息或事件時,MCU會進行相應(yīng)處理,否則暫時進入空閑狀態(tài),在定時休眠結(jié)束后喚醒MCU。

圖10 傳感器節(jié)點流程圖
中心節(jié)點軟件流程圖如圖11所示,系統(tǒng)上電后,首先對各個外設(shè)模塊進行初始化,完成后依次配置并打開兩個ANT通道,進入搜索狀態(tài)。當(dāng)中心節(jié)點和傳感器節(jié)點建立通道后,將接收到運動數(shù)據(jù)與自身采集的運動傳感器數(shù)據(jù)進行融合處理。最后將處理后的運動數(shù)據(jù)、血氧和心率數(shù)據(jù)通過藍牙發(fā)送至手機端進行顯示。

圖11 中心節(jié)點流程圖
采用Android操作系統(tǒng)作為軟件開發(fā)平臺,應(yīng)用軟件在Android Studio集成軟件開發(fā)工具中進行編程設(shè)計[13]。手機端包括登錄注冊模塊、血氧心率模塊、跌倒檢測模塊和定位模塊,可以實現(xiàn)生理數(shù)據(jù)實時顯示及歷史數(shù)據(jù)查詢、位置信息查詢。手機與中心節(jié)點間通過藍牙5.0進行通信。
系統(tǒng)基于騰訊云服務(wù)器搭建后臺應(yīng)用,采用瀏覽器/服務(wù)器模式(Bowser/Server,B/S)架構(gòu)[14],接收手機發(fā)送過來的狀態(tài)信息,并建立數(shù)據(jù)庫,允許用戶遠程訪問歷史數(shù)據(jù)。后臺主要包括登錄注冊模塊、用戶信息管理模塊、設(shè)備管理模塊、狀態(tài)顯示及報警模塊。當(dāng)遇到緊急情況時,服務(wù)器會用短信的方式將用戶的位置信息發(fā)送至監(jiān)護人手機端,以便及時進行救助。
①實際佩戴效果示意
終端的實際佩戴效果如圖12所示,使用繃帶將兩個運動傳感器節(jié)點固定在腳踝處,將中心節(jié)點固定到腰間。腳踝處的運動傳感器節(jié)點如圖13所示,負責(zé)采集人體的加速度和角速度數(shù)據(jù),并通過ANT協(xié)議發(fā)送至中心節(jié)點。中心節(jié)點如圖14所示,負責(zé)接收運動傳感器的數(shù)據(jù),并且可以實現(xiàn)血氧、心率的測量,通過將手指放在血氧傳感器模塊上采集脈搏波,然后利用公式得出血氧心率值。

圖12 實物佩戴示意圖

圖13 運動傳感器節(jié)點

圖14 中心節(jié)點
②功耗測試
利用nRF Connect Power Profiler功率分析應(yīng)用程序測量設(shè)備在廣播和數(shù)據(jù)傳輸期間的電流消耗,具體步驟如下:(a)打開nRF Connect Power Profiler軟件。(b)通過SEGGER J-Link調(diào)試器連接好設(shè)備,設(shè)置采樣周期和采樣時間。(c)點擊開始,設(shè)備的實時工作狀態(tài)如圖15所示,時間間隔為7 s時,其測量電流最大值為13.95 mA,平均電流約為880μA。
相關(guān)文獻表明,Zigbee節(jié)點工作時的最大電流為32 mA,平均工作電流約為1.82 mA[15],這與ANT節(jié)點的最大工作電流和平均工作電流相比明顯更大。因此選擇ANT協(xié)議搭建無線網(wǎng)絡(luò)可以極大降低節(jié)點的能耗,提高節(jié)點的使用壽命。
驗證ANT網(wǎng)絡(luò)的傳輸性能,通過ANTwareII工具查看數(shù)據(jù)。配置好通道參數(shù),分別打開通道0和通道1。如圖16、圖17所示,通道0和通道1分別用來傳輸傳感器節(jié)點1和節(jié)點2的數(shù)據(jù),數(shù)據(jù)中最后一個字節(jié)表示傳輸?shù)募铀俣葦?shù)據(jù)。

圖16 通道0數(shù)據(jù)

圖17 通道1數(shù)據(jù)
手機軟件包含注冊登錄、藍牙搜索配對、數(shù)據(jù)實時顯示、歷史數(shù)據(jù)存儲和位置信息查詢等功能,其中主要的功能界面如下所示。
狀態(tài)信息界面如圖18所示,包括系統(tǒng)時間、血氧、心率及運動狀態(tài)信息。當(dāng)發(fā)生跌倒時,會顯示用戶位置信息,如圖19所示,并且會發(fā)送短信通知監(jiān)護人前往指定地點進行救助,短信通知界面如圖20所示。手機端也可以查詢用戶歷史狀態(tài)信息,圖21為用戶血氧歷史數(shù)據(jù)。

圖18 狀態(tài)信息

圖19 位置信息

圖20 短信通知

圖21 血氧歷史數(shù)據(jù)
老人健康監(jiān)護系統(tǒng)后臺服務(wù)端主要包括用戶信息管理、用戶狀態(tài)信息管理和位置信息管理及預(yù)警等功能,其中主要功能界面如下所示。
用戶信息管理界面如圖22所示,管理員可以查看用戶的賬號信息并可對其基本信息和綁定手機號進行修改。

圖22 用戶信息管理
用戶狀態(tài)信息界面如圖23所示,其中包含用戶設(shè)備信息(終端Mac地址)和生理狀態(tài)信息(主要有心率血氧、運動狀態(tài)和位置信息)。當(dāng)用戶出現(xiàn)異常情況時,系統(tǒng)會彈出預(yù)警信息,顯示出用戶的位置信息,并向其監(jiān)護人手機發(fā)送短信通知,如圖所示。

圖23 狀態(tài)信息管理
系統(tǒng)的位置信息管理界面如圖24所示,顯示了在線狀態(tài)用戶的位置信息,管理員可以點擊相應(yīng)的菜單查看不同用戶的位置信息。

圖24 位置信息管理
①跌倒檢測實驗
邀請3名志愿者完成常見的日?;顒?站立、步行、慢跑、俯身、上樓和下樓)和跌倒姿勢(向前跌倒、向后跌倒、向左跌倒、向右跌倒),每種動作共進行30次實驗。首先,將節(jié)點布置在測試者身上,打開終端設(shè)備,等待設(shè)備初始化連接,當(dāng)傳感器節(jié)點與中心節(jié)點,中心節(jié)點與手機端建立連接后,開始進行實驗,實驗結(jié)果如表3所示。

表3 跌倒檢測實驗結(jié)果
從測試結(jié)果可以看出,站立、步行和發(fā)生跌倒時系統(tǒng)檢測準確率為100%,當(dāng)處于慢跑、俯身、上樓、下樓等運動狀態(tài)時,系統(tǒng)檢測準確率略顯不足,基本在80%至86%之間。結(jié)果表明,系統(tǒng)可以區(qū)分日常行為和跌倒,基本能達到預(yù)期效果,可實現(xiàn)發(fā)生跌倒時的及時預(yù)警,因此,將其應(yīng)用于實際是十分有效、可行的。
②血氧、心率對比實驗
為了驗證系統(tǒng)測量的準確性,將設(shè)計好的節(jié)點與市面上成熟的華為手環(huán)6進行對比,手環(huán)型號為FRA-B29,檢測對象為同課題組的同學(xué),測試在靜止狀態(tài)下進行,手環(huán)佩戴位置選擇測試者左手手腕處,本系統(tǒng)節(jié)點測試位置選擇左手食指,取5次測量的平均值作為結(jié)果,手環(huán)測量值作為標準值,本系統(tǒng)測值作為測量值,實驗結(jié)果分別如表4和表5所示。

表4 血氧對比結(jié)果

表5 心率對比結(jié)果
從實驗結(jié)果可以看出,本系統(tǒng)節(jié)點與手環(huán)的血氧測量誤差約在2%以內(nèi),心率測量誤差約在4次/分以內(nèi),血氧相對誤差在2%以內(nèi),心率相對誤差在4%以內(nèi)。因此,利用本系統(tǒng)測量人體血氧和心率的結(jié)果是有效的,具有一定準確性和參考意義。
③系統(tǒng)反應(yīng)時間
取一個完整的測試過程,分別讀取和估算各個環(huán)節(jié)的系統(tǒng)反應(yīng)時間,具體結(jié)果如表6所示。

表6 系統(tǒng)反應(yīng)時間
本文采用WBAN架構(gòu),設(shè)計了一種基于超低功耗無線ANT協(xié)議的老人健康監(jiān)護系統(tǒng)。系統(tǒng)利用ANT協(xié)議搭建了感知層網(wǎng)絡(luò),實現(xiàn)了對血氧、心率和運動數(shù)據(jù)的采集和處理。同時,基于Android Studio開發(fā)環(huán)境設(shè)計了一款A(yù)ndroid手機應(yīng)用軟件,可實現(xiàn)實時生理數(shù)據(jù)與短期歷史記錄查詢、位置信息查詢等功能。另外,系統(tǒng)基于騰訊云服務(wù)器和VUE前端開發(fā)框架搭建了后臺網(wǎng)頁端應(yīng)用,可實現(xiàn)用戶位置信息查詢、用戶狀態(tài)信息管理和異常狀態(tài)下預(yù)警等功能。最后,通過設(shè)計對比實驗和性能測試實驗,驗證了系統(tǒng)數(shù)據(jù)的可靠性、系統(tǒng)節(jié)點的低功耗特性以及系統(tǒng)的反應(yīng)時間。結(jié)果表明,利用ANT協(xié)議組建無線體域網(wǎng)可以有效降低節(jié)點功耗,提高網(wǎng)絡(luò)靈活性,適合應(yīng)用于人體體征監(jiān)測。