摘 要:为了方便患者检测血糖值、长期存储检测数据并及时得到医生的诊断结论,设计了一种基于智能手机血糖监测系统。系统由无线血糖检测传感器、患者智能手机、医生智能手机组成,可实现远程会诊和远程监护。
基于MSP430 单片机的无线血糖检测传感器通过蓝牙与患者智能手机连接,不仅完成了检测功能,还可利用手机的短信功能发送检测值和接收医生的诊断;同时利用智能手机强大的软件平台完成数据的存储、管理、维护等功能。通过测试,该设计较好地满足了预定要求。
1 血糖监测系统概述
糖尿病是危害人类健康的四大主要疾病之一,目前没有根治的办法,只能通过血糖监测对糖尿病加以控制。
血糖仪的出现,大大方便了糖尿病患者自行监测血糖。
为了能更好地利用无线网络资源,方便用户随时随地的测量,开发了一种基于智能手机的血糖监护系统。
智能手机血糖监测系统由无线血糖检测传感器、患者Android 智能手机、医生Android 智能手机组成。
工作模式如图1 所示。糖尿病患者利用随身携带的无线血糖检测传感器可随时检测血糖并通过蓝牙无线发送,患者智能手机通过蓝牙接收患者的血糖值,利用手机的键盘和液晶屏控制显示血糖测试结果。即智能手机是在保留手机原有各项功能的基础上,增加了血糖测试、显示、数据管理的功能。患者可通过GSM 网络发送血糖数据给自己的"私人医生"智能手机并能获得反馈适当的诊断结论。手机使用HTC DesireS510,无线血糖检测传感器是以MSP430 单片机与酶电极传感器等为主构成,通过蓝牙连接智能手机。
图1 物联网智能手机血糖监测系统工作模式
2 系统设计与实现
2.1 无线血糖检测传感器硬件设计
基于MSP430 单片机的无线血糖检测传感器主要由酶电极传感器、信号处理、单片机数据采集处理以及单片机与手机的蓝牙通讯几部分组成,图2 所示。
酶电极传感器采用三电极系统,分为参比电极、对极和工作电极。前置信号处理采用模拟开关对电极接入电路情况进行控制,从而为系统提供不同的工作状态,信号处理采用放大器和低通滤波,将传感器的电流信号转换放大滤去高频干扰,为后续电路的数据采集提供质量较高的信号,血糖浓度的数据采集处理采用TI 公司的MSP430 系列单片机为主控单元完成。
另外,系统具有温度补偿功能,能补偿环境温度对系统测试结果的误差,提高测试结果的。
图2 无线血糖检测传感器框图。
蓝牙模块是蓝牙协议栈的载体,本项目拟使用台达电子生产的DFBM-CSl20 蓝牙模块,主要面向手机和移动应用。为减小软件负荷并与手机固件兼容,DFBM-CSl20 采用嵌入式蓝牙模型,软件只需使用AT命令便可操作模块。这样提高了协议的封装程度,降低软件设计难度。对于嵌入式模型,蓝牙协议栈位于蓝牙模块中,应用程序单独运行在智能手机上,通过适配协议与蓝牙模块通信。嵌入式模型无需软件处理蓝牙上层协议,减少了软件负荷和代码长度,降低了开发难度。对于内存有限的设备及应用命令的手机终端而言都是不错的选择。具体设计方案原理图如图2 所示。
2.2 血糖浓度测量原理
血糖浓度值的测定通过生物酶电极传感器,当血液滴入,在葡萄糖酶的催化作用下,传输电子物质在碳电极表面被强制性氧化,其氧化还原反应过程中形成的氧化电流跟葡萄糖浓度成线性关系,通过测定氧化电流的强度计算血糖浓度值。在电极上加0.4V 的恒定工作电压,当被测血样滴在电极的测试区后,电极上固定的葡萄糖氧化酶与血样中的葡萄糖发生化学反应。经过一定的滞后期,酶电极的响应电流将与被测血样中葡萄糖浓度呈线性关系,如图3 所示。
图3 酶电极电流变化曲线。
对应于2.2-27.8mmol/L 的血糖浓度,酶电极的响应电流约为3-50μA.血糖仪就是通过这一对应关系来计算显示血样葡萄糖浓度值的。根据曲线可知酶电极上的反应电流在11s 左右出现峰值,因此系统设定前11s 为酶电极的反应时间,后5.3s 为酶电极的采集时间。对5.3s 的电流面积积分,得到电量Q, 再根据已知的血糖的浓度C0 可以由公式求出标准系数K:Q=∫I(t)dt=KC0,K=Q/C0.从而求出所测试的血糖浓度:Cx =Q/K.
温度是影响酶的活性及酶催化反应速度的重要因素之一。因此要保证测量的,必须进行温度补偿。
经系统测试及相关的结果分析得到温度补偿公式如下:Kt=0.0133t+0.067,考虑到温度补偿,因此,血糖浓度计算公式如下:Cx= Q/(K×Kt)。
2.3 智能手机血糖软件功能实现
软件功能主要分为患者端和医生端。患者端有用户管理、数据管理、显示曲线、发送的模块,而医生端有接收信息、查看曲线、回复电话的模块。在确定了系统的主要工作特点和模块组成后,对这些主要模块进行了初步的设置实施,具体的软件结构如图4 所示:
图4 系统总体架构。
曲线显示是本系统主要的一个模块。通过对目标用户数据的查找,获得近的数据,将数据存储到一个数组里面,再调用自已编写的画折线类,将数组作为参数,把曲线展现出来。
让系统能自动生成曲线的方法有很多。种,可以调用google 的api[3]来实现,虽然相对比较美观,效果比较好,但各个函数的调用和曲线显示都要有各自规定的格式,不是很灵活,使用起来也不是很方便。
第二种方法利用的是导入第三方jar 包[4]的方式,画折线需要导入的包是achartengine-0.7.0.jar,导入后可以对其中已经封装的类和函数进行调用, 比如有XYMultipleSerieDataset,chart 等类,buildDataset,XYSerious 等函数。该方法有一个优点,那就是图片可以沿X 轴和Y 轴方向拖拉,无论数值范围多大都可以实现。然而,即使有这种效果,却只是固定对某个范围的显示,对峰值的体现不明显,会有不真实的感觉。另外,由于测量数据的值一般不会超出某个范围,所以这样设计意义也不大。
鉴于此,还是考虑采用古老的办法,逐一画线,通过自己定义了一个类来画出自己的曲线,坐标上的刻度值大小、个数,以及坐标注释等都可以自己定义。
虽然这种方法做出来的效果没有种那么美观,也不能实现第二种方法那种拖拉的效果,但却能让用户对数据的波动更加显而易见,可以更加灵活地适应不同的要求,同时具备前两种方法的优点。画折线的类的实现,代码大致如下:
软件另外一个关键技术就是实现代码建库,主要是在一个java 包里声明数据库的版本、名称、以及数据表,可以在文件受到调用的时候自动创建数据库,并且还可以根据版本号等的不同自动更新。如果利用手动建库,也完全可以实现系统的功能,但是在次创建数据库时,是从DDMS向模拟器手动地导入,并且每次安装到新的模拟器或真机之前,必须先导入才能使用,可移植性比较差。使用代码建库后,上面出现的问题完全可以忽略,还可以减少出现错误的情况。
在发送模块中,是将数据库里取出的数据存入一个字符串中并加入分隔符",",以字符串作为发送短信的内容。
医生手机软件根据电话号码或姓名查找相应病人的一条短信记录,关键代码如下:
在这里,是要将上一步所读到的短信内容重新转化成所需要的数组。利用字符串处理函数split,将分隔符","去掉。
如果医生在查看曲线图的时候发现异常,需通知病人上门诊断或者作出特别嘱咐的话,可以直接点击拨号键或"回复电话"按钮给病人拨打电话。与发送短信一样,程序要拨打电话,需授予程序拨打电话的权限,只需在AndroidMenifest.xml 中插入如下代码:
3 结果与讨论
智能手机血糖监测系统操作简单,测试时,用户进入血糖测试界面,点击菜单,显示血糖浓度测试结果,测试结果可以直接点击发送短信键,通过GSM 网络发送,很快就能获得医生的反馈结果。系统实现截图如图5、图6 所示。
图5 患者端主界面。
图6 医生端曲线图。
目前,为准确地测量方式还是医院的静脉采血测试,但需要患者抽取大量的静脉血,所以比对本系统的血糖仪选择了相对测量较准确的强生血糖仪,表1 中给出了误差值与相对误差值。
从测试结果可以看出,智能手机血糖监测系统重复性误差值为1.01%,浓度相对误差为5.98%,在医疗器械规则的误差范围内,因此认为自行研制的物联网智能手机血糖监测系统符合标准。
经过收发短信的测试,系统运行正常;测量的数据与知识库中的相比对,按照简单的规则,可自动给出诊断结论,也可由医生修改或加入建议。后期要继续完善本系统,并在并系统的基础上,继续进行人体其他生理参数的监测研究,如血压、脉搏、心电等,利用无线和有线连接,将数据存储至远程医疗中心服务器,并使用人工神经网络等技术进行个体发病预测及疾病分类。
表1 测量结果与误差值
4 结语
在移动设备与现代医学高速发展的天,操作简单,方便,便携的移动监测设备是医疗仪器的发展趋势。本文智能手机血糖监测系统,利用手机显示存储测量的结果,并且以短信的形式发送至医生智能手机,从而得到的建议与治疗方案。系统的应用不但将方便患者就医,而且将极大的改变当前趋于紧张的医患关系。今后随着嵌入式技术、无线网络技术的继续快速发展,移动式的医疗仪器会拥有更广阔的应用和市场前景。
[1]. MSP430 datasheet https://www.dzsc.com/datasheet/MSP430+_490166.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。