基于物联网的患者生理信息智能采集系统
2022-02-27徐丽君
徐丽君
(泰州市人民医院,江苏泰州 225300)
近几年,随着住院病患数量的增加,医护的工作量越来越大。为减少医护的工作量,应区别对待轻重症患者,对病患的身体状况进行优先级排序,将资源向重症患者倾斜。由于病患的生理信息可以反映病患的身体状况[1],因此,设计一款病患生理信息智能采集系统是有必要的。而且随着物联网技术迅猛发展,无线传感网络技术被广泛应用于生产生活的各个场景,各类智能系统层出不穷,并都获得了社会各界的一致好评[2]。因此,文中采用当前热门的物联网与无线传感网络技术[3],设计了一套可实时采集病人生理信息、判断病人生理状态的病患生理信息智能采集系统。该系统在硬件上用3 个Mega2560 作为主控芯片,分别控制三大模块:穿戴设备、传输节点和后台处理模块。在硬件上,穿戴设备主要在主控芯片外围搭载传感器和蓝牙系统方案芯片CSR1013;传输节点主要在主控芯片外围搭载CSR1013 和ZigBee 系统方案芯片CC2430;后台处理模块主要在主控芯片外围搭载LCD 显示模块、网络通信模块等。在软件上,系统主要实现了各传感器的驱动、传感器与通信芯片的通信传输、节点自动组网汇集数据等功能。同时系统通过数据库也可以将捕获的病患生理信息传入医院HIS 系统进行记录并保存,为医生诊断、用药提供数据支撑。
1 系统硬件结构设计
智能看护系统主要包括三大模块:病患使用的穿戴设备、组网并传输数据的ZigBee 节点设备、后端数据处理的终端设备,其整体结构如图1 所示。穿戴设备上集成传感器模块、蓝牙收发模块,将采集的病患生理信息通过蓝牙传送到ZigBee 网络节点。ZigBee 网络节点自组网将信息传送至总节点,通过SPI 接口传送给终端设备进行处理[4-5]。
图1 系统整体结构
1.1 穿戴设备
穿戴设备作为病患与机器交互的唯一设备,承担着生理信息采集、信息发送两项基本功能,其主要结构如图2 所示。
图2 穿戴设备主要结构
1.1.1 主控芯片
系统采用Arduino Mega2560 作为设备的主控芯片。该芯片拥有54 位数字I/O 口,非常适合较多传感器的应用场景,方便后续进行传感器扩展。同时芯片拥有3 种供电方式供客户选择,核心电压可以低至3.3 V[6]。芯片IDE 软件为开源开发环境,可在官网上下载。同时,芯片预置BootLoader 程序,使用类C 语言开发,操作方便[7]。
1.1.2 传感器模块
1)温度传感器:文中采用DALLAS 的DS18B20数字温度传感器,其与Mega2560 的连接图如图3 所示。它支持3~5.5 V 的工作电压,典型值为3.3 V,其检测范围为-55~125 ℃,分辨率可以达到12 位,测量精度为0.062 5 ℃[8]。该传感器具有响应速度快、体积小、功耗低、抗干扰能力强等优点。有别于传统的温度传感器使用温敏电阻,DS18B20 使用两个温度系数不同的晶体振荡器。低温度系数振荡器计数存入温度寄存器形成数字温度值,而高温度系数振荡器计数控制存入温度寄存器的数值大小[9]。因此,Mega2560 通过I/O 口可以实时查看DS18B20 寄存器的值,以确定病患的体温。
图3 温度传感器与Mega2560连接图
2)心率传感器:文中选用松恩电子的SON1303测量心率和血氧饱和度,其与Mega2560 的连接图如图4所示,该传感器核心电压范围较宽(2.3~6 V),支持省电模式,该模式下功耗仅为0.3 mW[10]。SON1303 利用光电容积法测量心率,由于人血管中的血容量在心脏的搏动过程中呈周期性变化,当用光照时反射光强度也呈周期性变化,光电容积法就是通过检测该周期确定心率[11]。测量血红蛋白则是基于郎伯-比尔定律,利用血红蛋白对570 nm 绿光的反射强度大小与血液中血红蛋白浓度呈线性关系的特性,使用光敏二极管探测反射光强度,以确定血红蛋白浓度。对SON1303 供电可以产生反映反射光强度的电压信号,文中将该电压信号进行低通滤波放大后得到可识别的直流电压信号,然后通过MCU 检测该信号的周期和强度,周期为心率的倒数,强度为血红蛋白浓度。
图4 温度传感器与Mega2560的连接图
1.1.3 蓝牙模块
蓝牙模块主要通过MCU 控制CSR1013 实现蓝牙传输功能。CSR1013 是高通公司针对蓝牙V4.1 协议开发的SoC 片上方案,具有低功耗、小型化和蓝牙协议封装等优点。它有13 个I/O 接口,支持SPI、UART 等多种串口通信协议,内部集成射频、基带和MCU,功能强大[12],其与Mega2560 连接图如图5 所示。在传输数据时,只需要将SPI 的使能信号拉高并通过SPI 向芯片写入数据,芯片就能根据蓝牙协议自动调制并通过天线发出,简单方便。
图5 蓝牙模块与Mega2560连接图
1.2 传输节点
文中运用ZigBee技术将传感器采集到的数据传输到后台,使用CC2430 模块完成ZigBee 组网传输[13-14]。节点的主体架构如图6 所示,首先蓝牙接收穿戴设备发送的数据,然后通过MCU 利用SPI 接口将数据送入CC2430,最后通过CC2430 将数据传输至后台。节点部分电路如图7 所示。CC2430 集成了8051内核和收发模块,是一个完整的ZigBee SoC 片上解决方案。它拥有较宽的工作电压范围(2.0~3.6 V),在休眠模式下功耗极低,可以通过外部中断或RTC功能来唤醒,能长时间使用。同时它支持SPI,有21个I/O 口。因此,文中利用CC2430 搭建ZigBee 网络完成数据传输功能。
图6 节点的主体架构
图7 节点部分电路
1.3 终端处理模块
终端处理模块主要利用Mega2560 搭建系统,完成信息接收和信息处理功能。数据主要通过CC2430 利用SPI 接口进行传输,传输数据的帧格式可由用户自己定义。数据处理模块主要包括数据读取、数据判别和数据整合三大部分,单片机根据用户设定的帧格式读取特定病人的生理数据;根据给定的范围判定数据是否异常,并将异常数据实时显示在LCD 屏幕上,同时通过WiFi 热点向责任护士和医生的PDA 终端发送提醒信息;获取数据后,系统将病人的生理信息绘制成图表,通过网口传输至服务器储存,以备医生随时查看。
2 系统软件设计
智能看护主要是通过监测病患的生理信息,判断其生理状况的方式进行工作。因此,软件上主要需要完成与病患直接接触的穿戴设备的生理信息采集任务[15]、穿戴设备与后台终端的信息传递任务、后台的信息处理任务三大部分。基于此,穿戴设备的驱动程序主要实现信息采集与传递功能;Zigbee 节点主要实现通信和组网功能;后台主要实现信息处理功能。
2.1 驱动程序设计
2.1.1 穿戴设备驱动设计
该程序需要完成体温、心率、血氧饱和度三大基本生理信息采集功能。温度由DS18B20 采集,由于DS18B20 只有一根数据线与MCU 通信,硬件开销小,需要较复杂的软件流程。心率和血氧饱和度由SON1013 采集,放大整波后送入I/O 口,具体工作流程如图8 所示。为了增加血氧饱和度测量准确性,传感器工作前需要对传感器的输出电平进行校准。校准主要是对温度和对血氧浓度进行校准,校准在穿戴设备消杀过程中实施,利用反射光强度为0 的75 ℃水对传感器进行校准。
图8 穿戴设备工作流程
2.1.2 ZigBee节点驱动设计
该部分主要完成节点的组网和数据通信两大功能。由于CC2430 已经集成了ZigBee 协议栈,可以通过MCU 写入一系列函数和原语并向芯片发送指令,使其完成网络建立与加入、数据接收与发送和设备初始化等功能,而原语和函数可以通过规格书获取[16]。
文中采用树型网络拓扑结构,结构如文中图1所示,其中与终端通信的为协调器,负责网络的组建和信息的收集,其基本工作流程如图9 所示,而每个病房为终端设备,负责采集信息并向协调器传送信息,其基本工作流程如图10 所示。
图9 协调器工作流程
图10 终端设备工作流程
2.2 数据协议
由于医院具有病患流动性大、电磁环境差等特点,系统在数据传输过程中定义特有的数据传输帧是有必要的。该节介绍了文中系统使用的数据传输帧,具体帧格式如图11 所示。数据帧包括起始符、源地址、目的地址、数据长度、数据、CRC 码、停止符7个字段,而数据段包括住院号编码、数据采集时间、体温数据、心率数据、血氧饱和度数据。起始符和停止符用来表示数据帧的开始和结束,用于同步控制,各占一个字节。源地址表示ZigBee 发送数据的子节点的网络地址,目的地址表示ZigBee 接收数据节点的网络地址,各占一个字节,同时约定0XFF 为广播地址。数据长度表示该帧数据的字节数,最大为0XFF,其数据段最长有255 Byte 的数据。CRC 码为数据段的循环冗余校验码,用一个字节表示。数据段中住院号占用6 个字节,采集时间占用5 个字节,其余为生理信息数据段,同时约定每种生理数据为20 个字节。当父节点接收到数据后,父节点需要向子节点发送确认帧,确认帧的数据段约定为0X00 0XAA 0XFF。
图11 数据传输帧格式
3 结束语
文中研究了基于现代物联网技术的智能病患看护系统的硬件和软件设计方法。实验表明,用户利用穿戴设备上的传感器可以获取体温、心率和血氧饱和度等基本生理信息,同时也能自动通过蓝牙传送至ZigBee 节点。节点在接收到信息后能自动组网并将信息汇总到协调器,最后到达后台。后台最后通过串口可以获取到信息,并进行汇总生成EXCEL表,从而实现通过无线组网技术自动获取病患生理信息的功能。该系统在实际应用中有一定可行性,可以大大减轻护士的工作,并全方位监测病患生理信息特征,形成生理数据,具有一定应用的价值。