APP下载

远程血液冷链运输监测系统设计

2020-07-23谭洋郭晓金程力

现代电子技术 2020年4期
关键词:服务器端冷链坐标系

谭洋 郭晓金 程力

摘  要: 为了解决血液冷链运输的安全问题,设计了一套放置在车厢内的远程血液冷链运输监测系统。该系统通过ZigBee网络实时采集车厢内的环境数据并发送到STM32微控制器,然后对采集到的运动状态数据进行了详细分析处理。STM32微控制器接入了GPS/BDS双定位模块和GPRS无线通信模块,其中GPS/BDS双定位模块可以对当前车辆的地理位置进行定位。车厢内的环境数据、车辆地理位置数据和报警信息通过GPRS模块传送到远程后台监控中心的上位机存储并实时显示。系统功能测试表明该系统具有准确性、高可靠性和高适用性等特点。

关鍵词: 血液监测系统; 冷链运输; 远程监测; 系统设计; 数据分析; 功能测试

中图分类号: TN931+.3?34; TP391.4             文献标识码: A                       文章编号: 1004?373X(2020)04?0011?06

Design of remote blood cold chain transportation monitoring system

TAN Yang, GUO Xiaojin, CHENG Li

(Chongqing Key Laboratory of Optical Communication and Network, Chongqing University of Posts and Telecommunications, Chongqing 400065, China)

Abstract: A remote blood cold chain transportation monitoring system placed in the vehicle carriage is designed to solve the safety problem of blood cold chain transportation. The ZigBee network in the system is applied to collectthe environmental data in the vehicle carriage in real time and send it to the STM32 microcontroller, by which the collected motion state data is analyzed and processed in detail. The STM32 microcontroller is connected to the GPS/BDS dual positioning module and the GPRS wireless communication module. The GPS/BDS dual positioning module can locate the current vehicle′s geographical location. The environmental data in the vehicle carrige, the vehicle′s geographical location data and the alarm information are transmitted to the upper computer of the remote background monitoring center through the GPRS module for the storage and real?time display. The system functional testing results show that the system has the characteristics of high accuracy, high reliability and high applicability.

Keywords: blood monitoring system; cold chain transportation; remote monitoring; system design; data analysis; function test

0  引  言

在现代医疗中,血液作为重要的医药物品,其安全问题越来越受到重视。最近几年,我国年均无偿献血人次达1 400万以上,采血总量达到2 300万单位。这个数据每年都在不断地增大,但是每年都会出现供血需求不足的问题,所以对于血液的安全存储运输问题就显得格外重要。

血液的运输采用冷链运输的方式。血液在急救过程中往往决定了病人的生死,所以对于血液的冷链运输环节就必须采取严格的冷链运输措施[1]。当前,国内外已经研究出相关的血液冷链运输监测系统。哈尔滨工业大学刘亮在基于ZigBee和GPRS的冷链监测系统的研制[2]文中将GPRS和ZigBee用于血液冷链存储运输。金秀国等研究人员在物联网在血液储运冷链监控中的应用[3]一文中制定出一套基于RFID卡技术和相关的物联网技术的较为全面的血液冷链存储运输方案。但是,这些研究存在着一些不足之处,比如监测的车厢内的环境数据比较单一,只是对温度进行了监测。其次,当前的监测系统数据采集部分对数据的处理不够高效。

本文针对当前现有的血液冷链运输监测系统存在的不足之处,以监测的多方面环境因素和数据的高效接收发送为切入点,研究出一套数据采集全面、实时性强、高准确性的血液冷链运输监测系统。

1  系统整体框架设计

根据血液冷链运输监测研究现状以及相关业务的需求,本课题设计的系统整体框架包含以下几部分:数据采集发送端(部署在车辆车厢内)、数据接收处理远程发送端(部署在车辆驾驶室内)、远程监控中心服务器端(上位机实现)。系统整体框架如图1所示。

数据采集发送端置于车厢内,由多个部署在血液箱中的ZigBee数据采集节点和一个ZigBee协调器组成,它负责以每个血液箱为单位采集车厢内的环境数据并发送给数据接收处理远程发送端。环境数据包括每个血液箱的温度、湿度、可燃气体浓度和运动状态。数据接收处理远程发送端置于驾驶室内,由STM32微控制器、GPRS模块和GPS/BDS双定位模块等组成。STM32微控制器通过GPRS模块将接收到的环境数据和GPS/BDS双定位模块采集的地理位置数据传送到远程监控中心的服务器端。

