基于物联网的监护仪运行状态实时监测系统的研究与实现

2014-02-28 05:23李逸明钱明理
中国医疗器械杂志 2014年4期
关键词:监护仪控件串口

李逸明,钱明理,李 龙,李 斌

1 上海交通大学附属第六人民医院医学装备处,上海市,200233

2 上海交通大学医学院附属新华医院,上海市,200092

3 上海诺诚电气有限公司,上海市,200245

基于物联网的监护仪运行状态实时监测系统的研究与实现

【作 者】李逸明1,2,钱明理2,李 龙3,李 斌1

1 上海交通大学附属第六人民医院医学装备处,上海市,200233

2 上海交通大学医学院附属新华医院,上海市,200092

3 上海诺诚电气有限公司,上海市,200245

该文提出一种基于物联网的监护仪运行状态实时监测系统。在系统硬件设计方面,提出ZigBee网络和470 MHz网络协同工作的解决方案;软件设计中实现监测界面图像化显示与故障实时报警的解决方案。该系统具备对监护仪设备故障远程探测和无线定位功能,为医疗设备安全管理提供了实用有效的方法。

物联网;无线传感器网络;监护仪;监测;定位

0 引言

监护仪是现代医疗中一种不可缺少的重要设备,监护仪能对人体重要的生理指标实时地监测,并具有储存、显示、分析和控制功能,对超出设定范围的参数进行提示或报警的智能医疗仪器,具有很重要的临床使用价值[1]。

监护仪使用范围广泛,一般三级医院均有几百台的配置,其中每家医院放在病房的床边监护仪也有上百台,数量巨大,而且其连续24 h工作,工作时间长,该类设备发生故障的可能性相对较高,在医院也是属于频繁检修的设备,且流动性强。如何在数以百计的散落在各处的临床科室的床边监护设备发现故障报警,及时发现故障设备,改变以往需要临床医护人员人工发现问题再电话报修的模式,并能定位设备,成为迫切需要解决的问题。

本文的目的在于研制一套基于物联网的监护仪运行状态实时监测系统,通过无线传感器网络实现监护仪与定位基站物物相连,对散落在全院各个角落的床边监护仪的“设备安全信息”实时监控,设备安全信息包括设备地理位置、设备序列号、设备故障报警信息等。该系统能够帮助设备管理部门准确定位设备位置、动态发现设备故障、掌握设备保养维护情况、统计设备故障率等,最终保证监护仪设备的安全性、有效性[2]。

1 系统框架

基于物联网的监护仪运行状态实时监测系统如图1所示。(1) 无线定位标签嵌入监护仪,标签通过串口与监护仪通讯,接收监护仪报警数据。(2) 带有报警数据和定位信息的ZigBee标签,通过ZigBee网络以无

线传输的方式将数据传输到ZigBee基站;(3) ZigBee基站通过470 MHz网络以无线传输的方式将数据上传至协调器;(4) 协调器通过串口将数据传至服务器;(5) 服务器将数据运算、存储,向各客户端提供定位和数据透传服务;(6) 客户端软件将带有定位信息和报警信息的数据解析,显示到软件界面,用户可以实时、动态地观察标签的移动和报警显示。

图1 系统结构图Fig.1 Diagram of the whole system

2 硬件设计

硬件上我们需要ZigBee标签、路由器、协调器协同工作,完成从终端(即监护仪)采集数据、上传数据或接受上位机的查询命令。

在无线领域,单一的网络无法满足所有的应用的需求。尽管ZigBee具有自组网的功能,也已经成功应用于各个行业。尤其在物联网的行业中表现的比较突出。但是ZigBee网络具有其局限性[3]:(1) 传输距离过小;(2) 不能够满足实时性的要求。ZigBee网络是复杂的链式网络,如果一条主要节点出现故障将无法保障后面的设备的数据完整性;且网络的深度决定了网络的反应时间。

