基于6LoWPAN无线传感网的医疗监护系统设计*
2015-07-07桂兵曾碧
桂兵 曾碧
(广东工业大学计算机学院)
基于6LoWPAN无线传感网的医疗监护系统设计*
桂兵 曾碧
(广东工业大学计算机学院)
提出基于6LoWPAN无线传感网的医疗监护系统设计方案,采用分层结构,将系统节点分为病人生理数据采集节点、数据中转节点和网关节点3类。采用6LoWPAN技术,网关节点可方便地接入IPv6互联网。通过本系统,医护人员可在本地或远程获取病人的生理数据,为病人提供便捷的医疗服务。仿真实验结果表明,该系统可以满足医疗监护系统的需求。
无线传感器网络;医疗监护;分层结构;低功耗有损网络路由协议;6LoWPAN
0 引言
随着信息化程度的不断提高以及我国人口逐步进入老年化,医疗监控服务逐渐进入人们的视线,使医疗服务和医疗效率得到提升。无线传感器网络(wireless sensor network,WSN)[1-3]可通过廉价的传感器节点自动组建网络,将传感器节点采集的数据通过网络发给汇聚节点,为无线医疗提供一种廉价的解决方案[4-5]。IPv6以其地址资源丰富、地址自动配置、安全性高等特点,将取代IPv4成为下一代网络层的标准协议[6]。为适应物联网无缝接入IPv6 Internet网络的需要,IETF 6LoWPAN工作组针对低功耗有损网络制定6LoWPAN适配层[7],通过分片重组及包头压缩技术使最大报文长度为127字节的IEEE802.15.4[8]协议数据帧,可以传输最小MTU为1280字节的IPv6数据包,形成基于IPv6的低速无线个域网(6LoWPAN)标准[9],打开了将IPv6协议引入低速短距离无线通信网络的新局面,对促进物联网技术的发展具有重要意义[10]。
本文提出基于6LoWPAN无线传感网的医疗监护系统设计方案,首先通过病人携带的无线传感器节点收集病人生理数据,再通过布设在医院内的中继节点将采集的生理数据传送到网关节点,网关节点作为数据中心,医护人员可在本地查看病人的情况,也可通过Internet远程访问网关节点上的Web服务获取病人数据信息,由此对病人的情况作出分析诊断。
1 基于6LoWPAN的医疗监护系统架构
基于6LoWPAN的医疗监护系统架构如图1所示,其中虚线上的方块表示数据包。
图1 基于6LoWPAN的医疗监护系统架构
每个病房内的节点组成一个星型网络,每个病房中星型网络的主星节点相连接组成一个数据传输通道,负责将数据传输到医务室的数据监控服务器供医护人员参考分析。
根据节点功能不同,将系统中的节点分为3类:1) 数据采集节点,即病人携带的传感器设备(patient data terminal,PDT),它负责采集病人生理数据;2)数据中继节点(patient data relay,PDR),它负责管理PDT节点和中转PDT所采集的数据;3) 网关节点(patient data analysis center,PDAC),它负责收集所有病人数据供医护人员参考分析。
利用IEEE 802.15.4近距离低功耗的通信特点,每个病房内的节点通过802.15.4构成一个星型网络,PDT节点作为星型网络的周边节点,PDR节点作为星型网络的协调器节点,每个PDR负责其周边PDT设备的网络管理和数据传输功能。PDT可以在医院内移动,选择附近的PDR接入网络。PDR节点通过低功耗有损网络路由协议(routing protocol for LLN,RPL)将数据传递到PDAC根节点。
2 系统节点及通讯设计
2.1 PDT节点设计
PDT节点负责收集病人的生理信息,只与PDR节点通信不需要提供数据中继功能,所以可以考虑简化节点上的协议栈,在此为PDT设计了3层结构的协议栈,如图2所示。
图2 PDT协议栈
GDUTPAN层是本文定义在802.15.4 MAC层上的私有协议,负责节点的逻辑控制,主要包括网络连接管理和数据发送与命令接收;MAC层负责IEEE 802.15.4数据帧的封装和解析,按CSMA/CA方式共享无线信道发送/接收数据;PHY层负责无线信号的传输。
PDT节点上电后向周边PDR节点发送加网请求消息,PDT根据PDR发送的加网响应消息选择信号较强的PDR作为父节点;父节点向PDT发送参数配置(如发送间隔、发送数据类别等)命令;按照配置的要求PDT节点向PDR节点发送采集的人体生理数据。PDR父节点的有效性有时间限制,当超过了一定时间没有收到父节点的ACK确认报文,PDT将重新启动父节点选择机制来选择父节点。
本文PDT节点的主控芯片采用OB59A16U1型51核MCU(25MHz MainClock + 64kB Flash + 6kB RAM);RF采用兼容802.15.4c标准的AT86RF212芯片,生理数据传感器采用HKD-10B心电采集模块和TN9体温采集模块,用DS2411来唯一标识一个节点编号。软件系统基于开源的Contiki系统[11-12],采用3层简化协议栈,减少资源使用量,降低采集节点的成本。PDT节点硬件结构框图如图3所示,其中心电、体温等传感器通过TTL串口与MCU通信,RF通过SPI总线与MCU通信。
图3 PDT节点硬件结构框图
2.2 PDR节点及路由设计
PDR节点负责收集周围PDT采集的数据,管理PDT网络和向PDT节点传送控制消息。PDR布设在各个病房中或走廊上,本文采用RPL路由连接PDR节点组成数据通道,将PDT采集的数据中转到PDAC汇聚中心。
RPL路由协议[13-14]是IETF ROLL工作组为低功耗有损网络制定的路由标准,该协议通过广播有向无环图消息(directed acyclic graph information option,DIO)形成到根的向上路由,通过子节点向父节点发送目的通告消息(destination advertisement option,DAO)形成根到子节点的向下路由,最终形成一个树状拓扑结构。研究表明[15]RPL路由协议比较适用于数据监控。由于DAO消息需要上传到根节点,造成控制报文开销较大,但本文场景中PDR是固定的,网络拓扑基本不会变化。根据Trickle Timer[16]特点可知:当网络稳定时控制报文的开销较小,只有当网络拓扑发生变化时,为尽快构建路由才有较大开销,PDR节点由RPL路由形成的拓扑结构如图4所示。
图4 PDR节点拓扑
PDR节点协议栈结构如图5所示。PHY层是RF驱动,负责无线数据的发送和接收;MAC层是IEEE 802.15.4数据帧的封装和解析,按CSMA/CA方式共享无线信道发送/接收数据;6LoWPAN Adapter层为IPv6数据包头压缩和数据包分片与重组;uIPv6/RPL层由简化的IPv6网络层协议及利用IPv6协议中ICMP数据报文传输消息的RPL路由协议组成;UDP层是负责数据收发的传输层协议;APP层负责向根节点发送PDT采集的数据和接收来自根节点的命令,软件采用Contiki系统。
图5 PDR节点协议栈
PDR节点采用全协议栈,管理周围的PDT节点和缓存未成功发送的数据包,所以需要较多的RAM空间。本文选择STM32F103系列芯片,其内核是Cortex-M3,最高工作频率可达72 MHz,其RAM空间最大可达64 kB,FLASH空间最大可达512 kB,RF选择AT86RF212,其硬件结构框图如图6所示。
图6 PDR结构图
2.3 PDT节点编址及帧格式设计
PDT与PDR采用星型结构组织网络,如图7所示。
图7 PDR/PDT星型网
在前面PDT的设计中,简化了PDT的协议栈,去掉网络层协议,但PDT节点具有独立IP地址,所以需要由PDR管理PDT的IP地址。由PDR代理PDT进行网络通信,即发送PDT的数据包先通过路由发到PDT所连接的PDR节点,然后由PDR节点发送给相应的PDT节点。为了唯一标识一个PDT节点,本文设计PDR节点内PDT地址映射表,如表1所示。
表1 PDR节点内PDT地址映射表
PDT MAC字段表示连在PDR上的一个PDT MAC地址;SN编号字段标识连接在PDR的PDT节点地址,它由PDR在响应PDT加网时分配给PDT节点;Online字段表示PDT节点是否与PDR连通,PDR在一定时间内未收到PDT节点的数据,PDR可设置Online为离线状态。在汇聚节点处要识别PDT节点同样需要记录PDT的地址信息,PDAC节点内的PDT地址映射表如表2所示。
表2 PDAC节点内的PDT地址映射表
当新的PDT节点入网或离网时,PDR向汇聚节点发送记录内容及时更新PDT的连接状态,通过二级寻址,即先通过PDT所连接的PDR MAC地址找到PDR,再通过PDT的SN编号找到PDT,PDR便可唯一标识一个PDT节点。寻址方式可以描述为PDT地址=PDR MAC地址 + SN编号。PDT或PDR的MAC地址由DS2411芯片分配并保证唯一。SN编号采用5bit表示,因为在实验中发现一个PDR大约连接15个PDT,PDT太多干扰较大,造成数据发送效率低。
通过表1、表2,PDT节点的48bit MAC地址可映射成5bit的SN编号,PDT向PDR发送数据时可用SN表示PDT节点地址,这样可以减少控制头的开销,增加有效数据长度。为进一步增加有效数据长度,本文对PDT和PDR的交互帧格式进行如下设计:设置802.15.4帧中Frame Control field,使Source/Destination地址和PAN标识符都不出现,在MAC payload中使用6 octs表示PDR地址,1个oct组合表示PDT的地址及数据传送方向,头部的开销仅10个字节,还有117字节留给应用,帧格式如表3、表4所示。
表3 数据帧
表3中,Frame Control Frame Type=001,前3个字节表示MAC FrameHead,后面字节表示MAC payload。Direction=0表示PDT向PDR发送数据,Direction =1表示PDR向PDT发送数据,PDT SN表示PDT的地址,PDR MAC表示PDR地址,APP Data域。
表4中,Frame Control Frame Type=011,前3个字节表示MAC Frame Head,后面字节表示MAC payload。
表4 命令帧
本文设计的CMD Type命令帧类型如表5所示。
表5 命令帧类型
加网请求等信令的交互方式与802.15.4方式相同。这里以associate network为例说明,其他可以参照8021.5.4标准,在此不再赘述。
Associate Reques命令帧格式如表6所示。
表6 Associate Request命令帧
其中:Frame Control中Frame Type=011,CMD Type设置为0x01,Destination MAC Addr设置为0,表示广播加网请求,Source MAC Addr设置为该请求加网节点的MAC地址,无APP Data域。
Associate Respons命令帧格式如表7所示。
表7 Associate Response命令帧
其中:Frame Control中Frame Type=011,CMD Type设置为0x03,Destination MAC Addr设置为请求加网的节点MAC地址, Source MAC Addr设置为发送加网响应的PDR节点MAC地址,APP Data域为Status(1 oct)域和SN(1 oct)域,Status表示PDR是否容许加网,SN表示PDR容许加网时分配的SN节点编码。
2.4 PDAC节点设计
PDAC节点是数据的处理中心同时也是外网的边界路由,所以软、硬件性能要求较高。汇聚节点结构图如图8所示。
图8 汇聚节点结构图
汇聚节点结构由2部分组成:一部分采用功能较强的PC连接Internet网络;另一部分传感网根节点连接传感器网络。2部分通过SLIP协议通信,PC机和汇聚根节点通过UART接口连接,PC上采用USB转串口,根节点可接USB转TTL的小板。PC机采用Linux操作系统,可搭建Web服务器供远程访问病人数据,本地提供GUI界面,用来显示病人数据及向根节点发送配置PDT数据。传感网根节点上的Slip bridge和Collect Server程序负责获取外网的网络前缀,然后在传感器网络中构建RPL路由及收集PDR传回的生理数据,通过Slip协议发送给PC机。
3 仿真实验
为了验证本系统,在Contiki系统模拟器Cooja平台仿真,设计如下场景:1个PDAC汇聚根节点,10个PDR中继节点,10~100个PDT数据收集节点,PDAC上部署udp-server数据收集应用,PDR部署udp-client数据发送应用,节点仿真如图9所示。表8列出了仿真的主要参数。PC机上通过tunslip6协议设置仿真器的IP地址,PC端将PDAC发来的数据通过Web服务显示,简易监控图如10所示(病人所在的病房号只是近似估计,因为101病房的病人节点可能连接到了102病房的中继节点上)。仿真结果如下:1号节点为PDAC汇聚根节点;11,2,10,9,5,4,7,6,3,8节点为PDR中继节点,分别代表病房号;其它节点为PDT节点,代表病人携带的传感器。
表8 仿真参数表
图9 系统节点仿真
图10 PC端监控状况
实验的研究对象主要是包投递率(Average Reception Ratio)、包延时(Average Delay),这2个因素决定了医疗数据的传输效率和有效性。图11的横坐标表示平均每个PDR连接的PDT个数,纵坐标表示PDAC成功接收到数据包的比例。图12横坐标表示平均每个PDR连接的PDT个数,纵坐标表示数据包到达PDAC的平均延时。实验结果表明:当每个PDR附带的PDT不超过10个时,包投递率可以达到90%以上,包延时均小于30 s[17],可以满足医疗监护的需求。
图11 包投递率
图12 包延时
4 结语
为满足医院病人实时监护的需求,本文设计了基于6LoWPAN技术的无线医疗监护系统。采用基于IPv6的低功耗无线传感技术,把网络按设备功能划分为3个层次;对PDR与PDT的通信作了私有简化设计,降低了系统成本;PDR节点间采用RPL路由技术,增加系统可靠性;数据汇聚节点采用双系统结构,通过SLIP协议将传感器网络与传统计算机网络相连接;在Linux PC机上可方便部署Web服务供用户访问。通过仿真实验模拟了该系统的性能,实验结果表明该架构可以满足医疗监护系统的性能需求。
参考文献
[1] 孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学出版社,2005.
[2] Srivastava M, Culler D, Estrin D. Guest editors' introduction: overview of sensor networks[J]. Computer, 2004, 37(8): 41-49.
[3] Alemdar H, Ersoy C. Wireless sensor networks for healthcare: a survey[J]. Computer Networks, 2010, 54(15): 2688-2710.
[4] Ko J G, Lim J H, Chen Y, et al. MEDiSN: medical emergency detection in sensor networks[J]. ACM Transactions on Embedded Computing Systems (TECS), 2010, 10(1): 11.
[5] Egbogah E E, Fapojuwo A O. A survey of system architecture requirements for health care-basedwirelesssensor networks[J]. Sensors, 2011, 11(5): 4875-4898.
[6] Davies J. Understanding IPv6[J]. Understanding Ipv6, 2012.
[7] Hui J,Thubert P. Compression format for IPv6 datagrams over IEEE 802.15.4-based networks[J/OL]. RFC6282. September 2011. http://datatracker.ietf.org/doc/rfc6282/.
[8] IEEE Std 802.15.4™-2006, Wireless Medium Access Control(MAC) and Physical Layer (PHY)Specifications for Low-Rate Wireless Personal Area Networks (WPANs)[S]. New York: IETF Press, 2006.
[9] Shelby Z, Chakrabarti S, Nordmark E. Neighbor discovery optimization for IPv6 over Low-power WirelessPersonal Area Networks (6LoWPANs) [J/OL]. RFC6775. November 2012. http://datatracker.ietf.org/doc/rfc6775/.
[10] Kim E, Kaspar D. Design and Application Spaces for 6LoWPANs[J/OL].IETF Draft. July 2011. https://tools.ietf. org/html/draft-ietf-6lowpan-usecases.
[11] Farooq M O, Kunz T. Operating systems for wireless sensor networks: A survey[J]. Sensors, 2011, 11(6): 5900-5930.
[12] Dunkels A, Gronvall B, Voigt T. Contiki-a lightweight and flexible operating system for tiny networked sensors[C]//Local Computer Networks, 2004. 29th Annual IEEE International Conference on. IEEE, 2004: 455-462.
[13] Winter T, Thubert P, Brandt A, et al. RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks[J/OL].IETF RFC6550.March 2012.http://datatracker.ietf.org/doc/rfc6550/.
[14] Clausen T, Yi J, Herberg U, et al. Observations of RPL: IPv6 Routing Protocol for Low power and Lossy Networks[J/OL]. IETF Draft. October 2014. https://tools.ietf.org/html/draftclausen-lln-rpl-experiences-09.
[15] Accettura N, Grieco L A, Boggia G, et al. Performance analysis of the RPL routing protocol[C]//Mechatronics (ICM), 2011 IEEE International Conference on Mechatronics. IEEE, 2011: 767-772.
[16] Levis P, Clausen T, Hui J, et al.The Trickle Algorithm[J/OL]. IETF RFC 6206, March 2011. http://datatracker.ietf.org/doc/ rfc6206/.
[17] ISO 2005. ISO 9919:2005 Medical electrical equipment –Particular requirements for the basic.
Design of Medical Monitoring System Based on 6LoWPAN and Wireless Sensor Networks
Gui Bing Zeng Bi
(Computer Department, Guangdong University of Technology)
This paper presents a medical monitoring system based on wireless sensor network design 6LoWPAN, the program uses a hierarchical structure design, the system node is divided into three categories: patient physiological data acquisition nodes, data transfer nodes, gateway nodes and uses 6LoWPAN technology, the gateway node can easily access IPv6 internet. Through research and design on various node structure, communication protocol and routing, the medical care personnel can be local or remote access in the physiological data of patients, to provide convenient medical services to patients. The performance simulation of the proposed scheme can meet the performance needs of the health care system.
Wireless Sensor Network; Medical Care; Hierarchy; RPL; 6LoWPAN
桂兵,男,1983年生,硕士,研究生,从事嵌入式系统、无线传感器网络研究。Email:basb_2008@163.com。
广州市天河区科技计划项目(101G124)
曾碧,女,1963年生,博士,教授,从事嵌入式系统与智能技术、移动计算与物联网技术、智能计算与智能机器人等研究。