基于红外技术和ZIGBEE的监护系统设计
0 引言
目前中国国内的医院病房监护系统,基本上还是通过有线方式向监护中心传递数据,需要布线,要进行穿墙或过天花板,工作繁琐,且无法自由移动和扩充,不便于维护,特别是在紧急情况下,线缆可能影响及时救治。比如病房里的呼叫系统都是通过有线的方式连接到护士监控中心,呼叫按钮装置在病房的墙上,紧急情况下病人可能无法按动呼叫按钮而引发危险事故。
尤其是人工测量患者体温,不但增加了医护人员的工作量,还影响病房病人的恢复休息,也不便于对病人生命体征信息的统计。所以研制开发低成本、低功耗、高可靠性、易扩展、配置灵活的无线病房监护系统就具有普遍的意义和现实的价值。
1 短距离无线通信基础
为实现无线节点、路由器之间的互通,必须要有相应统一的无线网络通信标准。目前热门的短距离互联技术有:
ZigBee、超宽带(UWB)、蓝牙(Bluetooth)、无线局域网(Wi-Fi)、近距离无线传输(NFC)。其中ZigBee 是一种适合于近距离、低复杂度、低功耗、低成本的无线网络技术,主要用于近距离无线连接,它依据IEEE802.15.4 标准,在数千个微小的传感器节点之间相互协调实现通信,这些传感器节点只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传节点到另一个传感器节点,其通信效率很高,相对于现有的各种无线通信技术, ZigBee 技术将是最低功耗和成本的技术, 其出发点就是实现一种易实现的低成本无线网络,为实现无所不在的网络创造了条件。
以测量患者体温和所在病房室内温度为例,提出了一种基于ZigBee 协议的无线传感器网络病房监护系统解决方案,可实时监测患者体温、病房环境温度参数和患者的求助呼叫信号,同时可以对病人实现房间级的定位,监测数据通过无线方式传输到监护中心进行分析。
2 系统整体架构
整个系统由终端节点、路由节点、网关控制器(Gateway)和网络主机服务器(包括WEB 服务器和数据库服务器)组成,其中路由节点是全功能设备(FFD),终端节点是精简功能设备(RFD)。其系统架构如图1 所示。终端、路由、网关组成底层ZigBee 网络,组网方式采用树状网络,路由节点和终端节点之间通过红外技术实现患者房间级定位。终端节点负责采集患者体温数据,传送患者呼叫信号,信息通过路由节点中继到网关。网关为一嵌入式WEB 服务器,其负责连接远程Internet 主机服务器和底层无线传感器网络,承担着底层 802.15.4 协议和高层Internet 协议转换功能,采用TCP/IP 协议将数据实时存入Intranet 网络的数据库服务器。
服务器端采用基于网络的管理平台,医生和值班护士通过PC或PDA 等设备,以WEB 浏览器方式查看实时数据和查询数据库中的历史数据,及时做出诊断。
图1 病房监护系统
3 系统硬件设计
3.1 终端节点设计
本系统的ZigBee 模块选用TI ZigBee SoC 芯片CC2430,片上集成高性能8051 内核、ADC、USART 等,兼容ZigBee 规范。这是一个方便用户实现高性价比、高集成度的ZigBee解决方案。
终端节点如图2 所示,CC2430 为终端节点的中心控制模块,控制所有外围设备。传感模块采集患者体温,红外接收模块用来接收路由节点发送的位置识别码(如病房号),终端节点在发送数据时把该位置识别码连同节点的ID 号一同传送出去,以实现房间级定位。由于终端节点采用电池供电,为节省能量,当节点不需要向外发送数据时,关闭红外接收功能。液晶模块选用3 位8 字段式液晶模块,用于显示所测量的患者体温信息。
终端节点亦可当作一个独立的数字温度计使用。按键和LED 模块用于紧急呼叫,病人需要护士的帮助时,按节点上的呼叫按钮即可向护士值班中心发送呼叫信号,呼叫信号连同患者的位置信息和患者所带节点ID 一同传送到护士值班中心。若呼叫信号发送失败,则红色LED 灯闪烁,患者可重新呼叫;若呼叫成功,则节点上红色LED 长亮,直到护士值班室响应请求信号后,红色LED 灯熄灭,绿色LED 灯闪烁,等待护士到来后再次按下呼叫按钮,绿色LED 灯熄灭。
图2 终端节点结构
3.2 路由节点设计
路由节点结构如图3 所示,其功能是发送参考位置识别码,转发终端和其他路由节点的数据。路由节点采用市电经电源降压转换成直流后供电,其红外发射模块受处理器控制,不停向外发射一个位置识别码信息(预先设定好),由于红外线信号不会穿透房间里墙壁、天花板等障碍物,但在发射过程中,信号会在任何物品上发射,因此,只要终端节点位于发射范围内,且没有被不透明物体完全遮盖,那么终端节点就能接收病房内路由节点发出的红外线,而不会接收隔壁病房内路由节点发射的红外信号,这样就能准确确定患者的位置信息。在病房外的走廊等其他位置装上这种路由节点后,即使患者在病房外也能准确确定患者所在位置。传感模块用来监测环境温湿度和烟雾信息,在患者所在环境不适合患者时能及时采取措施,同时还兼具火灾报警的功能。
图3 路由节点结构
3.3 网关控制器节点设计
网关由控制模块、ZigBee 模块、TCP/IP 模块、触摸屏模块、存储模块、电源管理模块、自定义键盘和蜂鸣器模块,硬件架构如图4 所示。
控制模块由ST 公司的ARM9 处理器STR912 和外围电路构成。STR912 可达到96 MIPS 的峰值性能。在ARM966E-S 内核里能够执行单周期的DSP 指令,同时配备了以太网、USB和CAN 总线接口,内置高达544 KB 的Flash、96 KB 的SRAM。
这些外设使STR912 成为一个将嵌入式应用连接到本地局域网或者因特网的理想单芯片解决方案。网关上的ZigBee 模块(ZigBee Coordinator)起ZigBee 网络的协调器作用,在控制器的控制下,负责组建、管理整个ZigBee 网络,接收ZigBee 网络数据,通过串口传给主控制器,主控制器将数据转换成TCP/IP 协议格式的数据,通过路由器,接入到Intranet网络,向Intranet 网络内的数据库服务器实时传送数据,控制器内嵌入WEB 服务器,监控端用户可以直接登录到嵌入式WEB 服务器查询实时数据,发送控制命令,也可通过Intranet网络登录到主机服务器查询历史数据。查询工具可用有WEB浏览器的PC 机或是PDA 等设备。存储器模块是用来作为数据缓存,以防Intranet 网络不稳定时,能将ZigBee 网络转发来的数据及时存储,以防数据丢失,Intranet 网络稳定后再将数据传送感到数据库服务器。网关控制器布置在护士监护中心,当有患者呼叫时,蜂鸣器发出呼叫信号,同时显示发出呼叫信息的患者位置等信息,值班护士确认后蜂鸣器关闭,同时向发出呼叫的患者节点发送确认信息。护士赶到患者病房后关闭患者节点的呼叫等待状态。
图4 网关节点结构
4 系统软件平台架构
系统使用IAR Embedded Workbench 平台,在TI 公司开发的Z-Stack 协议栈基础上,根据本系统需要裁剪修改协议栈,定制应用程序下载到节点模块。网关模块通过裁剪移植μC/OS-II 操作系统,通过在μC/OS-II 上移植TCP/IP 协议栈LwIP,利用μC/GUI 作为图形界面设计工具,使用EasyWEB-API 实现一个动态的HTTP-Server 页面,实现嵌入式web服务器定制和动态交互网页设计。通过TCP/IP 模块,将网关节点数据传送到基于网络管理平台中的数据库中。
基于网络的管理平台采用B/S(Browser/ Server)结构,客户端只需装有Web 浏览器即可,服务器端连接客户端和数据服务器,负责处理来自浏览器用户的请求。数据库服务器保存系统数据,实现数据的定义、维护、访问、更新及管理,并响应服务器的请求[5]。采用SQL SERVER 2005,利用ADO.NET技术将数据存储到数据库中。远程WEB 服务器使用微软的ASP.NET 技术开发了基于B/S 架构的数据管理服务软件。整个管理软件分为前台页面和后台管理两大模块,前台页面主要实现了用户可视化管理,方便用户随时查看、统计数据。
后台管理主要有3 大模块:①终端节点信息与患者信息的绑定与删除;②路由节点信息与病房号绑定与删除;③管理系统的维护。Intranet 用户通过授权可以查看访问WEB 服务器查看病人信息。Intranet 网络通过防火墙和外部Internet网络相连,这样外网用户只要可以接入Internet 网络,通过授权就可以访问医院内部的网络数据。