智能护理系统

2021-12-05 08:54陈蓓蓓卢路瑶
中国医疗器械杂志 2021年6期
关键词:温湿度蓝牙客户端

【作 者】陈蓓蓓,卢路瑶

温州医科大学附属第一医院,温州医科大学 生物医学工程学院,温州市,325000

0 引言

在传统医院病房中,受伤较重的病人大多需要他人的陪同照料,但不是所有的家庭都能负担起护工的费用,或是长期不工作带来的损失[1];对于一些特殊的住院病人需要一些机器辅助治疗,而操作设备的医护人员人数有限,病患较多,常常导致不能及时撤下医疗设备。为克服或者改善这种情况,使病患和医护人员都能省时省力解决问题,设计了智能护理系统,可以实现护士在手机上就能看到哪位病人已经做完诊疗,快速、准确找到对应的患者,为其撤下装置[2]。此外,对于一些手脚不便的病人,可以在不麻烦他人的情况下自行完成例如关灯、关电视之类改变病房内环境的操作,尽量做到病人躺在床上可以调节平卧、半卧、直坐、翻身等姿势调节,以达到减轻病人家属及医护人员的负担。

1 硬件设计

1.1 总体控制实现方案

智能护理系统单片机端主要由STM32单片机小系统、电源部分、电机控制部分、温湿度监控部分、体温及心率测量部分、LCD液晶显示模块和蜂鸣器报警部分组成[3],系统控制的实现方案,如图1所示。

图1 系统控制的实现方案Fig.1 The realization scheme of system control

1.2 电机控制部分

STM32 mini板需要用+5 V 的直流电压供电,每个并行IO口引脚输出的电压最大也不会超过3 V左右,但我们需要用到的直流电机需要5 V直流电压供电,由于单片机的IO电平电压不足以直接驱动直流电机,因此光靠STM32的IO口输出的信号不足以控制直流电机,所以需要采用驱动电路(ULN2803),电机控制电路,如图2所示。病床机械部分依靠两个步进电机带动,起翻身和起身作用。步进电机通过ULN2003与单片机连接。

图2 电机控制电路Fig.2 The circuit diagram of motor control

1.3 温湿度监控部分

GY-39模块工作电压为3 V~5 V,功耗低,安装方便。温度测量范围为-40oC~85oC,湿度测量范围为0%~100%,能够满足本系统设计的要求[4]。其工作过程是:MCU收集各种传感器数据,进行统一处理,并且直接输出所计算出的结果。STM32通过串行端口发送0×45到GY39模块。然后,GY39模块通过串行端口发送测量数据到STM32 MCU。STM32把所测得的温度值和湿度值显示到LCD上,并且通过对比预设值来判断是否需要报警,温湿度监控电路,如图3所示。

图3 温湿度监控电路Fig.3 The circuit diagram of temperature and humidity monitor

1.4 蓝牙部分

蓝牙模块用于与软件的交互,智能护理系统选用HC05型号的蓝牙模块,它是一款高性能主从一体蓝牙串口模块,作为一个蓝牙转串口的设备,只要使用串口编程就能使用,并且可兼容安卓设备实现数据透传。HC05的RX和TX脚分别连接至单片机的PA2和PA3脚,蓝牙电路连接,如图4所示。

图4 蓝牙电路连接Fig.4 The circuit diagram of Bluetooth connection

1.5 体温部分

DS18B20体温模块提供9位温度读数,只需一根线便可连接单片机与DS18B20[5]。为了确保DS18B20能完成准确的温度变换,当温度变换发生时,I/O线上必须提供足够的功率。因此在I/O线上提供上拉电阻,以使在有效温度变换期间DS18B20得到足够电源电压,从而达到足够的功率DS18B20的引脚1接地;引脚2与单片机P55相连,并通过10 kΩ电阻与5 V电源相连使之钳制在高电位;引脚3连接5 V电源;体温检测电路,如图5所示。

图5 体温检测电路Fig.5 The circuit diagram of temperature detection

1.6 心率部分

收集心率信号用Pulsesensor脉搏心率传感器。Pulsesensor脉搏心率传感器可以戴在手指或者耳垂上。当脉搏跳动时,指尖或者耳垂的动脉血管血容量发生周期性变化[6]。光电传感器一侧的发光二极管发光透过指尖的光强度随着动脉血管血容量变换发生周期性变化,传感器另一侧的光电三极管就会接收到红外光信号并转化为电信号,得到模拟心率的波形。为了方便单片机检测心率传感器的输出信号,选择LM393比较器将波形进行转换,使传感器输出信号转换为标准方波信号,利于单片机采集,保证了信号的稳定检测。心率检测硬件设计电路,如图6所示。

