APP下载

基于嵌入式Linux+Qt的多参监护系统设计

2020-04-10项勇陈月明叶继伦文斌胡海洋

中国医疗器械杂志 2020年2期
关键词:监护仪内核鼠标

项勇,陈月明,叶继伦,文斌,胡海洋

1 安徽医科大学 生物医学工程学院,合肥市,230032

2 深圳大学 医学院 生物医学工程系,深圳市,518060

0 引言

在医疗器械行业的高速发展下,以嵌入式系统为平台的多参数监护仪得以快速发展。就目前而言,电子行业的嵌入式设备中,以Linux内核为基础的嵌入式操作系统市场占有率相当高。Qt作为一款优秀的GUI开发工具[1],拥有十分完善的接口,强大的跨平台特性配合Linux的开源、模块化等特点,能够开发出一款优秀的人机交互系统[2-3]。

1 系统总体设计

嵌入式Linux系统是由软硬件组成的整体,硬件部分采用模块化设计,核心部分为三星Exnoys4412处理器,外围设备包括LCD触摸屏、生理信息采集模块。系统功能框架如图1所示。

软件系统主要由两部分组成,一个是接近底层的操作系统,它将负责整个软硬件的资源分配调度。另一个就是最上层的应用程序[4]。

2 开发环境

本研究环境:ubuntu虚拟机、window10、sourceInsight、FileZillaClient、超级终端、fastboot、GCC、交叉编译器。

图1 系统功能框架Fig.1 System function block diagram

3 嵌入式操作系统构建

整个嵌入式Linux+Qt的系统主要可以概述为以下5个步骤,如图2所示。

图2 系统搭建框架Fig.2 System building block diagram

3.1 BootLoader移植

对于计算机系统而言,从开机上电到操作系统启动需要一个引导程序,初始化硬件设备,准备好软件环境、最后调用操作系统内核。这个引导程序就称之为引导加载程序(BootLoader)[5]。

BootLoader种类很多[6],本研究采用的Universal Boot Loader(u-boot)是基于三星官方demo板u-boot源码,根据自己的需求,裁剪、编译,最后移植到主控板上[7]。

3.2 Linux内核配置编译移植

从Linux内核官网获取源码,根据需求修改Makefile、KConfig文件,后续通过menuconfig进行内核裁剪配置。

3.3 文件系统、Qt库其他辅助库制作移植

采用Busybox工具制作文件系统,下载busybox-1.21.1.tar.bz2文件。修改交叉编译器以及生成的文件安装位置,退出保存,使用命令makemenuconfig进入配置界面,使用命令make开始编译。完成编译之后开始完善系统,使用打包工具make_ext4fs生成二进制文件。

下载tslib以及源码qt-everywhere-opensourcesrc-5.7.0,修改、配置、编译之后生成qt-5.7.0以及tslib1.4,拷贝到ARM平台对应的文件系统中对应的目录中,再将字库文件fonts、libstdc.tar.gz拷贝进/qt-5.7.o/lib/下,解压libstdc.tar.gz。修改环境变量、启动脚本。

最后还需要一个镜像文件“ramdisk-uboot.img”,该文件通过讯为开发板厂家提供的资料获取。

4 应用程序开发移植

4.1 应用程序框架

应用程序需实现将8个生理参数CO2、SpO2、TEMP、RESP、ECG、EEG、NIBP、IBP通过模块实时采集并处理,显示区域分为数据区、波形区、提示区和结果诊断参考,每个生理参数对应一个模块,通过嵌套形式显示在主界面。

参数显示模块继承QWidget类,通过重写鼠标事件实现界面拖动布局。当参数模块触发鼠标按压事件启动定时器,当定时器到达指定值时,释放鼠标才会触发鼠标释放事件,发送信号给主类,主类连接信号,槽函数处理以下事务:指定参数模块通过移动的距离以及终点坐标X,Y值与初始点的对应判断,实现参数模块的移动。双击对应区域调出对应参数显示模块的字体以及曲线设置界面。界面默认为4参数显示,用户可自行切换为8参数显示。

图3 应用程序界面设计框图Fig.3 Application interface design block diagram

4.2 应用程序参数模块

参数模块区域采用QGridLayout布局,参数显示采用QLabel,波形显示采用QChart。数据传输采用信号槽机制。采集线程完成数据采集后,进行解包,通过数据包解包分析对应参数,发送信号,对应的参数模块类中槽函数响应处理,实时显示数据,实时绘制波形图,初步判断做出结论。

图4 数据处理流程图Fig.4 Data processing flow chart

4.3 应用程序功能菜单

应用程序采用模块化设计,整个程序由菜单选项按钮实现功能控制。菜单区由9个按钮实现,分别对应个人信息设置、屏幕布局设置、暂停、存储回放、报警设置、参数设置、血压测量、模式选择、全部显示。

