基于Android系统和MQTT协议的血氧、心电数据的 采集、传输、存储和可视化系统外文翻译资料
2022-10-25 12:03:24
英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
基于Android系统和MQTT协议的血氧、心电数据的
采集、传输、存储和可视化系统
Daniel Barata, Gonccedil;alo Louzada, Andreia Carreiro,
Antoacute;nio Damasceno
University of Coimbra, Coimbra, Portugal
ISA Intelligent Sensing Anywhere, S.A, Coimbra, Portugal
Institute for Systems Engineering and Computers(INESCC), Coimbra, Portugal
摘要
预防医学疾病的发展显著增加了生活质量和寿命。连续监测生物医学参数和一个病人的生命体征以及方便地访问病人的病史对于保持一个人的健康有十分重要的作用。用于监控身体特别情况以及有着实时数据库的数据访问接口的远程医疗传感器的发展对于应对这种需求是非常有用的。本文提出了一种收集、传输和存储心电图(ECG)和脉搏血氧测量结果的健康系统。我们的目的是通过创建一个通过安卓平台的蓝牙获取和传输数据并且将数据发送到远程服务器,然后将数据存储在数据库中,随后变成可视化数据的系统来应对这一挑战。这样,任何远程使用者都可以得到病人至关重要的数据而不需要检查身体情况。
关键词:ECG; Pulse Oximetry; Bluetooth; Android; Internet; MQTT; Java
1目的介绍
健康相关领域的高速发展导致了生活质量和未来预期的增长[1]。为了满足社会的需要,必须要求疾病和并发症的预防承担越来越重要的角色。在预防的过程中,让人能够使用便携式设备获得健康参数的扮演了一个重要的角色。这说明具有远程监控能力的医疗设备有很大潜力。
这项工作的目的是开发一种有效的机制,这个机制主要用于一个建立获取健康参数的监控设备和一个远程接收器(它允许例如,医生从病人的地理位置获取所需要的数据)之间的数据传输。为了实现这一目标,目前已经完成的OneCare项目将作为本次工作的基础。
本文分为5个不同的部分:前言部分;第2节我们给出在项目中使用的技术的概述,在第3节中我们使产品线融入工程插入的地方,解释为什么我们的工程能够提升现有解决方案的价值;在第4节说明我们详细的解决方案;最终在第5节我们得出结论以及确定今后的工作方向。
2工程水平介绍
2.1 Android移动平台
本次设计的应用程序是运行在Android操作系统的智能手机和平板电脑上的。这些Android设备正变得越来越有用,并且是技术进步的象征。Android是在平板电脑和智能手机使用的操作系统之一,现在被跨国公司Google所拥有。除此之外还有其他的操作系统例如iOS,kindle等。然而只有Android有以下优点:
bull; 允许使用在各种各样的设备上,因为Android是开源的;
bull; 它是一个主流技术分支,拥有46.9%的用户[2];
bull; 对于此操作系统应用程序的开发更加容易;
bull; 智能手机业务的显著增长。
2.2 蓝牙
蓝牙是一个应用,通过使用短波长的无线电传输,允许移动设备短距离无线交换数据。自1994年创立之日起,它开始被用作手机的主要功能[3]。蓝牙是一种无线,低功耗,低成本的技术用于交换短距离的信息的技术,是一项用于医疗设备和智能手机、平板电脑间数据传输的完美技术。
2.3安卓在卫生保健
安卓系统已经被用于医疗保健的解决方案中,近期基于该主题的科学文章就反映了这一事实。就像Lo et al.[4]和 Kai et al.[5]等人提出的一样,安卓系统的发展重点在于用智能手机和PDA将健康指标形象化且得到参数。就商业层面来说,安卓系统应用于各种用途,而用于医疗保健的显然是一个常见的应用领域。然而,现在的主要的问题不是应用系统本身,而是该应用系统主要还是给用户提供信息以及在医疗保健方面遇到问题的指南。
更贴近我们的构想的是一个由MegaKot发明的称为移动心电图遥测解决方案的应用软件,它旨在收集各种参数如心电、血氧饱和度,并能把用户信息发送到一个连续监测的数据库 [6]。
所以,加入蓝牙技术,安卓和MQTT传输技术,并且拥有上述所有优点医疗设备,是目前市场上一个有效和创新的产品。
2.4 MQTT
MQTT协议是一种物联网通讯协议。它是一个非常轻量级的发布/订阅消息传输协议。对于和那些需要很小的代码封装或者网络带宽非常昂贵的遥远的地方进行网络通讯是非常有用的。MQTT协议是由IBM公司的Andy和Arcom公司的Arlen Nipper在1999年开发的[7],它的主要功能原理是存在一个叫Broker的中间实体负责信息控制和联机。基本上,当客户订购或出版的某一主题时,该主题就会在代理注册,可以由多个订阅同一客户不同主题,以及不同的客户可以订阅相同的话题。对于发布者来说这个工作和订阅者也是相同的。因此客户订阅主题X将获得该主题的每一条消息[8]。最后,就像现有的Mosquitto代理在它的网站上说的一样:该代理和MQTT协议充当一个简单,通用的接口对于任何连接到该设备上的设备[9]。
图1推送/订阅通信模型
2.5 MQTT协议卫生保健
目前,关于在医疗保健系统使用MQTT协议的报道很少。关于这方面的文章搜索已经显示了失败的结果,但更广泛的搜索帮助我们找到MQTT是在医疗保健系统的工具的已知情况。IBM公司开发了一个可以让St. Jude医疗中心病人在家里面连续监视他们携带的心脏起搏器或心律转复除颤器的系统。要做到这一点,一个特殊的装置——Merlintrade;@home被连接到指定的卫生保健设备上。当任何特殊情况发生时,它能直接向医疗中心发出信号和相关数据[10]。这种使用集成数据的方法不仅可以提高患者的护理水平和解决早期诊断的问题,而且还可以提高行政效率和维护以及帮助更加符合标准程序[11]。在软件方面,MQTT官方网页报道了通过MQTT协议他们监控了在St. Jude医疗中心的100000个心脏起搏器。
虽然我们项目的结构可以比作在IBM红皮书使用MQTT协议建设智慧地球的解决方案以及IBM WebSphere MQ遥测的描述,但是到目前为止,还没有找到更具体,有据可查的使用MQTT协议的健康应用,这使得我们的项目具有创新性和挑战性[12]。
3 OneCare和通用体系结构
OneCare是一系列专业的健康参数远程传输产品。OneCare产品线主要包含两种产品:OneCare传感和OneCare安全。这两种产品都属于“远程协助服务”的概念,主要构想了通过可靠地验证提升生活的质量,健康,以及用户的安全[13]。
3.1 OneCare传感
OneCare传感器能够对用户的健康状况进行连续监测,能够对潜在的危险进行早期监测。通过输入用户名和密码,可以在任何时间远程访问数据。通过这种方式可以有更好的机会对终端用户进行及时有效的干预,以避免他们发生危险。
根据用户的类型,不同的情况适用不同的频率。可以不同的无线医疗设备得到健康参数:血压计、称重机或任何支持蓝牙功能的生理信号采集装置。此外,Android平板可以用于可视化操作,在这个平台上用户可以看到相关信息的收集,能够检查测量是否正常以及可以将数据发送到数据库。
图2 OneCare传感器的简介
系统的一项重要功能是在标准的测量参数出现显著偏差时发出警报的能力。这些警报在数据库进行注册,而且除了在门户网站使用,还可以将数据通过短信或者电子邮件发送给管理员,家庭成员或者任何需要数据的个人。这样,用户可以建立即时的联系以避免误报,以及在收集的数据和症状之间建立联系或者是确认用户需要立即帮助。警戒条件是由管理员先前建立的,对于每一个用户可能包含不同的等级。对于自动定制的报警程序,该系统不需要每天验证管理员收集的数据。取而代之的是,只需要检查系统发出的不同严重程度等级的警报。OneCare检测提供了一种提高监测风险,不增加需要更多的医疗人员所需的费用的方法。
3.2 OneCare安全
OneCare传感是方便使用的便携式设备,允许管理员跟踪用户的健康状况。它特别适合那些老人或者有特殊需求的人。这个设备具有报警按钮(这个按钮无论在任何地方都可以发出一个援助申请),一个坠落探测器,一个GPS追踪设备(被警报按钮激活)以及与预定联系人(管理员、家庭成员或任何其他个人)发送接收文本和语音呼叫的能力。
4附加价值
我们的项目基于OneCare概念,并且有一定的改进。我们项目的目标是通过增加心电图(ECG)和脉搏血氧模块,以及更新数据发送和储存到中央数据库的方式来提升我们的产品,是产品更加完善有效。为了做到这一点,我们必须建立一个新的架构:建立一个Android应用程序,使用带有蓝牙的便携式医疗器械接收健康参数数据。当使用消息队列遥测传输(MQTT)协议将数据传送给产品服务器后,这个应用程序对于用户来说还具有更大的价值。在该服务器中,有一个负责接收和存储数据的客户端。因此,我们可以将系统分为两个模块:采集和数据发送模块,接收、存储和可视化模块。所有这些模块都将集成在OneCare平台内,这样能够充分利用平台上已经存在的资源和门户网站。
图3工程的概要图
4.1便携式医疗设备
该系统的第一阶段是获取生命信号的心电图和脉搏血氧饱和度。脉搏血氧饱和度是指血液中氧合血红蛋白数,也就是说:测量动脉血液中的血氧饱和度[14]。心电图的作用是测量心脏的电活动,能够获得一个人的心跳率,此外还能通过观察记录的数据来评估心跳的规律以及对心率失常进行检测[15]。
为了获得这两种测量数据,便携式医疗设备必须需要蓝牙发送模块。我们需要Nonin 4100脉搏血氧仪和Plux心电图测量仪。
4.2 Android应用,蓝牙接收器和MQTT消息发布者
这个APP是运行在智能手机和平板电脑上面Android操作系统上的应用程序。Android应用程序是使用一个Eclipse插件:Android开发工具(ADT)和java编程语言开发的。我们的应用程序有两个不同的功能:一个是从上述医疗设备接收数据,另一个是使用MQTT协议发布数据。应用程序初始化之后,会有一个按钮来启动服务来验证MQTT连接是否建立。如果建立成功,那么就可以初始化健康参数的采集。这样,程序的一部分创建一个RFCOMM蓝牙套接字后启动数据采集的同时:
bull; 数据被收集到一个对象数组中。一个特定的对象类数据包(表示图表中的每一个点)被创建,包含所有的信息以及排除不必要的值;
bull; 数据包被储存。必要时的数据和所有的时间数据都存储在一个JSON对象中,转化为JSON字符串然后送到MQTT发布类中。
bull; 关于病人的数据值被发送到MainActivity的一个线程中,用以将病人数据的测量值显示在图形界面上。
在MQTT发布过程中,对于接收到的每一个值MQTT客户端都会被创建并且带有代理指定的选项。随后接收到的JSON字符串被发布在一个主题上(我们使用一个随机的主题,但在未来的每个客户端都可以创建主题)。当每次接收到JSON字符串时,这个过程都会被重复。
4.3服务器,代理和Java客户端
安装在我们服务器上面的代理是Mosquitto。此外,该代理还有一个客户端,负责订阅所需要的主题,接收数据,解码数据(因为数据将以JSON格式发出)以及将数据存储起来。客户机的编程语言是Java,因为功能的允许此外它是与已经存在的结构相兼容。
首先,我们使用在线测试代理进行标准测试,以了解MQTT规则(test.mosquitto.org, broker.mqttdashboard.com)以及了解该代理的相关命令行,了解该代理怎么订阅和发布这些主题消息。随后,为了定义研究的起始点,我们必须评估到现在为止在Java MQTT客户端方面什么工作是已经做过了的。在研究的过程中,我们看到了不同的软件(软件部分MQTT官方网站也有一些,但我们在网上搜了一下为好),如java客户端应用程序编程接口(API)和代理,随后列举在表1:
表1 MQTT代理和Java客户端APIrsquo;s
为了符合我们制定公司的标准,我们被通知使用Mosquitto代理做这项工作(尽管最初我们公司使用Apache MQ代理,但是随后就做了更改)。为了选择合适的Java客户端API,我们的标准是选择一个贴合工程实际的,近期的,而不是已经死了的(意思是这个API目前在不断地使用和改进当中),并且有所有我们需要的函数功能的API。为了这个目标,我们找到了一个更适合我们工作的Eclipse Paho API,这个API是开源的。
选择好代理和API之后,就需要进行程序本身代码的编写了。经过研究后,代码开始成型,首先进行简单的发布和订阅标题以及接收消息代码的编写。然后通过使用Paho API,将代码设置登录到公司的服务器(内部和外部),这个服务器是需要用户名和密码的。然后客户端被设置为永久订阅,因此当客户端处于离线状态时,不会造成数据的丢失。尽管因为使用TCP进行通信导致这
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[151863],资料为PDF文档或Word文档,PDF文档可免费转换为Word