针对上面的两点,本文采用470 MHz和ZigBee网络结合的方式,能够很好弥补ZigBee的不足。首先470 MHz网络[4]有着很好的传输距离保障了信号的完整、不受别的信号干扰。这样就可以缩短网络深度从而减少网络反应时间。再者,ZigBee网络具有低复杂度、自组织、低功耗、低数据速率、低成本等优点。因此本文提供一套实用、可靠的具备ZigBee通信功能的470 MHz路由器和协调器,实现数据信息在470 MHz网络和ZigBee网络间进行无缝传输。

2.1 标签模块

标签部分的设计方案主要由监护仪和射频收发模块组成,如图2所示。无线射频收发模块集成了ZigBee天线、天线与芯片收发管脚之间的匹配电路、射频主芯片CC2530[5](采用TI公司的基于ZigBee标准协议片上系统)、外围电路及接口电路。射频收发模块的功能是对传感器节点板的数据进行无线发送和接收,监护仪通过串口与CC2530相连来传输数据。

图2 标签模块Fig.2 Module of the tag

2.2 路由器模块与协调器模块

路由器模块包含两个部分:(1) TI的CC2530组成的ZigBee网络;(2) Si4432芯片[4]组成的470 MHz网络,如图3所示。其中TI的CC2530还与470模块通过SPI进行通信。ZigBee网络主要功能为接受标签的信号包含报警定位信息等。470 MHz网络主要功能实现为470路由信息进行发送并接受上位机的查询命令。

图3 路由器模块Fig.3 Module of the router

协调器和路由器可以由同一个原理图构成,多一个串口转换器。协调器的工作主要是承担起服务器和路由器之间的通信。协调器与服务器的通信通过串口通MAX3232芯片直接连接服务器的接口。而路由与协调器的通信通过470无线模块进行数据传输。

3 定位通信流程

本系统是基于无线传感器网络实现定位的,其基本思想是未知节点(unknown node)将周围所有的一跳范围内参考节点(anchor node)的接收信号强度值返回到协调器,由协调器将接收信号强度(Received Signal strength Indicator, RSSI)[6-7]传送到上位机服务器软件,服务器软件调用相应的定位算法[8],计算出未知节点的坐标位置。客户端软件通过服务器提供的服

务实现必要的定位显示。其中,标签是未知节点,基站是参考节点。无线传感器网络定位通信流程可分为如下3步进行[9]:(1) 协调器查询标签 在协调器节点成功建立网络后,协调器与基站直接通讯,基站与标签直接通讯,标签点与协调器之间通讯必须经过基站:基站将一跳范围内的所有标签的ID和RSSI值通过协议打包发送协调器,也就是说一个标签与能够探测到它的所有参考节点的RSSI值都被发送至协调器。(2)服务器预处理RSSI值 服务器收到协调器上传的未知节点与能够探测到它的所有参考节点的RSSI值存入数据库的表,并且按照RSSI大小排序,选出其中最大RSSI值的基站号。(3) 客户端软件计算标签位置 客户端软件向服务器软件查询某标签位置,服务器软件提供能够探测到该标签的RSSI值最强的基站号。客户端软件根据这些数据实现标签位置图形化显示。

4 上位机软件设计

本文选用C#语言在Visual Studio 2010集成开发环境下开发环境设计软件。C#功能强大、类型安全,且面向对象,是开发交互式操作系统程序的首选语言工具[10]。

本系统使用环境是在医疗机构,软件系统必须建立在专用、小范围的局域网网络环境中,所以本系统上位机软件部分采用的是C/S(客户端/服务器)结构。C/S结构无论在网系统开销和网络安全方面都和本系统的实际要求相符合。本系统选用MySQL为服务器后台数据库,Microsoft Access 2007为客户端后台数据库。MySQL具有体积小、速度快、总体拥有成本低的特点,是局域网服务器的不二选择。Access 2007是面向对象的小型关系型数据库,具有存储方式简单,易于维护管理,数据处理能力强等特点,完全能满足客户端软件设计需要。

4.1 服务器软件设计

