基于LabVIEW的无线生理参数监测系统
2019-12-11李若愚戎舟倪珊闫森齐家锋张致昊
李若愚 戎舟 倪珊 闫森 齐家锋 张致昊
摘 要:为了实现对患者的远程诊断或监测,设计了相应的硬件模块采集心电、心率、脉搏、血氧饱和度和体温等生理信号,采集到的用户生理参数通过WiFi传输至上位机。上位机采用LabVIEW实现对用户生理参数的处理与显示,并对心电信号进行QRS波形检测,同时设计了微信小程序方便使用者远程查询生理参数。
关键词:无线传输;生理参数监测;LabVIEW;QRS波形检测;微信小程序;单片机
中图分类号:TP393文献标识码:A文章编号:2095-1302(2019)11-00-03
0 引 言
随着人民生活水平的提高,我国居民患高血压、高血脂等慢性疾病的人数急剧增加[1]。生理参数监测系统逐渐进入医疗监护领域,成为有效监测慢性病及老年病的新途径[2]。现代通信技术飞速发展,如WiFi,ZigBee,蓝牙等无线通信技术得到了广泛应用。WiFi网络覆盖面积广,使用简便,传输速度快且辐射小。医疗监护领域将传统监护器材与现代通信技术相结合,实现远程监护以及家庭监护。微信小程序是现今火热的手机应用,打开微信即可使用,非常适合作为家庭监护系统中手机端的显示应用。
针对上述情况,本文设计了相应的硬件模块,实现了对心电、心率、脉搏、血氧饱和度和体温等临床生理信号的监测;通过无线方式将采集的生理参数传送至上位机;上位机采用LabVIEW实现无线生理参数监测系统软件,对生理参数信号进行处理和显示(在手机端设计微信小程序显示生理参数)。
1 系统总体设计
本文设计的无线生理参数监测系统可分为三个模块,分别为信号采集模块、无线模块以及上位机模块。信号采集模块与无线模块构成系统的下位机。
(1)信号采集模块由心电、脉搏、血氧、温度传感器组成,用于测量人体生理参数。
(2)无线模块由单片机和无线模块构成,实现下位机与上位机的数据通信。
(3)上位机模块通过LabVIEW环境实现,接收下位机模块传输的生理参数数据,对生理参数数据进行处理、显示以及心电信号的QRS波形检测。
在手机端设计了微信小程序,可实现手机端的生理参数显示。系统总体结构如图1所示。
2 下位机模块设计
系统下位机由信号采集模块和无线模块组成。除了需要完成对用户生理参数数据的测量及预处理之外,它还需要通过WiFi模块完成TCP客户端的建立,与LabVIEW上位机TCP服务器建立连接并发送数据至上位机。
2.1 下位机硬件设计
下位机采用Arduino单片机,它是一款编程简单、结构清晰的电子原型平台[3],由硬件、软件两个主要部分组成:硬件部分为Arduino开发板;软件部分为软件开发环境Arduino IDE。
Arduino具有三种供电方式,分别为通过USB接口供电、通过DC电压输入接口供电和通过电源接口处V或者VIN端口供电。
测量脉搏选取PulseSensor光电反射式模拟脉搏传感器,它能够用于脉搏心率及脉搏波形测量[4]。传感器由光源和光电变换器组成,使用时将传感器佩戴于手指、耳垂等处,通过导线连接,把采集到的信号传输给单片机,经过简单计算后可得心率数值。
测量血氧饱和度采用具有集成血氧和心率监测功能的生物传感器模块MAX,它由光源、光电检测器、电源构成,通过标准IC兼容通信接口可将采集到的数值传输给单片机进行后续的心率、血氧计算。
测量温度采用DSB传感器,它具有体积小、硬件开销低、精度高等優点[5]。采用单总线接口方式,仅需一条口线就能够实现单片机与传感器的双向通信[6]。
采用AD心电传感器模块测量心电波形。它是一款用于ECG及其他生物电测量的集成信号调理模块。该器件设计用于在具有运动或远程电极放置产生噪声的情况下提取、放大及过滤微弱的生物电信号[7]。
无线通信采用ESP WiFi模块。ESP支持无线b/g/n标准,支持基站/热点/基站+热点三种工作模式,内置32位MCU,可兼作应用处理器,单电源供电,可通过AT指令控制模块。ESP主要功能为串口透传、PWM调控、GPIO控制。
下位机硬件结构如图2所示,实物如图3所示。
2.2 下位机软件设计
下位机软件部分对生理参数传感器采集的各项生理参数原始数据进行处理,得到符合要求的生理参数数据,通过AT指令建立TCP客户端,连接WiFi网络,与上位机平台的TCP服务器进行数据通信。
Arduino IDE编程环境将单片机运行流程分为set up与loop两部分。在set up部分实现各模块的初始化,配置WiFi模块,连接WiFi网络,建立TCP客户端并与上位机平台建立的服务器相连接;在loop部分配置血氧饱和度模块使用的光传感器,采集各项生理参数,调用Arduino库函数对测得的原始数据进行处理,得到符合需求的生理参数数据,并通过WiFi无线模块将数据包发送至上位机平台。Loop部分不断循环执行,不断获得用户的生理参数数据。温度、血氧信号为数字信号输入,采用温度传感器ESP8266,遵循单总线协议,血氧传感器为I2C通信接口。心电信号和脉搏信号属于模拟信号,Arduino单片机自带10位ADC,采用analogRead函数即可读取输入的模拟信号。
3 上位机平台设计
3.1 上位机平台总体设计
系统上位机平台是与用户人机交互的核心,需要完成用户生理参数数据的接收及显示,还需对心电信号进行QRS波综合检测。上位机软件平台的结构如图4所示。
本系统上位机平台主要功能:利用LabVIEW的TCP工具包建立TCP服务器,与单片机建立的TCP客户端建立连接,接收来自单片机的用户生理参数数据,软件平台将接收到的用户生理参数数据实时显示在主界面,并将心电数据进行QRS波综合监测,显示在主页面。
设计的无线生理参数监测系统上位机平台结合虚拟仪器技术与网络技术,集成了无线通信、数据提取、数据处理及数据显示功能。
系统上位机平台由TCP通信模块、测试数据提取模块、心电信号处理模块组成。
3.2 TCP通信模块设计
在LabVIEW中可以利用TCP协议进行网络通信,LabVIEW对TCP协议的编程进行了高度集成,用户通过简单编程就可以在LabVIEW中实现网络通信[9]。
上位机软件平台作为服务器端,首先指定网络端口,并由“TCP侦听”节点建立TCP听者,等待客户机的连接请求,完成初始化过程。当WiFi模块与上位机软件平台建立连接之后,使用“读取TCP数据”节点读取指定长度的由WiFi模块传输而来的用户生理参数数据包,该节点中的属性设置为Immediate,当“读取TCP数据”节点接收到指定长度的数据后会立即读出,以避免数据缓存区拥塞[2]。
3.3 用户数据提取模块
由于TCP通信所传输的用户生理参数数据为字符串形式,所以需要按照硬件部分所发送的用户生理参数格式对TCP传输的数据包进行分解(“扫描字符串”函数)。硬件部分发送至上位机的数据格式为脉搏、心电1 s的波形数据以及心率、温度、血氧的值,其中,前50个数据为脉搏、心电的波形数据,通过“,”分隔,后3个数据是心率、温度、血氧的数值,以“ ”分隔。将硬件部分发送过来的字符串数据提取分解之后,通过循环索引将脉搏、心电波形整合为数组,为波形数据的显示以及对心电信号进行QRS检测做准备。
3.4 心电信号处理模块设计
本文采用离散极值点法进行QRS波形检测。算法流程如下:
(1)判断心电信号R波的阈值,若输入信号有多个波峰,则取所有波峰幅值的平均值作为R波的阈值;
(2)根据R波的阈值,将输入心电信号的所有波峰值与阈值比较,超过阈值的波峰点为R点;
(3)得到R点的位置后,进行Q,S点的检测,求出心电信号中的所有波谷点,将波谷点的位置与R点的位置进行比较,在R点位置附近的两个波谷点中前一个为Q点,后一个为S点[11];
(4)将QRS点的幅值及位置信息与输入的心电信号合并显示。
采用离散极值点法进行QRS检测的流程如图5所示。
3.5 微信小程序设计
随着手机应用软件的不断发展,微信小程序是一种不需要下载便能够使用的应用,适用于生理监测系统手机端的显示。本文利用微信小程序设计了手机端生理参数的显示程序。
设计过程:安装ODBC驱动,使得电脑能够远程连接服务器端的数据库,在LabVIEW中使用库链接工具包LabSQL,配置主机的IP及数据库的用户名和密码,成功连接后,在前面板中写入插入的SQL语句,在LabVIEW中进行格式转换,使得LabVIEW中的数据能够源源不断地插入到数据库中。在小程序端发送Ajax请求,服务器接收到请求后,使用JDBC驱动连接服务器上的MySQL数据库,通过执行SQL语句获取数据库最新数据,并将其转存为Json格式,返回给小程序端,在小程序得到数据后,将其展示到页面上。程序流程如图6所示。
4 实验测试
对本文所设计的无线生理参数监测系统进行功能测试。首先在放松状态下,由人体佩戴硬件模块,监测人体的生理参数数据,实时监测结果如图7所示。由图7可知,各項生理参数及心电信号的QRS点均能被准确检测。手机端微信小程序显示结果如图8所示,其显示结果与PC端同步。
5 结 语
本文设计并实现了基于LabVIEW的无线生理参数监测系统,通过生理参数传感器测量用户的生理参数,再利用WiFi模块将生理参数远程、实时传送至上位机平台,上位机平台处理并显示用户的生理参数,进行心电信号QRS波形检测。此外,还可通过微信小程序进行手机端显示。由于本系统体积较小,对用户的行动能力限制较少,且佩戴后无不适感,同时还可通过手机获取生理参数数据,十分便捷,因此非常适合作为监测老年人身体生理参数的家用仪器。
参 考 文 献
[1]姚人福.基于嵌入式Web服务器的远程医疗监护系统的研制[D].哈尔滨:哈尔滨工业大学,2013.
[2]赵龙.基于LabVIEW的嵌入式无线健康监护系统的研究和实现[D].保定:河北大学,2014.
[3]吴元君.基于Android和Arduino的移动便携点名系统开发[J].巢湖学校学报,2014,16(3):37-42.
[4]安旭磊.体域网中脉搏数据融合研究[D].天津:天津工业大学,2015.
[5]杨廷来.基于ZigBee和GPS的生态养殖无线监测系统研究[D].西安:西安科技大学,2016.
[6]刘瑞涛.基于单片机的多路测温仪系统设计[D].石家庄:石家庄职业技术学院,2014.
[7]谢斐.基于光电容积脉搏波的动态血压测量与参数标定方法的研究[D].杭州:浙江大学,2015.
[8]徐勇.基于Android智能手机的动态心电监测系统设计[D].南京:南京邮电大学,2013.
[9]张重雄.虚拟仪器技术分析与设计[M].北京:电子工业出版社,2012.
[10]李延军,严洪.QRS波群检测常用算法的比较[J].生物医学工程学进展,2008,29(2):101-107.
[11]黄进文,王威廉.基于LabVIEW的心电信号QRS波群离散极值点识别法[J].云南大学学报(自然科学版),2008,30(2):129-134.