远程监控中心服务器端由数据库和监测软件组成,在上位机上实现。数据库负责对远端车辆传送过来的数据进行处理和存储。用户操作监测软件访问数据库能够对车厢内的环境数据,车辆地理位置数据和报警信息进行实时显示,能够对数据进行增删查改,能够通过调用百度地图实时查询车辆的地理位置。

2  系统硬件设计

系统硬件设计包括数据采集发送端硬件设计和数据接收处理远程发送端硬件设计以及设备的选型。

2.1  数据采集发送端硬件设计

数据采集发送端硬件部分包括ZigBee数据采集节点和ZigBee协调器。ZigBee协调器负责建立ZigBee网络,然后各个部署在血液箱中的ZigBee数据采集节点就可以加入到ZigBee网络,并将自身采集的环境数据传送给协调器[4]。ZigBee数据采集节点和协调器都是采用美国TI公司生产的CC2530芯片为核心处理器,并在此基础上对其进行功能设计与实现。CC2530芯片是基于IEEE 802.15.4协议开发出的一款ZigBee芯片,它拥有强大的RF收发器,内存高达256 KB,还拥有强大的地址识别和数据包处理引擎,能够稳定、低功耗的实现ZigBee无线通信。

ZigBee数据采集节点硬件设计如图2所示,以CC2530芯片为核心,利用天线进行ZigBee网络通信。因为温湿度对血液质量影响最大,因此温湿度采集器的选择尤为重要。本文使用DHT22数字温湿度传感器采集温湿度数据。该传感器是一款温湿度复合传感器,采集湿度分辨率为0.1%RH,常温下精度为±2%RH,采集温度范围为-40~80 ℃,分辨率为0.1 ℃,精度达0.5 ℃,满足世界卫生组织血液冷链运输要求。CC2530将DHT22接在I/O口上通过软件模拟DHT22的单总线数据读取時序便可读取DHT22内部的温湿度数据。

MQ9气体传感器用于采集车厢内的可燃气体浓度,主要是针对于车厢内的防火消防情况所配置的。MQ9是一款模拟气体传感器,可以监测液化气、丁烷、丙烷、甲烷和一氧化碳的浓度,它的数据输出形式为模拟量电压输出,通过将MQ9的模拟信号输出口接到CC2350的I/O口上,将该输出的电压信号进行模/数转换便可将其转换为可燃气的浓度。

MPU6050是将三轴加速度计和三轴陀螺仪集成到一起的运动处理组件,其内部嵌入了一个三轴MEMS加速度计和三轴MEMS陀螺仪,通过对二者数据的融合进行姿态解算,达到优势互补能准确测量出载体的运动姿态[5]。MPU6050的生产公司给出了相关的驱动库程序,但是将其移植到CC2530芯片上增加了技术难度,即便移植成功也因为CC2530芯片上还执行着其他任务增加了芯片负荷而达不到好的运动姿态测量效果。由于当下已经有成功移植到了STM32芯片上的MPU6050驱动库程序并得到广泛使用,所以此处使用STM32F103RCT6芯片来驱动MPU6050,用于测量血液箱的运动姿态。STM32F103RCT6芯片性价比高,满足驱动MPU6050的要求,可达到很好的监测效果。STM32芯片通过I2C通信读取MPU6050的测量数据,并将数据通过串口发送给CC2530芯片。

LED屏幕用于显示采集的数据,LED灯指示CC2530工作状态,程序下载部分通过串口下载程序,电源模块使用5 V电池组供电。对于ZigBee协调器,其硬件部分除了不包含传感器部分其余与ZigBee数据采集节点相同[6]。

2.2  数据接收处理远程发送端硬件设计

数据接收处理远程发送端是整个车载端的核心处理枢纽,将部署在驾驶室。硬件组成有两部分:STM32芯片和辅助硬件模块。STM32芯片型号选择STM32F767,它采用ARM Cortex?M7内核,工作频率[7]高达216 MHz。图3为数据接收处理远程发送端硬件设计。

数据采集发送端的ZigBee协调器连接到STM32芯片上,用于向STM32芯片发送数据;LCD屏用来显示数据;蜂鸣器用于数据异常时报警;GPS/BDS模块负责对车辆地理位置进行定位[8];GPRS模块负责远程发送数据到远程监控中心服务器端。

