基于Android的血氧饱和度和脉率检测系统设计

2016-06-08 05:48田浩雨朱健铭梁永波殷世民陈真诚
计算机应用与软件 2016年5期
关键词:脉率脉搏血氧

田浩雨 朱健铭 梁永波 殷世民 陈真诚*

1(桂林电子科技大学电子工程与自动化学院 广西 桂林 541004)2(桂林电子科技大学生命与环境科学学院 广西 桂林 541004)3(桂林电子科技大学广西自动检测技术与仪器重点实验室 广西 桂林 541004)



基于Android的血氧饱和度和脉率检测系统设计

田浩雨1朱健铭2,3梁永波2殷世民2陈真诚2*

1(桂林电子科技大学电子工程与自动化学院广西 桂林 541004)2(桂林电子科技大学生命与环境科学学院广西 桂林 541004)3(桂林电子科技大学广西自动检测技术与仪器重点实验室广西 桂林 541004)

摘要血氧饱和度和脉率的检测在人们常规检查中有着重要意义,医院体检耗费大量人力物力。针对这种情况,提出一种基于Android平台的血氧饱和度、脉率参数检测系统。通过分析指端脉搏波数据得出多项生理参数,利用单片机对蓝牙模块的控制,实现与Android移动设备通信,完成生理参数的接收、显示,并进一步通过3G/4G网络,完成与百度云端数据库的数据交换。克服了传统有线设备移动不便的缺点,给病人检测带来便利。实验结果表明,采用该方法可以有效提高效率,实现远程监测,为家庭监护、远程医疗创造了条件。

关键词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所示。可以看出本设计与迈瑞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

猜你喜欢
脉率脉搏血氧
面向家庭健康监护的便携式脉搏波监测系统
用心感受狗狗的脉搏
智能血氧饱和度监测系统设计与实现
《今日评说》评今日浙江 说时代脉搏
基于51系列单片机的穿戴式脉搏仪的设计
基于STM32血氧心率检测仪的研制
近红外可穿戴设备中脉搏波的呼吸率检测
基于血氧模拟前端AFE4490的无创血氧测量模块设计
基于手机的动态脉率变异性信号提取与分析
乳腺血氧与多普勒联合检查在乳腺癌早期筛查中的应用