图6 心率检测电路Fig.6 The circuit diagram of heart rate detection

2 软件设计

2.1 ANDROID软件编程总流程

智能护理系统APP设计采用的ANDROID集成开发工具ANDROID Studio 提供有Bluetooth相关API,包括蓝牙套接字,蓝牙开闭及状态查询等等,可以满足系统APP软件需要达到的功能。

智能护理系统APP设计作为控制端,将计划好所有要用到的控件,用XAML语言和约束布局完成APP UI界面的设计,随后使用Java语言进行代码部分编写。首先实现与蓝牙设备的连接和配对的功能,随后实现数据的发送和接收、传输协议的制定,最后实现动态波形的显示。ANDROID端控制流程,如图7所示。

图7 ANDROID端控制流程Fig.7 The flowchart of Android-based control

智能护理系统初始化(包括液晶,ULN2003,体温、心率传感器,预设赋初值),调用电机、体温、心率子程序,判断压力开关是否闭合,电机按键是否闭合,体温及心率是否有信号输入,然后LCD显示体温和心率,并通过蓝牙传输到手机APP,上述流程,如图8所示。

图8 智能护理系统主程序流程Fig.8 The flowchart of intelligent nursing system

2.2 蓝牙通信原理

蓝牙通信使用的是蓝牙Socket通信机制,服务端将首先建立一个服务器套接字,然后该套接字将开始监听客户端是否有连接请求;客户端则也建立一个客户端套接字向服务端发起连接,此时如果没有异常,那么两台设备便已配对成功;由于此时客户端和服务端都会持有一个Socket,利用该Socket即可发送和接收数据了。

2.3 蓝牙权限申请

蓝牙的连接通讯功能在使用前需在AndroidManifest.xml中添加与蓝牙相关的权限。若想要在APP中使用蓝牙,必须申请BLUETOOTH权限,若涉及更为复杂的操作,如扫描设备、操作蓝牙设置等,还要申请BLUETOOTH_ADMIN权限,这是ANDROID出于风险管控的考虑而设置的。ANDROID 6.0以上版本在搜索周围的蓝牙设备,还需要申请位置权限ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION,并且将手机的位置服务(定位 GPS)打开。由于位置权限是“dangerous”级权限,除了需要在Manifest里申请之外,还需要在代码中进行动态申请。

2.4 手机蓝牙的开闭

APP开发中与蓝牙相关的API都存在android.bluetooth包内,实现蓝牙开启和闭合的类是:BluetoothAdapter,它代表本地蓝牙适配器,该BluetoothAdapter使所有蓝牙装置交互。采用BluetoothAdapter.getDefaultAdapter()方法可获取到本地手机蓝牙适配器,即进行类的实例化,实例化后使用BluetoothAdapter.isEnabled()获取本地蓝牙是否已打开,若返回值为True则表示本地蓝牙已经打开,可使用BluetoothAdapter.disable()方法关闭本地蓝牙,若为False则表示本地蓝牙是关闭状态,使用mBluetoothAdapter.enable()方法隐式打开蓝牙。

2.5 蓝牙设备的搜索

蓝牙设备搜索的处理首先要检测定位权限,如果是禁止状态则终止流程,若处于待询问状态则前往申请,为允许状态则继续流程。随后检测蓝牙状态,如非STATE_ON则先用静默方式打开蓝牙。接着,由于蓝牙权限可能被禁止,需再次检测蓝牙状态,非STATE_ON时发送Intent打开。

2.6 蓝牙配对

要在两个设备之间连接,必须采用服务器和客户端的机制。作为服务器,必须开启服务端Socket。作为客户端,需要使用MAC地址向蓝牙设备发起配对连接。当服务器和客户端在相同的RFCOMM通道之间,则已相互连接。以这种方式,每个设备可以获取输入和输出流并交换数据。服务器和客户端可以获取以不同的方式所需要的BluetoothSocket。在智能护理系统中,手机扮演服务端的身份,硬件则扮演客户端的角色。作为服务端连接首先需要调用cre ateRfcommSocketToServiceRecord(UUID)方法获取到客户端接口,作为串口收发UUID需为"00001101-0000-1000-8000-00805F9B34FB",连接成功后,将返回一个连接的BluetoothSocket,此时设备已配对成功,如要接受其他连接时可调用close()方法。

2.7 温湿度数据的传输

客户端发送“AB”(ASCII码),客户端接收到该特定指令后,回复“T%.2fH%.2fD”,“T”代表字符串的开头,第一个“%.2f”代表保留两位小数的温度测量数据,“H”代表该字符后的数据为湿度数据,第二个“%.2f”代表保留两位小数的湿度测量数据,“D”代表该字符串已到达末尾。

2.8 病房电器的控制

