田浩雨 朱健銘 梁永波 殷世民 陳真誠*
1(桂林電子科技大學電子工程與自動化學院 廣西 桂林 541004)2(桂林電子科技大學生命與環境科學學院 廣西 桂林 541004)3(桂林電子科技大學廣西自動檢測技術與儀器重點實驗室 廣西 桂林 541004)
?
基于Android的血氧飽和度和脈率檢測系統設計
田浩雨1朱健銘2,3梁永波2殷世民2陳真誠2*
1(桂林電子科技大學電子工程與自動化學院廣西 桂林 541004)2(桂林電子科技大學生命與環境科學學院廣西 桂林 541004)3(桂林電子科技大學廣西自動檢測技術與儀器重點實驗室廣西 桂林 541004)
摘要血氧飽和度和脈率的檢測在人們常規檢查中有著重要意義,醫院體檢耗費大量人力物力。針對這種情況,提出一種基于Android平臺的血氧飽和度、脈率參數檢測系統。通過分析指端脈搏波數據得出多項生理參數,利用單片機對藍牙模塊的控制,實現與Android移動設備通信,完成生理參數的接收、顯示,并進一步通過3G/4G網絡,完成與百度云端數據庫的數據交換??朔藗鹘y有線設備移動不便的缺點,給病人檢測帶來便利。實驗結果表明,采用該方法可以有效提高效率,實現遠程監測,為家庭監護、遠程醫療創造了條件。
關鍵詞Android血氧飽和度脈率藍牙
0引言
隨著人們生活水平提高,居民老齡化和亞健康人數不斷增加,心血管疾病正日漸威脅著人們的身體健康。傳統的醫院監護設備體積大、費用高,定時體檢耗費大量時間與精力,不能滿足人們對健康生活的追求。隨著科技的發展、物聯網技術的進步、各種新型傳感器及無線傳輸技術的快速推廣應用,促使家庭健康監護領域成為國內外專家研究的熱點[1,2]。同時智能手機的出現與快速普及,改變了醫療數據需要傳輸到專門服務器進行分析的狀況,使得人體生理數據本地化分析成為可能[3,4]。
本文設計了基于藍牙技術傳輸血氧飽和度和脈搏波數據檢測方案。這種檢測方案可以實現人體脈搏數據的實時采集、處理,實現數據的無線傳送及顯示;具有體積小、攜帶方便的特點。
1檢測原理
心室周期性的收縮和舒張引起主動脈的收縮和舒張,使血流壓力以波的形式從主動脈根部開始沿著整個動脈系統傳播。脈搏波傳播受到所流經血管的影響,能夠反映出人體心血管系統中許多生理特征。對它進行檢測和分析,對臨床疾病預防與診斷有著重要意義。
脈率的計算采用閾值法,當波形在閾值后出現最大值判定為一個波峰,經過兩次判定即可確定脈搏周期。如圖1所示,y(2)由y(1)根據下面的式(1)得到。通過查找一段足夠長信號最大值Ymax和最小值Ymin,求出閾值H,將小于H的值置零。通過一個循環隊列存儲動態數據,最大值位于隊列中央位置,則判定為一個波峰。循環隊列離開波峰后,開始檢測下一個波峰。一段時間內檢測到的波峰個數,便可得到脈率值。