协调器接收各个基站的数据信息,利用串口传送给PC机服务器,所以,服务器软件的设计主要是基于C#结合数据库以及SOCKET网络编程实现。系统采用模块化编程,程序执行后,首先服务器启动串口通信程序,波特率设置9 600 bps,接收从协调器传送的设备报警数据,用定时器定时查询标签定位信息,同时启动SOCKET实时监听网络客户端连接服务请求,服务器端采用多线程处理多个客户端查询命令相应。服务器软件包括:TCP/IP服务、数据库服务、串口服务三个模块。通讯模块主要执行网络通讯、转发数据和网络数据解析功能。数据库服务模块主要保存串口上传数据并进行数据统计功能。串口服务模块主要执行串口通讯参数设置串口数据解析等功能。由于本文着重介绍客户端软件部分设计,这部分不展开详述。

4.2 客户端软件设计

4.2.1 客户端主流程设计

客户端软件主流程框图如图4所示,客户端软件主要功能就是将服务器提供的定位数据与报警数据图形化显示到监控界面,在客户端能够实现图形化实时显示,并且具有地图缩放、地图拖曳、设备报警显示、历史轨迹回放等功能。

图4 客户端软件主流程图Fig.4 The main fl ow chart of client software

4.2.2 数据库的连接

客户端软件前台UI的显示离不开对后台数据库的访问,由于访问数据库频率很高,为了提高代码重用性和软件执行效率,本文创建一个面向对象的类DatabaseCom类,在这个类中,声明和实现对数据库访问的静态方法,使得其它类能够方便调用[11]。例如创建数据库通讯连接的静态方法:

更新数据库的静态方法:

public static void UpdateDatabase(string strsql)

{ OleDbConnection Ocon = CreatConn();//数据库连接

OleDbCommand P_OLEDBCommandInsertData = new OleDbCommand(strsql, Ocon);//定义Command对象

Ocon.Open();//打开数据库连接

P_OLEDBCommandInsertData.

ExecuteNonQuery();//执行命令

Ocon.Close();//关闭数据库连接

}

4.2.3 基础配置模块设计

本文将基础配置模块设计成一个独立的界面,监控地图和基站控件被加载在该界面中。管理员可以更换监控地图;配置地图上基站控件的位置,并且实现对基站控件的添、删、位置移动功能。基站控件在监控主界面中是隐藏的,只有在配置界面才可以显示和更改它的位置;另外,基础配置模块中还设计了标签录入功能:鼠标点击标签录入键,弹出标签录入对话框,用户可以将新设备的基本信息添加绑定到一个标签号。

4.2.4 实时监控模块设计

(1) 与服务器建立连接

要获取监护仪的位置信息,客户端必须与服务器建立连接。本文将与服务器建立连接的操作封装成一个动态链接库,其中功能包括:用指定IP地址和端口号连接服务器、监听服务器连接、接收服务器数据等。服务器提供的服务包括标签位置查询(标签归属于RSSI值最强的基站)、基站查询(所有基站列表)、超限报警(标签超出基站监测范围报警)、数据透传(监护仪设备故障报警数据透传至客户端软件,由客户端软件处理设备故障报警协议)。

(2) 监控界面图形化显示

当成功连接服务器后,客户端启动侦听,接收服务器下发数据,其中包括标签位置信息,具体格式为〈标签ID〉|〈基站ID〉,该基站为所有能探测到该标签基站中RSSI值最强基站,由于在实际应用中我们设定基站覆盖范围为半径7 m的圆,我们只要求区域定位,即定位到一个25 m2左右的房间范围。这里我们认为标签位置即为该基站位置。当标签位置改变,客户端重新下发标签位置。

监控主界面由Panel控件、PixtureBox控件组成,PictureBox控件停靠在容器控件Panel中。基站控件被加载在Panel控件中,但是被PictrueBox控件覆盖,故意使用户看不到基站,标签控件显示在PictureBox前端。关键代码如下:

if (!panelMap. Contains(cardIndexer[cardNum]))