3  数据分析

3.1  温湿度、可燃气体浓度数据分析

血液冷链运输温度范围一般在-5~1 ℃,因此对于采集的温度数据只要超过这个范围即可判定为温度异常[9]。湿度范围在35%RH~75%RH范围内不会对血液冷链运输造成不良影响,采集的湿度数据若超过这个范围便判定为湿度异常。

丁烷、丙烷、甲烷等可燃气体浓度达到一定范围时在温度较低条件下就能发生爆炸, MQ9气体传感器在测量可燃气体浓度方面已经得到广泛应用,根据其测量原理,当采集的可燃气体浓度超过50%即为可燃气体浓度异常[10]。考虑到运输中噪声对MQ9传感器的干扰,当可燃气体浓度超过45%判定为可燃气体浓度异常。

3.2  运动状态数据分析

姿态传感器MPU6050直接测量的原始数据有x,y,z三个方向的加速度和角速度。MPU6050内部自带了一个数字运动处理器DMP,结合MPU6050的DMP和基于STM32的MPU6050驱动库程序,可以将原始数据直接转换成四元数输出,利用四元数算法解姿态原理[11]最后计算出欧拉角,从而获得其载体的三个姿态角:俯仰角(pitch)、偏航角(yaw)、翻滚角(roll)。下面对四元数算法侧姿态原理进行详述。

图4中立方体初始状态时,以其自身为基准所作三维坐标系为R1{x1,y1,z1},当立方体运动姿态发生改变时,其三维坐标系为R2{x2,y2,z2}。

坐标系R1到坐标系R2的变化过程可通过如图5所示的过程来体现。

首先坐标系R1{X1,Y1,Z1}绕着x轴旋转α角度(Pitch角),得坐标系Ra{Xa,Ya,Za};坐标系Ra{Xa,Ya,Za}绕着y轴旋转β角度(roll角),得坐标系Rb{Xb,Yb,Zb};坐标系Rb{Xb,Yb,Zb}绕着z轴旋转γ角度(yaw角),得坐标系R2{X2,Y2,Z2}。根据欧拉角法[12],两个坐标系R1和R2的关系可通过矩阵变换形式来表示,如下:

[RX2RY2RZ2=CγCβCβSγ-SβSαSβCγ-SγCαSαSβSγ+CαCγCβSαSγSα+CαCγSβCαSβSγ-SαCγCαCβRX1RY1RZ1]                        (1)

式中:S代表Sin函数;C代表Cos函数。

从坐标系1到坐标系2的旋转矩阵如式(2)所示:

[R21=CγCβCβSγ-SβSαSβCγ-SγCαSαSβSγ+CαCγCβSαSγSα+CαCγSβCαSβSγ-SαCγCαCβ]   (2)

通过套用欧拉角微分方程就能算出α,β,γ三个角度。但是由于其涉及太多的三角函数运算,这给实时计算带来了一些麻烦,所以在此需要引入四元数法解算姿态。四元数定义为四元数是由四个元素构成的数,如下所示:

[Q(q0,q1,q2,q3)=q0+q1i+q2j+q3k]   (3)

式中:[q0]是实数;i,j,k既是互相正交的单位向量,又是虚单位[-1] 。四元数有四个分量,其中只有一个是普通数值。因此可以将四元数看成两部分:数量部分和向量部分。四元数有其相关的数学运算,在此不详细介绍,读者请参考相关文献。四元数法来表示坐标系变换,那么可以得到坐标系R1到坐标系R2的变换过程如式(4)所示:

[R2=Q21?R1?(Q21)-1]  (4)

式中:[Q21{q0,q1,q2,q3}]表示[R1{RX1,RY1,RZ1}]到[R2{RX2,RY2,RZ2}]的旋转变换,根据四元数运算法则,最终可以得到[R1]到[R2]旋转过程,如下:

从而得到从R1到R2的旋转矩阵如下:

[R21=q10+q21-q22-q232(q1q2-q0q3)2(q0q2+q1q3)2(q0q3+q1q2)q20-q21+q22-q232(q2q3-q0q1)2(q1q3-q0q2)2(q0q1+q2q3)q20-q21-q22+q23]                (6)

又由式(1)可得:

[CγCβ=q20+q21-q22-q23CβSγ=2(q0q3+q1q2)-Sβ=2(q1q3-q0q2)CβSα=2(q0q1+q2q3)CαCβ=q20-q21-q22+q23] (7)

解得姿态角如下:

[α=-arcsin(2(q1q3-q0q2))β=arctan2(q0q1+q2q3)q20-q21-q22+q23γ=arctan2(q0q3+q1q2)q20+q21-q22-q23]   (8)

arctan和arcsin函数算出的值范围仅为±90°,在程序上实现时可采用C语言中的atan2函数,此函数类似arctan函数,但所求出的值范围为±180°。所以一般pitch角范围是±90°,roll和yaw角范围是±180°。

姿态传感器MPU6050用于监测血液箱的运动状态是否处于严重倾斜或者侧翻,此处忽略所测得的yaw角数据。经过实验测试,当MPU6050所测得的姿态角中roll角或者pitch角的值大于60°且小于90°血液箱发生严重倾斜,当roll角或者pitch角的值大于90°血液箱发生侧翻。只要roll角或者pitch角的值超过60°则判定为运动状态异常。

4  系统软件设计

该系统软件设计包括:数据采集发送端软件设计,数据接收处理远程发送端软件设计和远程监控中心服务器端软件设计。

4.1  数据采集发送端软件设计

数据采集发送端软件设计包括ZigBee数据采集节点和ZigBee协调器软件设计。两者都是在基于Z?Stack2007协议栈[13]开发的。

ZigBee数据采集节点在Z?Stack协议栈的应用层定义环境采集任务,在系统初始化时加入ZigBee网络,当发生环境数据采集事件时进行数据采集并对采集的数据进行判断是否异常,如果异常则在数据中加入报警信息,最后将数据发送给协调器。

ZigBee协调器在系统初始化时建立网络,当有节点接入并发送数据过来时执行接收数据事件相应函数,然后将数据通过串口传送给数据接收处理远程发送端。ZigBee数据采集节点的软件设计如图6所示,ZigBee协调器与之类似。

4.2  数据接收处理远程发送端软件设计

数据接收处理远程发送端的主要任务有两个:

1) 接收环境数据、报警信息和地理位置数据,并对其进行存储及处理。

2) 将所有数据远程发送给监控中心服务器端。

图7所示为软件设计流程图。先进行系统初始化,车厢内环境数据采集周期与地理位置数据采集周期不同,因为车速很快,车辆地理位置变化迅速,地理位置数据采集周期要短一些。因此系统初始化时开一子线程,负责传送车辆地理位置数据。主线程负责处理协调器发送过来的车厢内的环境数据。

4.3  远程监控中心服务器端软件设计

在远程监控中心上位机实现服务器端软件设计,服务器端软件由数据库系统和监测软件组成。数据库将任何车辆远程传送过来的数据进行处理和存储。监测软件通过访问数据库实时显示数据,可查看某一辆车的地理位置以及车厢内的每个血液箱的温度、湿度、可燃气体浓度和运动状态以及报警信息。本课题采用Qt界面开发工具实现监测软件[14],数据库采用MySQL数据库管理系统。如图8所示,为服务器端软件设计框架。

服务器端软件设计中,以Qt为开发工具设计出具有良好的人机交互界面的监测软件供用户操作。用户操作有四个模块:账户信息管理、车辆信息管理、环境数据管理和地图定位。账户数据、车辆信息、环境数据和地理位置数据都是保存在数据库中,用户通过人机交互界面可以直接操作数据库中的数据。在地图定位中,使用了百度地图,Qt中嵌入百度地图[15]过程如下:

1) 获取百度地图的API Key。

2) 在Qt中加入浏览器类QWebEngine,因为Qt中加载百度地图需要用到网络浏览器。

3) Qt通过QWebchannel类实例化的对象与百度地图HTML文件中JavaScript程序代码部分交互以此来实现定位功能。

5  系统功能测试

将该系统运用在某医院的血液冷链运输任务中,从而对其进行系统功能测试。在本次测试中部署了6个ZigBee数据采集节点,分别对应6个血液冷藏箱,每个数据采集节点部署到血液冷藏箱中。

