徐玉炎, 明 轩 , 张 瑞, 李奇越, 杨 洁
(1.合肥工业大学 电气与自动化工程学院,安徽 合肥 230009;2.杭州娃哈哈科技有限公司 浙江 杭州 310009)
传统的医疗监护系统采用有线传感器探头来获得受试者的生理数据,这类设备往往连线众多,进行检测时受试者只能坐卧于床,使受试者的行动受到很大限制;此外,传统的医疗监护设备往往给受试者代理较大的生理、心理负荷,可能造成所测得的数据与真实情况有一定差距,影响病情的正确诊断[1]。
针对上述现状,本文基于WSN技术,设计了穿戴式的医疗监护系统。受试者佩戴的传感器终端可以实时采集病人的体温、脉搏、姿态等生理参数,并以无线的方式传输至监护中心;医生可以通过PC软件实现对监控网络的管理,同时可以随时随地访问Web应用,实现对病人生理数据的获取。
系统主要包括监测网络、监护中心计算机上位机程序、Web应用3部分,其整体结构如图1所示。其中无线传感器网络包括协调器与穿戴式传感器终端,传感器终端可以采集病人的体温、脉搏、姿态等参数,通过协调器汇聚,经RS485总线传输至监护中心计算机;监护中心计算机的上位机程序将监测数据存储到数据库中,同时对于病人危险的生理信息及时报警;Web应用与监护系统的数据库连接,医生可以很方便的通过手机、平板、电脑等各种终端对病人的监护信息进行访问。
图1 医疗监护系统总体结构图Fig.1 Overall structure of medical monitoring system
本文设计的医疗监护系统主要应用于医院、养老院等室内场所,这些场所中的墙壁、设备都会对无线射频信号的传输造成阻碍,所以如何在这样的环境下保证网络的稳定是本系统首先要解决的问题。同时,本系统的传感器节点为穿戴式的,受试者会长期佩戴,为保证受试者的移动性必须使用电池供电,这就对系统的功耗提出了很高的要求,所以本系统设计的网络必须尽量满足终端节点的节能要求。
针对上述讨论,设计出无线传感器网络结构如图2所示。该网络为两级树形网络,第一级网络为RS485总线型网络,监护中心计算机、无线传感器网络协调器都挂载在该总线网络上;第二级网络为各个协调器与穿戴式传感器终端组成的星型无线网络。总线网络保证了各个协调器与监护中心计算机在建筑物内的稳定通信,广泛布置的协调器保证了无线传感器网络的覆盖率,简单星型无线网络在保证可靠通信的同时极大降低了穿戴式传感器终端的能源消耗。
图2 无线传感器网络拓扑结构图Fig.2 Topology structure of WSN
具体的无线网络方面,本系统选择了较成熟的ZigBee技术来搭建。ZigBee是一种近距离、低复杂度、低功耗、低成本的无线网络技术,广泛应用于各种无线传感器网络的搭建。ZigBee网络根据应用需要可以组成星型网络、网状网络和树状网络[2]。网状网络通过终端多跳通信来保证网络覆盖,故能耗较高,树状网络通过配置相应的路由节点来提高网络覆盖,而本系统已经配置足够多的协调器来覆盖整个应用场所,故最简单的星型网络即可满足需求,同时这种网络中的终端节点具有最低的功耗。
本系统中所有的协调都具有同样的网络号,系统上电后,协调器会自动选择一个信道,建立网络,穿戴式传感器终端节点会自动与最近的协调器通信,加入网络,同时协调器为其分配一个16位的逻辑地址。在应用层,事先为每个终端节点规定了唯一的设备号,并以此来标识不同的节点。当系统需要获得某确定节点的传感器信息时,所有的协调器都会在网络中广播包含该节点设备号的指令,终端节点对设备号进行比对,如果相同则发送所需的传感器数据。当传感器终端节点因为移动或障碍物遮挡等原因脱离当前协调器建立的网络时,会立即寻找最近的协调器重新加入网络。通过这样设计,提高了网络的稳定性,同时了降低传感器节点的功耗。
穿戴式传感器节点以网蜂公司研制的CC2530核心板为基础研制,硬件结构如图3。系统选用TI公司的CC2530作为微控制器,该芯片集成了兼容ZigBee协议的射频模块以及一个增强型8051内核的单片机,可以运行TI的ZStack协议栈,为系统的软硬件设计提供了极大的便利[3]。
图3 穿戴式传感器节点硬件结构图Fig.3 Structure diagram of wearable sensor nod
考虑到测量的便利性以及减少受试者的佩戴负担,系统采用非接触式人体红外温度测量传感器MLX90615,该传感器主要由红外热电堆传感器、低噪声放大器、16位模数转换器和功能强大的DSP单元等组成,可以通过I2C总线与单片机通讯。由于CC2530不具备硬件I2C接口,故采用软件模拟的方式获取该传感器的数据[4]。
系统采用反射式脉搏传感器模块获取人体脉搏数据,使用ADXL354加速度计检测人体姿态,对于跌倒等意外情况及时发送报警。穿戴式传感器节点还加入了低功耗的Nokia 5110 LCD显示器以及按键,可以与受试者进行简单的交互。
本系统使用一个简单的反射式光电脉搏传感器模块来检测受试者的脉搏,该模块成本较低、性能稳定,其电路原理图如图4所示[5]。其基本原理是依据光电容积法检测由于心脏泵血引起的人体末端毛细血管的体积变化,从而间接测量出心脏的跳动情况。
图4 反射式脉搏传感器模块原理图Fig.4 Schematic of pulse sensor module
该模块选择了模拟输出的APDS-9008环境亮度传感器。该传感器在设计上紧贴人眼的光谱响应曲线,对于波长500 nm左右的绿光尤其敏感,故本电路选择了绿色LED作为反射光源。APDS-9008输出电流信号,通过一个12 kΩ的电阻进行I/V变换,得到的信号进入无源低通滤波网络,滤除高频干扰后经过一个基准电压为VCC/2的反向比例放大电路放大后输出。CC2530通过内置的A/D转换器以100 Hz的采样频率获取该模块的输出电压,通过对信号的分析计算,获得受试者的脉搏。
由于病人身体虚弱或行动不便,往往会发生跌倒的意外,若跌倒后没有得到及时的救助,将会导致严重后果,所以跌倒监测成为本系统要解决的问题之一。系统采用ADXL345加速度传感器来检测人的姿态,结合相应算法,判断病人是否跌倒,在跌倒时发送信息至监护中心计算机,完成报警。
ADXL345三轴加速度传感器测量范围达±16 g,具有3.9 mg/LSB的高分辨率,同时具有许多特殊检测功能,如活动非活动检测、敲击检测、自由落体检测等,而这些功能可以映射到两个中断输出引脚中,从而为系统的低功耗设计提供了极大的便利。
依据文献[6]提出的跌倒检测算法对系统进行设计,主要是通过加速度传感器依次对人体跌倒时的3种关键特性(失重、撞击和静止)进行识别,从而判断人体跌倒。
无线传感器网络节点的软件包括ZigBee协调器软件与穿戴式传感器终端软件两部分。这两部分软均使用CC2530所兼容的Z-Stack协议栈进行开发。
根据前述网络拓扑结构,协调器负责建立与管理ZigBee星型网络,同时通过RS485总线与上位机进行交互。在网络数据传输方面,协调器主要处理两种情况:一种是上位机定时发送查询命令,获得所有传感器的数据;一种是穿戴式传感器终端在检测到跌倒后向上位机发送报警指令。对于前一种情况,协调器通过RS485总线接收到上位机发送的查询命令后,向ZigBee网络中的所有传感器终端广播查询命令,待收到网络内所有传感器终端采集的信息后,协调器将数据打包上传给上位机。对于第二种情况,协调器仅仅是将收到的报警信息转发给上位机。
图5 医疗监护系统上位机程序Fig.5 User interface of the PCprogram
穿戴式传感器终端节点工作较为复杂。终端节点加入网络后,定时10 ms的事件周期。由于体温变化缓慢,具有大惯性特性,所以每100个事件周期采集一次体温信息。当终端节点没有收到任何查询命令时,仅将体温在LCD上显示,供佩戴者查看。当终端节点收到查询命令时,LCD显示信息提醒佩戴者穿戴好采集设备,开始传感器信息的采集。此时除了温度信息,每个事件周期均采集脉搏传感器的模拟电压数据。经实验,系统选用脉搏传感器模块的模拟电压信号存在一个大于2 V的脉冲尖峰信号,该信号即代表脉搏跳动。其尖峰宽度在140 ms到190 ms之间。程序中利用状态机原理,当检测到连续12个事件周期中采集的模拟电压信号大于2 V后脉搏计数值加一。为保证脉搏数据的准确性,脉搏采样的过程设置为2000个事件周期。最后将计算得到的脉搏数据连同体温一起单播发送给协调器。穿戴式传感器终端还具有跌倒检测报警的功能,根据3.3所述的检测方法,配置ADXL345的自由落体检测中断与活动检测中断,并映射至中断输出引脚。系统检测到相应中断后进行判断,若判断为跌倒的情况,则立即向协调器发送报警指令,完成跌倒检测报警。
监护软件分为本地上位机程序与网络Web应用两部分。本地上位机程序负责管理WSN网络,并将监护数据写入网络数据库,同时为医护人员提供监护数据的显示;网络Web应用可供病人或医护人员访问,提供所需的监护数据。
监护中心计算机通过RS485总线网络与所有网络协调器进行通信,配置无线传感器网络,获得无线传感器网络的监测数据,在为医护人员提供病人基本信息、病人监护数据的同时,将监护数据写入网络数据库。
基于以上需求,使用C#语言,结合.Net技术[7]进行编写上位机程序,程序界面如图5所示。计算机通过串口与RS485总线进行通信,串口操作使用SerialPort类完成。所有的病人基本信息、监护数据都存储于网络数据库中,数据库选用的是MySQL,故数据库的访问使用MySQL Connector/NET来实现。
网络Web应用如图6所示,用户可以通过浏览器访问该应用获得相应的监护数据。根据设计,病人与医护人员都能访问该应用,但其权限不同:以病人身份登陆时只能获得自己的监护数据,以医护人员身份登陆后则可以获得所有病人的监护信息。
Web应用采用Apache服务器架构,连接至存储病人信息的MySQL数据库。服务器端CGI程序采用PHP语言编写,显示图表使用基于jQuery的动感统计曲线生成插件Highcharts,客户端程序使用脚本语言JavaScript,实现了像动态刷新和其他的强交互型功能。通过本Web应用,病人和医生都能随时随地通过网络获取所需的监护信息,十分方便高效,这也是本系统的一大特色。
图6 监护系统的Web应用Fig.6 User interface of Web application
根以上设计,制作了具有两个网络协调器,四个穿戴式传感器终端的医疗监护系统,为了模拟病房结构,将该系统其布置于学生宿舍。经过一周的试验,该系统运行良好,可以较准确地获得4位受试者的体温、脉搏数据,能检测出大部分的跌倒情况。同时,用户可以通过上位机程序或者Web应用进行监护数据的访问与系统管理,基本达成设计目标。
本文介绍的基于WSN的医疗监护系统以较低的成本,实现了低生理、心理负荷下的人体体温、脉搏及姿态等生理信息的获取,同时,结合Web技术,编写了Web应用,实现了对监护数据的多终端无障碍访问 ,极大提升了系统的易用性。如果该系统在医院等机构推广开来,能在保证准确监护结果的前提下减少医护人员的工作量,同时减少了病人的生理、心理负担。
[1]王虹,吴飞.医疗监护技术现状分析与探讨[J].中国医疗设备,2012,26(7):62-65.WANG Hong,WU Fei.Research of wireless intelligent healthcare monitor system based on electronic wrist strap[J].China Medical Devices,2012,26(7):62-65.
[2]Baronti P,Pillai P,Chook VWC,et al.Wireless sensor networks:a survey on the state of the art and the 802.15.4 and ZigBee standards[J].Computer Communications,2007,30(7):1655-1695.
[3]王小强,欧阳骏,黄宁淋.ZigBee无线传感器网络设计与实现[M].北京:化学工业出版社,2012.
[4]Texas Instruments.CC253x System-on-Chip Solution for 2.4 GHz IEEE 802.15.4 and ZigBee?Applications User’s Guide[EB/OL].[2009-04-01].http://www.ti.com/general/docs/lit/getlite rature.tsp?baseLiteratureNumber=swru191.
[5]Joel M,Yury G.Pulse Sensor Open Hardware[EB/OL].[2012-03-12].http://pulsesensor.myshopify.com/pages/openhardware.
[6]陈均,王忆文.基于ZigBee的定位和人体跌倒检测系统[J].电子技术应用,2012,38(12):29-31.CHEN Jun,WANG Yi-wen.ZigBee-based localization and human fall detection system[J].Application of Integrated Circuits,2012,38(12):29-31.
[7]李佳,付强,丁宁,等.C#开发技术大全[M].北京:清华大学出版社,2009.