{ cardIndexer[cardNum].Location = new Point(ub. Location. X, ub. Location.Y); //卡的位置计算

panelMap. Controls. Add(cardIndexer[cardNum]);//加载卡片

}

cardIndexer[cardNum].CardName = g_ szEndCarName;//卡片名称赋值

cardIndexer[cardNum].BringToFront();//将控件置Z轴前端

卡片的移动由定时器控件与用户自定义标签控件实现:在主界面添加定时器,设定时间间隔为20 ms,即每20 ms触发一次timer.Tick事件,在该事件响应函数中,根据比较标签现有坐标与目的坐标的大小判断移动偏移量为+10(像素)或者-10(像素),以此控制标签控件移动路线,直到现有坐标与目的坐标重合,定时器停止。

(3) 地图缩放

监控地图缩放功能由Panel控件、PixtureBox控件共同实现。将PictureBox控件停靠在容器控件Panel中,控件Dock属性设置为Fill。为PixtureBox控件的将MouseWheel事件和MouseMove事件添加响应函数,在响应函数中分别计算缩放偏移量重新赋值给基站和标签控件,实现图片与图片上控件的同步缩放和拖曳。

(4) 轨迹回放

将标签移动的历史轨迹点保存在数据库中,读取这些历史轨迹点,并将其显示即完成轨迹回放功能。另外,该界面中还增加NumericUpDown控件,将它的数值赋给Timer控件的Interval属性,使用户能够调节轨迹回放速度。

(5) 报警协议解析

监护仪报警数据直接通过标签透传至上位机客户端软件,协议的解析在上位机客户端软件执行。从串口得到的监护仪报警原始数据通过以下步骤进行协议解析:

① 缓存收到的所有数据 使用集合List〈byte〉,内部是数组方式实现,每次数据不足够时候会扩容1

倍,数据的增删改比使用数组方便。

② 找到一条完整数据 首先在缓存的数据中找数据包头,然后探测数据长度,最后计算校验和,以上几步全都正确就复制一条完整的数据到数据缓存。

③ 分析数据 分别使用不同的函数处理不同报警类型的数据,传入数据正文字符串,例如:传入“03020202”,返回对应的报警文本“LA导联脱落ECG通道1过载报警”。

④ 界面通知 得到报警文本后,首先,标签颜色变为红色显示在地图上,其次,报警慨况显示在底端ListBox控件中。详细的报警情况:如标签号、设备名称、报警类型、报警细节、报警时间,写入数据库AlarmList表中,以便用户查阅报警详情。在报警列表对话框中,用户可以按照标签号以及时间进行报警列表查询,本文还增加了报警列表导出功能,可以按照指定路径导出为Excel文件,方便做数据统计。

4 系统测试

4.1 定位测试

在(15×25) m2的楼层平面,房间10个,每个房间尺寸约(4×6) m2。每个房间布置1个基站,分别布置在顶部中央,走廊中均匀布置基站。在上位机服务器软件设置基站定位距离为7 m。测试人员携带监护仪从一个房间走到另一个房间,测量50次,标签控件能够在地图上迅速移动,平均响应时间〈2 s(响应时间等于客户端数据显示时刻减去底层数据上传时刻),定位精度为房间级别的区域定位,达到监护仪设备定位精度要求。

4.2 报警测试

使用串口调试助手[11]模拟监护仪设备各类故障。将定位标签连接串口调试助手硬件,根据监护仪设备报警协议向串口发送报警数据,每一种报警数据模拟10次,共21种故障类型,共计210次,平均报警响应时间〈1 s。

5 结论与讨论

本文从医院设备管理者的角度提出一种基于物联网的监护仪运行状态监测系统,在硬件方面提出ZigBee网络结合470 MHz网络远距离无线传输解决方案,软件设计方面实现了监测界面图像化显示与故障实时报警的解决方案。对连入无线传感器网络的监护仪设备实现了无线远程定位和故障实时报警,确保急救设备安全有效地运行,可以实现床边监护仪设备的空间定位和使用情况等多种跟踪分析等功能,具有很强的实用性。