每个ZigBee数据采集节点将数据通过ZigBee网络传送到ZigBee协调器上,ZigBee协调器通过串口将数据传送给数据接收处理远程发送端处理。数据接收处理远程发送端实物图如图9所示。图10为实时监测时LCD屏幕上对数据的显示。在测试中,通过人为改变04号血液冷藏箱的温度和06号血液冷藏箱的运动状态情况环境来验证系统实时监测的报警效果,结果表明系统报警功能正常。

远程后台监控中心服务器端监测软件能实时地接收数据,进行数据处理。用户登录监测软件便可以查看数据及进行相关的操作。如图11所示,监测软件能实时显示车辆车厢内的环境数据和相应的报警信息。图12为在软件中使用百度地图对车辆地理位置进行定位,通过远端传来的最新的运输车的经度和纬度信息对车辆进行地图定位,点击定位按钮即可在百度地图上实现定位,点击红色标识能显示车辆相关信息[16]。

6  结  语

本文设计并实现了远程血液冷链运输监测系统,对运输车车厢内血液的环境监测时采用ZigBee技术,使用GPS/BDS双定位模块对车辆地理位置进行定位,利用GPRS技术传输数据到远程后台监控中心。经过系统功能测试证明本文设计的系统实现了对血液冷链运输时的实时监测,能够防止血液运输过程中出现严重的安全问题,降低了血液冷链运输过程中的损失,该系统有着很重要的实用性。

参考文献

[1] CHEGINI A, TORAB S A, POURFATOLLAH A A. A successful experience of the Iranian blood transfusion organization in improving accessibility and affordability of plasma derived medicine [J]. Transfusion & apheresis science, 2017, 56(1): 12?16.

[2] 刘亮.基于ZigBee和GPRS的冷链监测系统的研制[D].哈尔滨:哈尔滨工业大学,2015.

[3] 金秀国,王海红,李浩孺,等.物联网在血液储运冷链监控中的应用[J].中国输血杂志,2016,29(9):1068?1070.

[4] MORIDI M A, KAWAMURA Y, SHARIFZADEH M, et al. Performance analysis of ZigBee network topologies for underground space monitoring and communication systems [J]. Tunnelling & underground space technology, 2018, 71: 201?209.

[5] YANG D, WOO J K, LEE S, et al. A micro oven?control system for inertial sensors [J]. Journal of microelectromechanical

systems, 2017, 99: 1?12.

[6] 荀艳丽,焦库,张秦菲.基于物联网的智能家居控制系统设计与实现[J].现代电子技术,2018,41(10):82?84.

[7] 翟少磊,朱全聪,汪应龙,等.基于STM32F205的互感器校验仪自动检定装置研究[J].电子器件,2018,41(3):105?112.

[8] ROBERTS G W, XU T, HE X. Accuracy analysis of GPS/BDS relative positioning using zero?baseline measurements [J]. Journal of global positioning systems, 2018, 16(1): 7?16.

[9] 刘洋,张荣,李哲,等.冷链设备温度无线监控系统对提高血液质量的意义[J].中国药业,2018(11):84?87.

[10] 邱小川.基于CAN总线的火灾报警系统的软件设计与实现[D].成都:电子科技大学,2018.

[11] 刘善伍,陈宏宇,张学钢.卫星姿态四元数的连续化方法及姿态控制算法研究[J].航天控制,2017(3):30?33.

[12] 野莹莹,张艳珠,邹心宇,等.欧拉角姿态解算的改进[J].装备制造技术,2018(3):110?111.

[13] 陆睿.基于ZigBee的智能家居控制系统研究[D].南京:南京邮电大学,2017.

[14] 李帅,范项媛.基于Qt的无人机地面站软件系统的设计[J].雷达科学与技术,2017,15(4):410?414.

[15] 甄乾鹏.基于基站的用户定位系统设计与实现[D].成都:电子科技大学,2016.

[16] 田肖,郭晓金,何川,等.基于ZigBee的疫苗冷链运输监测系统设计[J].物流技术,2017,36(9):175?179.

猜你喜欢

服务器端冷链坐标系
要不要做冷链物流?
Linux环境下基于Socket的数据传输软件设计
解密坐标系中的平移变换
坐标系背后的故事
浅析异步通信层的架构在ASP.NET 程序中的应用
基于重心坐标系的平面几何证明的探讨
基于Qt的安全即时通讯软件服务器端设计
冷链物流用复合蓄冷材料的研究
劲达电装联手开发冷链物流市场
首个“南菜北运”冷链果蔬专列开通