基于Zigbee 与Labview 的医院住院婴儿智能监护系统
2023-05-15朱绪东杨子敏王锦龙王尧安镇宙
朱绪东 杨子敏 王锦龙 王尧 安镇宙
(玉溪师范学院 云南省玉溪市 653100)
随着社会发展,人们对婴幼儿越来越关注,婴儿出生后,身体免疫力与抵抗力往往处于较低状态。婴儿在住院过程中会注意减少与外界的接触,集中在一个监护区仅有医护人员照顾,而医护人员紧缺同时成为实时监护婴儿的一大难题。人的语言功能在婴儿时期尚未发育完全,住院期间,当婴儿的心率、血氧或者体温出现紧急情况的时候,婴儿无法表达自身的状况,仅能通过医护人员观察得出结论,病患过多的时候导致医护人员较难及时发现并治疗,鉴于以上问题,本文设计一款医院住院婴儿智能监护系统。在智能系统的辅助下,可实时监控婴儿数据,并能快速发现婴儿异常情况。使用智能的监护系统既可以解决我国医护人员紧缺问题,也可以提升效率、降低成本。
1 系统总体设计方案
系统由上位机与下位机两部分组成,下位机以Zigbee 芯片为核心兼顾采集身体温度和数据处理,Arduino 芯片采集血氧和心率数据,通过使用Zigbee 构建无线传感网络进行数据传输和体温采集,Arduino 芯片采集血氧和心率生理数据。下位机将数据上传Zigbee协调器,协调器使用串口将数据进行汇总发送至护士站PC 机。针对婴儿设计可穿戴式监护设备,可对婴儿的体温、心率及血氧3 种参数进行测量。上位机使用Labview 搭建监测平台,平台进行接收和处理分析数据,对各婴儿体征信息进行监控与管理。通过上位机设置报警阈值后,当婴儿的心率、血氧和温度高于或低于所设置报警阈值能够及时通过上位机报警显示异常,实现设备远程管理,完成整个监护过程。系统组成如图1 所示。
图1:医院住院婴儿智能监护系统组成图
2 硬件设计
根据系统设计要求,系统的监测终端需要对婴儿的心率、血氧浓度和体温进行实时采集和无线传输数据。因此终端节点和协调器主要由CC2530 芯片控制模块进行负责,在终端节点需要搭载MAX30205 传感器进行温度采集。血氧浓度和心率的采集使用ATMEGA328 芯片搭载MAX30102 传感器数据采集模块进行采集,采集后通过模拟I2C 方式传送至终端节点。终端节点在接收到心率、血氧浓度和体温数据后上传至终端节点,终端节点通过无线传感网络发送至协调器。
2.1 主控芯片
本文设计的系统以ZigbeeCC2530芯片为主控芯片,Zigbee 无线通信技术能够完成收集、计算、传输数据等工作[1],集成短距离、低功耗网络协议,可多种网络拓扑,一个节点最多可容纳254 个子节点等特点。相比于其他主控芯片,Zigbee 组成的无线传感网络最多可容纳65000 个终端节点,因此Zigbee 的高容量更适用于医院住院部,管理多个终端节点,监护多个住院婴儿的体征数据。同时芯片具有延时短的特点,可以及时发现异常,提高医护人员工作效率,快速高效监护婴儿体征数据,更好地辅助医护人员开展工作。Zigbee 低功耗的突出优势使下位机硬件设备工作时间延长,避免因频繁更换电池而导致医院维护设备成本升高。
2.2 心率血氧和温度模块
MAX30102 集成脉搏血氧仪和心率监测仪的传感模块。集成了一个红光LED 和一个红外光 LED、光电检测器、光器件,和具有环境光排斥作用的低噪声电子器件。模块可进行心率和血氧检测,通过I2C 协议兼容接口将数据传送至Arduino 进行相关参数计算。MAX30205 温度传感器为临床级温度传感器,传感器集成高精度模数转换,可以输出精度较高的测量结果。在实际应用中可以提供±0.1℃(最大值)精度。设计使用I2C 兼容串口线接口进行通信,保持系统的稳定。
3 软件设计
软件设计分为协调器和终端节点软件设计:
(1)对下位机Zigbee 终端节点的编程设计,包括传感器的应用程序和采集数据的后期处理,
(2)利用Zigbee 自组网技术进行终端信息的无线传输程序设计,主要包括Zigbee 协调器自组网程序,终端节点入网程序,Zigbee 节点间数据指令等信息传输程序。
3.1 终端通信流程设计
终端节点主要功能是信息采集和数据的处理,利用该节点对婴儿体温和心率血氧数据进行采集,协调器节点主要负责网络的建立、对终端节点和路由节点加入网络的控制以及数据的汇总[2]。
3.1.1 协调器组网
协调器是整个无线网络的重要核心,其任务是构建整个Zigbee 无线传感器网络,为加入的终端节点分配网络地址,并协调各节点之间的关系,实现数据从下位机到上位机的发送,指令从上位机到下位机接收工作。给Zigbee 协调器硬件通电之后,协调器节点串口和网络初始化,开始进行Zigbee 无线传感器网络的建立。协调器首先会判断设备的类型,如果设备类型为FFD,则会继续搜索网络,在搜索网络过程中确定没有其他干扰网络再进行搭建PAN ID 和配置网络参数。组网过程中,仅PAN 协调点可以建立一个新的Zigbee 网络。网络建立过程中,PAN 节点先进行信道扫描,找寻空闲信道进行建立网络,网络建立后选择新的PAN 标识符进行标识新的网络,而后PAN 协调点会相应并生存在,处于允许设备加入该网络。Zigbee 协调器节点创建网络流程如图2 所示。
图2:Zigbee 创建网络流程图(更改)
3.1.2 新节点加入网络
当医院增加新生婴儿床位需要检测时,Zigbee 终端节点需要通过MAC 层关联加入已组成的网络,与先前指定父节点连接加入网络。终端设备在初始化工作完成后会扫描通信范围内的协调器,终端率先向协调器发送关联加入命令,协调器根据网络容量来确定是否允许加入网络,如网络容量不足时,终端设备会不断的向协调器重复发送关联命令,若网络资源充足,则向终端设备发送连接请求响应,终端回复ACK 确认帧,至此终端入网成功。
3.2 终端采集和接收程序设计
终端设备在进行数据采集和发送时,协议栈中的软件首先对传感器的引脚进行设置,本文中使用了I2C 协议的器件需要先对模拟的软件I2C 进行初始化,然后再对传感器进行初始化配置,初始化完成后进行数据采集,对数据添加标识信息封装为一条完整的数据帧,再调用发送函数将数据发送至协调器。
在初始化阶段,协议栈将CC2530 的UART1 初始化用于接收ATMEGA328 芯片处理后的心率、血氧数据。ATMEGA328 芯片在上电后立即开始工作,开始实时采集红光和红外光的原始数据,并通过串口将处理后的数据输出至CC2530 芯片。
此外,在数据实时采集过程中还加入了数据的判断,在遇数据异常时,终端节点立刻将异常数据发送至上位机,由上位机发出数据异常警告。如数据处于正常时,终端每5min 上传一次数据,以减小功耗。若医护需要查看最新数据时,可通过上位机发送刷新指令,下位机将立即上传最新的数据。
4 上位机监控软件设计
LABVIEW 是一种图形化的编程语言和开发环境,是美国国家仪器公司(简称 NI)开发的虚拟仪器开发平台软件,被公认为标准的数据采集和仪器控制软件。近年来,随着虚拟仪器技术的发展,这一技术在测量与控制领域得到了快速且广泛的应用[3]。
上位机基于LAVIEW 平台搭建,系统监控界面采用模块化设计,通过数值控件可直接对婴儿各项身体健康数据阈值进行更改,显示界面主要包括四个部分的功能模块,分别为实现与下位机协调器通信的串口通信模块,病床显示模块,婴儿体征数据显示模块、报警显示模块。系统上位机框架图如图3 所示。
图3:软件框架图
上位机工作流程:串口在接收协调器所上传的数据后,由VISA 串口配置模块设置数据属性,打开串口后通过VISA 读取模块进行数据读取,读取失败时循环结构超时,进行重新读取。读取成功后进行数据源引用,保证能够接收完整的数据串。当需要刷新实时数据时,通过布尔控件执行读取指令,由布尔控件触发事件结构,通过VISA 写入模块将读取指令“refresh#”发送至协调节点。将读取到的数据串进行第一次字符串匹配来确定出床号,执行对应床号的事件结构,在对应事件结构中进行数据解析的字符串匹配,解析完成后将各项数据输出,由数值控件设置阈值,通过比较函数对输出数据进行比较,在数据异常时,输出错误值,并触发界面指示灯显示以及声音报警。
4.1 串口通信模块配置
协调器通过串口与上位机通信,可选用VISA 函数进行通信编写,采用事件结构和条件结构为整体框架。其中接口函数库包括:VISA 配置串口,打开串口,读取,写入,关闭串口等函数。
VISA 串口配置模块设定波特率、数据位、停止位、奇偶校验位、流控制、超时处理、终止符和终止符使能等各项参数,使串口配置各项参数与下位机上传数据保持一致,串口配置完成并成功打开后上位机即可与协调器进行通信,读取协调器所上传的数据以及发送采集数据命令。
上位机通过布尔控件改变状态后,由VISA 写入函数模块发送“refresh#”命令至协调器,协调器发送指令至终端节点采集数据,终端节点采集数据后上传协调器,协调器通过串口传输采集到的婴儿体征数据至上位机,上位机通过VISA 读取函数接收读取数据。
4.2 数据分析与显示
由于采集数据为字符串,其中包括了数据标识符以及床位标识符,上位机接收到的数据并不能直接显示出对应病床体征数据,因此需要通过匹配字符串、比较等函数对数据进行分析显示。通过匹配字符串函数,设置各项数据的标识字母,E 为床号标识符,T 为婴儿体温数据标识符,H 为婴儿心率数据标识符,S 为婴儿血氧数据标识符当体温数据和心率数据解析完成后,剩余字符串为儿童血氧数据,可以通过上一个匹配字符串模块直接输出,减少上位机程序的工作量。如果函数查找到匹配,它将字符串输出为两个子字符串,分别为匹配字符串前以及匹配字符串后,匹配字符串前的数据为剩余数据,继续传输到下一个匹配字符串模块。正则表达式为特定的字符的组合,用于模式匹配。利用显示控件,显示对应文本数据,完成体征数据显示。利用条件结构与所上传数据,根据数据匹配分析床位号,将字符串中的对应数据显示到相应床位数据中,将床号与体征数据相对应,正确显示各床位婴儿体征数据。
通过数值控件实现对婴儿体征数据阈值的设定,根据不同的情况对数据进行更改,避免不同情况造成错误报警,报警模块采用比较函数将实时采集到的婴儿体征数据与设定的最高值和最低值进行比较,根据婴儿体征正常范围,当体征数据出现异常时,利用指示灯及蜂鸣器报警异常数据。
5 系统测试
为了测试上下位机能否正常工作,数据传输的有效性和稳定性。Zigbee 协调器通过USB 串口与PC 机连接,PC 机识别端口后,打开上位机监测界面,设置心率、血氧和体温的上下限参数;通过软件将编译好的程序烧录在各终端节点和协调器,硬件电路正常工作,点击监测界面的“读取”按钮。监控界面如图4 所示。
图4:上位机监测测试界面
通过测试结果及其分析可知,下位机硬件能对婴儿体征数据实时采集并上传至PC 机,PC 机能正常分析数据并显示,当所采集数据超过设定值范围时,指示灯变亮,蜂鸣器鸣叫。
6 结语
本文依据当前儿童医院存在的医患比例问题和无线传感技术设计出一种住院婴儿的监护系统,系统集成Zigbee 模块、MAX30102 心率血氧传感器和MAX30205体温传感器模块,既可以减少医务人员工作量又可以辅助检测婴儿的身体指标。通过Labview 编写的上位机平台可以对数据进行接收、显示、报警,减少了医护人员的工作量,提高了监测效率。