扫描二维码
随时随地手机看文章
引 言
随着人民生活水平的提高,我国居民患高血压、高血脂等慢性疾病的人数急剧增加 [1]。生理参数监测系统逐渐进入医疗监护领域,成为有效监测慢性病及老年病的新途径 [2]。现代通信技术飞速发展,如 WiFi,ZigBee,蓝牙等无线通信技术得到了广泛应用。WiFi 网络覆盖面积广,使用简便,传输速度快且辐射小。医疗监护领域将传统监护器材与现代通信技术相结合,实现远程监护以及家庭监护。微信小程序是现今火热的手机应用,打开微信即可使用,非常适合作为家庭监护系统中手机端的显示应用。
针对上述情况,本文设计了相应的硬件模块,实现了对心电、心率、脉搏、血氧饱和度和体温等临床生理信号的监测 ;通过无线方式将采集的生理参数传送至上位机 ;上位机采用 LabVIEW 实现无线生理参数监测系统软件,对生理参数信号进行处理和显示(在手机端设计微信小程序显示生理参数)。
1 系统总体设计
本文设计的无线生理参数监测系统可分为三个模块,分别为信号采集模块、无线模块以及上位机模块。信号采集模块与无线模块构成系统的下位机。
(1)信号采集模块由心电、脉搏、血氧、温度传感器组成,用于测量人体生理参数。
(2)无线模块由单片机和无线模块构成,实现下位机与上位机的数据通信。
(3)上位机模块通过 LabVIEW环境实现,接收下位机模块传输的生理参数数据,对生理参数数据进行处理、显示以及心电信号的 QRS 波形检测。
在手机端设计了微信小程序,可实现手机端的生理参数显示。系统总体结构如图 1 所示。
图 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 下位机硬件结构
图 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 端同步。
图 6 微信小程序流程
图 7 用户生理参数监测情况
图 8 手机端显示界面
5 结 语
本文设计并实现了基于 LabVIEW 的无线生理参数监测系统,通过生理参数传感器测量用户的生理参数,再利用WiFi 模块将生理参数远程、实时传送至上位机平台,上位机平台处理并显示用户的生理参数,进行心电信号 QRS 波形检测。此外,还可通过微信小程序进行手机端显示。由于本系统体积较小,对用户的行动能力限制较少,且佩戴后无不适感,同时还可通过手机获取生理参数数据,十分便捷,因此非常适合作为监测老年人身体生理参数的家用仪器。