圖1 脈搏波處理示意圖
(1)
準確求得脈率是得到血氧飽和度的前提。脈搏血氧飽和度測量原理是基于Lambert-Beer定律的光電容積脈搏波描記法PPG(Photoplethysmography)。此法選擇960 nm和660 nm兩束波長的光,垂直穿透指端,透射光強交流成分可以反映出心臟跳動而引起的血管的收縮和舒張。HbO2和Hb對近紅外光譜吸收系數差別較小,而對紅光吸收系數差別較大。基于PPG所測得血氧飽和度公式表示為:
(2)
其中,SpO2:血氧飽和度;CHbO2:氧合血紅蛋白濃度;CHb:脫氧血紅蛋白濃度。
為了方便保存查詢,脈率和血氧飽和度數據采用藍牙方式發送到到手機客戶端。藍牙具有功耗低、速率高等特點。Android應用程序框架提供了訪問藍牙功能的APIs[5,6],通過這些APIs能夠與其他藍牙設備實現點對點或點對多點的無線交互功能[7]。這就使得Android手機通過藍牙無線收發數據成為可能。
Android將接收的數據可以保存在手機端,也可以作為中轉平臺[8,9],通過3G/4G上傳至百度云端數據庫。由百度推出的BAE(Baidu App Engine)是基于BAE架構的網絡應用開發平臺,支持多種語言開發。BAE提供的百度云數據庫是一種分布式關系型數據服務,其中的前端采用與MySQL完全一致的使用方式,安全性高 、語言支持強。
2系統設計
2.1系統原理
系統主要分為三個部分:信號采集器、Android應用軟件、百度云端。信號采集器采集信號后,將數據傳輸到Android手機客戶端,客戶端可以作為中轉,通過連接云端部署的PHP文件接口,完成對云端的操作。系統流程如圖2所示。

圖2 系統流程圖
2.2信號采集器設計
脈搏信號采集電路,由電源模塊、信號采集模塊、電路調理模塊、運算處理模塊和藍牙發送模塊組成,如圖3所示。在檢測時,應避免身體活動產生干擾,將采集的數據傳輸到接收設備。

圖3 信號采集框架圖

圖4 光電傳感器
本設計的傳感器采用光電血氧探頭,如圖4所示,測試時選取人體手指指端作為信號采集部位。雙向驅動雙波長發光二極管作為發光元件,共用同一個光電二極管作為感光元件。通過430單片機不同引腳分別控制兩個不同波長的二極管的周期性點亮,實現對兩路光信號的采集。由于兩路信號按時序交替發光在一條線路上采集信號,需采用與LED驅動脈沖同步的控制信號實現信號分離,得到紅外和紅光兩路信號。
經傳感器輸出的脈搏信號頻率很低,容易引入干擾。由于人體脈搏信號頻率分布范圍是0.1~70 Hz,為保證波形不失真,將低通濾波器的截止頻率設為100 Hz,濾除系統的干擾。
本設計處理芯片采用TI公司生產集成12位A/D轉換的M430FG437,以滿足速度、精度的要求。將采集到的數據經過去直流、數字平滑濾波后進行運算處理,得出脈率和血氧飽和度值。
數據無線傳輸是本設計的重要環節。本系統采用深圳博陸科電子科技有限公司生產的HC-05藍牙模塊,其供電電源為3.3 V,默認為從機,波特率設置為9600 bps,單片機通過藍牙串口發送數據到Android客戶端。
2.3Android應用設計
基于Android平臺的軟件研發已成為智能移動平臺開發的熱點,本系統采用Android 4.2版本和Eclipse Platform 4.2.1工具開發。
客戶端設計采用MVC(Model-View-Controller)模式,對代碼進行分層。在View中展示Activity對應界面,采用XML語言進行描述;Model中采用Java語言負責數據的操作,封裝了藍牙核心操作;Controller控制Model和View之間的流程控制。 Android藍牙端口采用的是一個面向連接,通過藍牙模塊進行數據流傳輸的方式RFCOMM。RFCOMM協議提供對基于L2CAP協議的串口仿真,使得基于串口的應用作少量修改或不做修改就可直接運行。Android藍牙通信是基于唯一地址MAC傳輸,MAC是由48比特長,16進制數字組成,使用時,需要進行藍牙配對,設備將共享一個RFCOMM通道來傳輸數據。
(1) 藍牙連接
在軟件設計中,采用Android平臺提供的藍牙API來實現與下位機的通信,其主要包括四個步驟:藍牙設備的設置、匹配設備的搜索、設備的連接和設備間數據的傳輸,流程如圖5所示。Android手機在調用藍牙API前,首先在AndroidManifest.xml中聲明藍牙使用權限,取得藍牙硬件支持具體如下:

圖5 程序流程圖
在初始化函數onCreate()中構造藍牙適配器,通過調用靜態方法getDefaultAdapter(),得到本地藍牙適配器的BluetootAdapter類,通過此類能執行基本藍牙任務。
使用startDiscovery()方法搜索周邊藍牙設備,通過注冊廣播接收器BroadcastReceiver用于接收藍牙狀態改變時發出的廣播。請求startDiscovery后,系統廣播接收ACTION_DISCOVERY_STARTED 意圖動作,搜索到的藍牙設備通過廣播返回。廣播接收到ACTION_FOUND時,系統通過調用附加參數EXTRA_DEVICE獲取遠程設備詳細信息。搜索結束時,廣播接收器接收到ACTION_DISCOVERY_FINISHED動作時,結束搜索任務,程序流程如圖6所示。

圖6 藍牙搜索流程圖
(2) 數據傳輸
在本設計中,將藍牙模擬成串口實現與下位機的通信。采用標準全局唯一標識符(UUID)00001101-0000-1000-8000 -00805F9B34FB。通過調用BluetoothDevice 的createRfcommSocketToServiceRecord(UUID)方法獲取BluetoothSocket。
客戶端調用藍牙適配器地址,對得到的下位機端發起連接請求,建立起在同一RFECOMM信道上的藍牙套接字,并通過getInputStream()和getOutputStream()方法獲取輸入輸出流。
2.4云端數據設計
Android客戶端對云端數據庫操作程序,采用圖形化在線開發環境App Inventor進行開發,通過連接百度云端部署的PHP文件接口操作數據庫。在PHP文件里建立數據庫命令:創建、插入、查詢、刪除。通過建立的命令,可以對云端MySql數據庫進行操作。Android客戶端通過TCP方式利用socket方法連接PHP文件接口,發送對應指令,可以間接對數據庫進行操作。通過創建語句,可以在云端建立需要的數據表;通過插入語句,可以將Android客戶端數據插入到云端數據表;通過查詢語句可以查詢對應ID數據,返回給Android客戶端顯示。
3實驗結果
將程序打包后,安裝到支持藍牙的Android手機中。搜索到的藍牙設備在ListView中顯示,實現結果如圖7(a)所示,點擊所要連接的設備地址欄完成匹配。在Android端顯示血氧飽和度和心率值,如圖7(b)所示。接收到的數據不丟失,且穩定可靠。通過調用File和FileOutputStream類,將數據保存到根目錄下txt文檔中,以便導出進一步分析。

圖7 程序運行效果
本設計通過與邁瑞PM-9000多參數監護儀進行對比試驗,實驗結果如表1所示??梢钥闯霰驹O計與邁瑞PM-9000多參數監護儀檢測結果接近,能滿足家庭的應用。