图5 功能设计框图Fig.5 Function design block diagram

按钮类继承QWidget,重写Qt进入、移出、鼠标移动、重绘、点击、释放事件函数,通过这些组合实现鼠标移入按钮,背景图标放大,移出缩小,按住3 s不动之后,拖动按钮可自由布局,移动自动替补位置,用户可以自定义排列顺序,增加操作体验。

个人信息:采用QListView、QScrollArea、QTabWidget以及其他组件实现使用者将病人信息输入保存到数据库,列表标题检索加上区域滑动可以在有限的显示区域输入更多的内容以及更加快速地查阅。

屏幕设置:弹出新页面,此页面由四个QComcoBox控件两个QPushButton组成,四个QComcoBox对应默认界面的四个参数显示区域,每个下拉菜单八个选项对应八个参数,通过下拉菜单设置区域显示的参数类型,QPushButton一个对应英文显示,另一个对应中文显示。调用对应的.qml文件实现多国语言切换。

工作暂停:数据采集功能采用的是新开线程,目的是增加程序的流畅性,采用互斥量的方式实现数据显示暂停与继续。

存储回放:通过读取对应参数存储的文件数据,实现数据的存储以及回放和趋势分析。

报警设置:调节蜂鸣器声音大小、LED小灯闪烁频率。

参数设置:通过对对应界面进行数据修改处理,系统更新参数,否则以个人信息里面的参数,以及默认的参数作为参考,应用程序运行时会首先通过此处参数作为判断依据。

血压测量:实现血压模块的启动与关闭。

模式选择:实现功能为整个系统的显示模式,显示模式分别为夜间模式、默认模式,通过调用对应的.qss文件实现模式切换。

全部显示:采用QListView、QScrollArea、QTabWidget以及其他组件实现字体曲线的颜色、大小、粗细,并且包含以上所有功能。

4.4 提示区设计

整个提示区分为8个部分,如图6所示:读取系统时间日期显示、电量、网络状态、信息提示(显示病人姓名),后面四个区域为四参数界面工作时的logo提示。信息提示区域可实现点击呼叫PC端的医护人员。

图6 提示区设计框架Fig.6 Tip area design block diagram

整个软件,利用QPropertyAnimation添加动画效果,加强用户使用体验[8]。

4.5 应用程序移植

进入应用程序目录,执行编译后的qt目录下的qmake,再执行make,应用程序目录下生成与目录同名的文件,用file命令确认是否属于ARM平台下的二进制文件[9-10]。

通过U盘挂载方式进行烧写,连接开发板与PC的超级终端,挂载U盘,复制文件,修改启动脚本。

图7 最终程序截图Fig.7 Final procedure screenshot

5 与PC端通信

将挂载WiFi模块的监护系统作为服务器,Windows下上位机作为客户端。通过socket网络通信进行数据传输,可实现远程实时监测。

图8 PC端监护软件界面Fig.8 PC monitoring software interface

6 总结

整个系统软件设计基于Linux内核以及Qt,硬件部分主要依赖于Exynos4412处理器、12 in的触摸屏以及各部分生理参数采集模块。通过触摸屏以及软件技术,去掉实体按键缩小监护仪体积;系统在4参数界面下,用户通过触摸屏自定义实现区域的移动以及参数模块的选择性显示,实现监护仪可快速满足不同科室的需求,同时也使得监护仪朝着简易操作的方向发展;4参数界面和8参数界面之间切换,协调了波形显示时间与参数数量之间的关系;可移动式按钮,能够满足不同人群的不同操作需求;动态的组件设计、程序初步分析和简单的UI设计,简化了用户的操作,提升了用户使用时的视觉体验;相比于迈瑞的uMEC10/12,本研究在系统上还进行了EEG以及CO2参数功能的拓展。

在Linux内核的基础上,整个系统稳定性、实时性有较大提升[11],进行数据采集处理,病人生理信息的实时监测得到了保障。Qt的动画类配合丰富的组件,使应用程序的操作以及UI上得到了提升,改善了人机交互的体验[12-13]。采用开源方案设计,一定程度上降低了开发周期与成本[14]。通过挂载WiFi模块并实时通信,实现了触摸屏以及电脑上的实时显示,改善了“定点采集”的局限。在PC上显示,又可以拓展更加丰富的功能,本系统的建立为后续进一步应用于多参数监护仪提供了设计范本。

猜你喜欢

监护仪内核鼠标
适用于航空救援的除颤监护仪设计
胎心监护仪的多发故障解析与日常维护
多内核操作系统综述①
多参数监护仪检定相关问题分析及建议
医用多参数监护仪计量检定中常见问题与质量控制
强化『高新』内核 打造农业『硅谷』
活化非遗文化 承启设计内核
微软发布新Edge浏览器预览版下载换装Chrome内核
鼠标折叠笔
45岁的鼠标