现今,大多数医疗设备具有故障自检和串口通讯功能,只要各医疗设备厂商开放医疗设备的串口通讯协议,该系统同样适用于其他品牌的监护仪设备或者其他种类的急救设备。将物联网技术融入到医疗设备管理应用中去,确保医疗设备使用的安全性和有效性,提高医疗水平将是一个值得深入研究的方向。

[1] 杨谦, 何明霞. 我国医疗监护仪技术的最新进展[J]. 医疗卫生装备, 2006, 27(8): 38-39.

[2] 李逸明, 李斌, 钱明理, 等. 无线传感器网络及其在医疗领域的应用[J]. 中国医疗器械杂志, 2013, 37(5): 351-354.

[3] 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]. Comput Commun, 2007, 30(7): 1655-1695.

[4] Silicon Laboratories. Si4430/31/32 ISM TRANSCEIVER[R]. 2009.

[5] Texus Instrument. A true system-on-chip solution for 2.4-GHz IEEE 802.15.4 and ZigBee applications[EB/OL]. [2009-04]. http:// www-s.ti.com/sc/techlit/swrs081.

[6] Bahl P, Padmanabhan VN. RADAR: an in-building RF-based user location and tracking system[C].IEEE INFOCOM, 2000: 775-784.

[7] 方震, 赵湛, 郭鹏, 等. 基于RSSI测距分析[J]. 传感技术学报, 2007, 20(11): 2526-2530.

[8] Ssu KF, Ou CH, Jiau HC. Localization with mobile anchor points in wireless sensor networks[J]. IEEE Tran Vehicul Tech, 2005, 54(3): 1187-1197.

[9] 高守玮, 吴灿阳. ZigBee技术实践教程:基于CC2430/31的无线传感器网络解决方案[M]. 北京: 北京航空航天大学出版社, 2009.

[10] Watson K. C# 入门经典[M]. 北京: 清华大学出版社, 2002.

[11] Mark Michaelis. C#本质论[M]. 北京: 人民邮电出版社, 2010.

[12] 邢矫健. 串口调试助手软件介绍[J]. 无线电, 2006 (7): 35-35.

Research and lmplementation of a Real-Time Monitoring System for Running Status of Medical Monitors Based on the lnternet of Things

【 Writers 】Li Yiming1,2, Qian Mingli2, Li Long3, Li Bin1
1 Dept. of Medical Equipment, the 6th People's Hospital Af fi liated to Shanghai Jiao Tong University, Shanghai, 200233
2 Xinhua Hospital Af fi liated to Shanghai Jiao Tong University School of Medicine, Shanghai, 200092
3 NCC Medical Co. Ltd., Shanghai, 200245

【 Abstract 】This paper proposed a real-time monitoring system for running status of medical monitors based on the internet of things. In the aspect of hardware, a solution of ZigBee networks plus 470 MHz networks is proposed. In the aspect of software, graphical display of monitoring interface and real-time equipment failure alarm is implemented. The system has the function of remote equipment failure detection and wireless localization, which provides a practical and effective method for medical equipment management.

internet of things, wireless sensor networks, monitor, monitoring, localization

R318.6

A

10.3969/j.issn.1671-7104.2014.04.003

2014-01-24

上海市科委研究基金项目(12441903101)

李逸明,在读硕士研究生,E-mail: lyming1987@126.com

李斌,教授级高级工程师,E-mail: libin2001@hotmail.com

1671-7104(2014)04-0242-05

猜你喜欢
监护仪控件串口
适用于航空救援的除颤监护仪设计
胎心监护仪的多发故障解析与日常维护
多参数监护仪检定相关问题分析及建议
医用多参数监护仪计量检定中常见问题与质量控制
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
基于.net的用户定义验证控件的应用分析
基于EM9000工控板高性能双串口通信模型设计与实现
关于.net控件数组的探讨
船舶电子设备串口数据的软件共享方法