表1 血氧飽和度和脈率測試數據
其中,X1:本設計測得血氧值; X2:PM-9000測得血氧值;Y1:本設計測得脈率值;Y2:PM-9000測得脈率值。
本設計與目前家庭常用MS50D脈搏血氧儀相比,所測結果準確度相近。本設計采用Android接收顯示下位機數據,并將數據發送至遠程百度云端數據庫,實現數據的無線上傳,為遠程家庭醫療的實現邁出重要的一步。借助手機藍牙和3G/4G網絡解決家庭醫療數據采集后,難以與服務端數據交互這一技術難題。
4結語
Android在OS市場份額中具有絕對優勢,呈現繼續強勁增長勢態,藍牙低功耗無線傳輸更適合醫療保健等新興市場[10]。本設計實現了脈搏波生理數據在Android系統中的藍牙傳輸,并將生理數據通過無線3G/4G網絡傳輸到云數據庫,實現遠程家庭監護。本文介紹了初步設計,下一步將繼續完善增加功能,例如系統版本兼容性、界面美化、傳輸穩定及準確性等,這些將是以后研究的重點。
參考文獻
[1] 劉元東,易子川,陸海鵬,等.健康監護系統設計與實現[J].信息技術,2013(9):72-74.
[2] 廖學峰.基于物聯網的遠程心血管疾病監護系統研究與設計[D].廣東:南方醫科大學,2013.
[3] Howe T D.Cloud-Enabled health monitoring and visualization on an Android device[D].Oregon:Oregon State University,2012.
[4] Sung W T,Chiang Y C.Improved particle swarm optimization algorithm for Android medical care IOT using modified parameters[J].Journal of Medical Systems,2012,36(6):3851-3860.
[5] Ableson W F,Sen R,King C,et al.Android in action[M].3rd ed.Shelter Island: Manning Publications Corporation,2011.
[6] Gavalas D,Economou D.Development platforms for mobile applications: status and trends[J].IEEE Software,2011,28(1):77-86.
[7] 李黎國,張輝,程號.基Android健康服務終端藍牙傳輸軟件的設計[J].電子科技,2012,25(5):115-118.
[8] 于洋,劉靜.手機無線心電監測技術系統實現及性能測評[J].中國醫療器械雜志,2010,34(6):392-396.
[9] Postolache O,Girao P S,Ribeiro M,et al.Enabling telecareassessment with pervasive sensing and Android OS smartphone[C]//Proc of IEEE International Workshop on Medical Measurements and Applications Proceedings,2011:288-293.
[10] 伍冬琦,孫健永,張建國.基于Android平臺心電采集與管理應用程序開發與研究[J].中國醫學數字,2013,8(3):52-54.
DESIGNING BLOOD OXYGEN SATURATION AND PULSE RATE MEASURING SYSTEM BASED ON ANDROID
Tian Haoyu1Zhu Jianming2,3Liang Yongbo2Yin Shimin2Chen Zhencheng2*
1(SchoolofElectricalEngineeringandAutomation,GuilinUniversityofElectronicandTechnology,Guilin541004,Guangxi,China)2(SchoolofLifeandEnvironmentalSciences,GuilinUniversityofElectronicandTechnology,Guilin541004,Guangxi,China)3(GuangxiKeyLaboratoryofAutomaticDetectionTechnologyandInstrument,GuilinUniversityofElectronicandTechnology,Guilin541004,Guangxi,China)
AbstractThe measurement of blood oxygen saturation and pulse rate has great significance in people’s routine inspections, but the hospital physicals cost a lot of manpower and material resources. In view of this, the paper proposes an Android platform-based blood oxygen saturation and pulse rate parameters detection system. By analysing the pulse wave data of fingertip it is able to obtain multiple physiological parameters, the control of Bluetooth module by microcontroller is employed to achieve the communication with Android mobile devices and to implement the reception and display of physiological parameters, and in further the data exchange with Baidu cloud database is completed through 3G/4G network. This design overcomes the drawbacks of traditional wired devices in inconvenient moving, brings convenience to patients for their inspection. Experimental results show that to use this method can effectively improve the efficiency, realises remote inspection, and creates conditions for home monitoring and remote medical treatment.
KeywordsAndroidBlood oxygen saturationPulse rateBluetooth
收稿日期:2014-10-24。國家自然科學基金項目(61265006);國家科技支撐計劃項目(2013BAI03B01);廣西自動檢測技術與儀器重點實驗室主任基金項目(YQ14116);桂林電子科技大學研究生教育創新計劃項目(GDYCSZ201429)。田浩雨,碩士生,主研領域:生物傳感與智能儀器。朱健銘,博士。梁永波,助理研究員。殷世民,研究員。陳真誠,教授。
中圖分類號TP3
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.05.015