客户端发送“C”(ASCII码),客户端接收到该特定指令后,执行小灯A的量灭,随后回复“K”,“K”代表指令已成功执行。客户端发送“D”(ASCII码),客户端接收到该特定指令后,执行小灯B的量灭,随后回复“K”。客户端发送“H”(ASCII码),客户端接收到该特定指令后,执行继电器的开闭,随后回复“K”。客户端发送“Gxx”(ASCII码),“G”为字符串开头,其后数据代表对电机转速的具体数值,随后回复“K”。客户端发送“Z”(ASCII码),客户端接收到该特定指令后,执行电机转动停止的动作,随后回复“K”。客户端发送“E”(ASCII码),客户端接收到该特定指令后,执行舵机顺时针旋转(开门)的动作,随后回复“K”。客户端发送“F”(ASCII码),客户端接收到该特定指令后,执行舵机逆时针旋转(关门)的动作,随后回复“K”。

2.9 对警报阈值的调节

客户端发送"YZ"+TemLow+TemHigh+Hu mLow+HumHigh(ASCII码),客户端接收到该特定指令后,回复“K”,“YZ”代表字符串的开头,随后的数据为新设定的阈值数据,“TemLow”代表温度警报下限,“TemHigh”代表温度警报上限,“HumLow”代表湿度警报下限,“HumHigh”代表湿度警报上限。

3 智能护理系统APP的UI界面

智能护理系统的UI界面包括“欢迎页”“主界面”“波形显示界面”“历史数据查询界面”。“欢迎页”用于显示APP及系统的基本信息及logo;“主界面”用于设置对本机蓝牙的开闭、蓝牙设备配对、设定警报阈值、显示温湿度数据及波形、小灯及继电器的开闭、电机转速调节和开关门指令;“波形显示界面”用于以动态的波形描绘的方式直观体现和显示室内温度、湿度和体温、心率的数据;“历史数据查询界面”用于查询之前接收到的温湿度和体温、心率数据,可以按照日期进行搜索,精准查询。智能护理系统APP各界面如图9所示。

图9 智能护理系统APP各界面Fig.9 The graphical user interface of intelligent nursing system

4 参数验证

为了验证智能护理系统准确性和有效性,我们在温州医科大学附属第一医院心脏重症监护室(CCU)选取了一个病房进行了模拟改造测试。

我们分不同的时段,随机选取5个病人,分别在其手机上安装智能护理系统APP,将Pulsesensor脉搏心率传感器戴在其手指或者耳垂上,DS18B20体温模块置于其指尖,准备就绪平躺于病床上,手机APP控制病房内的灯开启和关闭并显示测量的参数。每次测量结束后,由指定的护士分别使用福禄克F971对病房环境温湿度测量、德国博朗医用耳温枪IRT6520和迈瑞MEC-1000监护仪及对5个病人进行体温测量和心率测量并记录测量结果,汇总进行对比、分析,如表1所示。

表1 参数测试结果Tab.1 Parameter test results

由表1可知,智能护理系统实测的温湿度值与Fluke F971测量得到的温湿度值对照,允许的误差在±2℃、%5RH之内,符合《温湿度计校验规范》要求;实测的体温值与德国博朗耳温枪IRT6520测量得到的体温值对照,允许的误差在0.2 ℃以内,符合《医用电子体温计注册指导原则》要求;实测的心率值与迈瑞MEC-1000型心电监护仪测量得到的心率值对照,最大的允许示值误差在显示值的5%以内,完全符合JJG 1041-2008《数字心电图机检定规程》要求。

5 结论

本研究设计了一款应用于医院病房的智能护理系统,具有操作简便、测量数据准确高、稳定性强及实时性好等特点,经过临床测试,可以实现通过手机APP控制病房环境内的温湿度及灯光,并且可以将测量到的病患体温及心率的数据通过蓝牙传输到手机APP,既可以实现对病患进行全方位实时健康监测,又可以很大程度上减轻护士的工作量,提高工作效率。

智能护理系统是一个庞大而复杂的管理监控系统,本设计只是研究了它的一部分,后续在实际应用中,随着技术日新月异的发展,其概念也会不停向前延伸,其应用也将越来越广,一个较显而易见的方向在于权限管控,由于现实病房中存在的角色涉及医生、护士、护工、病人和病人家属等会更复杂而多变,通过设置不同的权限实现控制不同级别的功能是我们下一步的工作目标。

猜你喜欢
温湿度蓝牙客户端
蓝牙音箱的直线之美
温湿度控制器在回收砂冷却系统中的应用
基于DSP的多路温湿度监测系统
如何看待传统媒体新闻客户端的“断舍离”?
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
基于温湿度控制的天气预测装置
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出