基于华为HiHealthKit 的运动健康软件设计

2023-12-22 06:47黄晓冬韦海燕冯敏瑜
装备制造技术 2023年10期
关键词:页面康复训练华为

聂 雄,黄晓冬,2,韦海燕,2,冯敏瑜

(1.广西大学 机械工程学院,广西 南宁 530004;2.南宁学院 智能制造学院,广西 南宁 530200)

0 引言

对于下肢运动功能障碍的患者,在进行下肢康复训练时需要实时采集其心率、血压、血氧以及运动状态等数据[1],从而适时调节下肢康复训练的强度及调整训练模式,并实现患者与家属、医院三者之间的远程交互,达到远程监控的目的,因此设计适用的生理信息监测装置是当前亟待解决的问题。

国内外研究人员对各种生理信息监测装置进行了大量的研究。Hsu Chien-Chin 等[2]研究了一种可穿戴的12 导联心电图监测系统,方便用户轻松佩戴和拆卸,在步行时可准确地提供质量良好的ECG 信号,并能检测出心肌缺血、安装起搏器、室性早搏患者的ECG 特征;Majumder Sumit 等[3]研究了一种非接触式的可穿戴心电监测系统,基于电容耦合原理,在心电数据采集器和人体皮肤之间隔着纺织衣物也可以采集心电信号,并通过蓝牙无线通信进行数据传输实现数据处理、存储与显示;2019 年贾宁等[4]利用终端应用主要为Android APP、IOS APP 和微信小程序,医疗信息处理服务器采用Hadoop 结构,使用Spark 计算框架,利用分布式数据库SequoiaDB 存储信息,设计基于可穿戴设备的个性化健康监管平台。将专业医疗信息与物联网技术、大数据技术完美融合在一起。2020 年李超[5]设计了一款融合多种健康家庭式监护系统的APP 比如血压计、血糖仪、血氧仪、心电监护仪等设备以及服务器。2022 年任郁苗等[6]设计采用STM32F103ZET6 作为系统嵌入式芯片,准确、快速测出人体的生理参数信息。

归类分析目前的多参数监护仪:一是固定式床边监护仪,这种监护仪功能强大、性能稳定性好,但便携性差、专业技能要求高。二是以单片机为核心的监护仪,虽然小巧适合携带,但或者监测多生理参数少、功能不全,或者无无线通讯功能等等。

为了能够便利、有效、准确地监测患者在下肢康复训练时的运动状态和生理信息,设计一款基于Android 系统,采用腕式可穿戴式智能设备进行数据采集,运用华为HiHealthKit 运动健康的APP 软件,不需要自行开发和设计终端设备,简单方便。

1 患者、家属和医院三方交互平台构建方案

要设计可以实现华为运动健康端侧技术访问的Android APP,需要通过从系统接入提供的开发平台、使用简易性等对比选择使用Android Studio 软件进行本课题的开发工作。

该平台搭建的方法[7]:利用jdk(JAVA development kit)JAVA 开发工具包;设定基于intelliJ IDEA的Android 集成开发环境Android Studio,更新SDK;适配手机驱动,配置Android Studio。具体是通过可穿戴智能手环测量经过蓝牙传输后得到本地数据,采用集成SDK 的方式,将HiHealth kit 接口包集成到开发的APP 内部,通过HiHealth kit JAVA 接口,用户授权APP 可获取华为运动健康APP 上的本地用户数据,或将这些数据写入华为HiHealth 开放平台。APP 请求用户授权交互途径和用户授权界面如图1。

图1 用户、三方APP、华为运动健康APP 三者交互

使用Android Studio 软件进行Android 应用开发中至为关键的一点使用布局,接着就是框架设计。

(1)华为HiHealth kit 接口包。通过调用华为HiHealth kit 接口包里的API 从而完成与HiHealth 平台的对接,获得运动健康APP 提供的业务服务,如图2所示。

图2 三方APP、HiHealthkit 二者交互图

(2)华为HiHealth kit 接口包的接入。为了在Android Studio 软件中在本设计工程能够调用HiHealth kit 接口包,将HiHealth kit 接口包拷贝至工程下的APPlibs 目录中,然后添加HiHealth kit 接口包的JAR 包依赖,在工程的appuild.gradle 文件的dependencies 中添加代码:implementation fileT -ree(dir:'libs',include:['*.jar'])。

(3)华为HiHealth kit 的类及其描述。在导入HiHealth kit 接口包后,使用它时需调用它的工具类。HiHealth kit 接口包的类有HiHealthAuth、HiHealth-DataType、HiHealthData、等七种,分别起着管理三方授权及用户读写访问权限、管理对象存储、定义了Hi-Health 开放的数据类型和数据对象等。编写程序实现管理三方授权及用户读写访问权限、管理对象存储等。

(4)华为HiHealth kit 部分接口应用实例

1)startRealTimeSportData:开始监听实时运动数据

A.接口原型:

Public static void startRealTimeSportData(Context context,HiSportDataCallback sportDataCallback)

B.请求参数见表1。

C.响应参数见表2。

表2 startRealTimeSportData 的onResult 的响应参数

void onResult(int errCode)

onResult 用于控制链路的回调。startRealTimeSportData 的onDataChanged 的响应参数有两个,onDataChanged 用于接收数据,其中参数sportState 表示当前运动状态,运动状态分为STARTED、PASUED、RUNNING、RESUMED 和STOPED 共5 种,这5 种运动状态之间的状态转换关系如图3 所示,参数bundle 以key-value 形式保存当前的实时数据,在此不再赘述。

图3 五种运动状态之间状态迁移转换图

D.实际代码调用:

2)startReadingHeartRate:开始监听实时心率数据

A.接口原型:

Public static void startReadingHeartRate(HiReal-TimeListener hiRealTimeListener)

B.请求参数见表3。

表3 startReadingHeartRate 的请求参数

C.响应参数见表4。

表4 startReadingHeartRate 的响应参数

D.实际代码调用:

本设计中还调用涉及HiHealth kit 接口包中许多其他接口,这里就不再一一列举讲明。

2 App 各页面模块功能设计

本设计分别用四个Activity 实现手机Android 屏幕的启动、主页面、历史页面、历史记录页面的设置。三方APP 软件的各页面总体结构框图如图4。

图4 三方APP 软件的总体结构框图

(1)启动页面Activity

在写启动页面Activity 的Java 文件跟xml 文件时,设置三秒延时,修改Activity 的顺序使其能够按照设想的顺序进行跳转。实现启动页面的主要代码如下:

(2)主页面Activity

为了获得患者运动每一秒钟当时的生理信息心率准确数据,进行如下研究:

1)主页面显示

在APP 主页面用Linechart 设置折线图表示当前实时心率,同时显示当前可穿戴式智能设备得到的当次计时测量步数、血压、心率值以及当前APP 与华为运动健康APP 连接的链路状态(注:还可根据需要设置血氧测量),运动状态可分为运行、停止、继续、暂停、开始五种。

主页面采取CoordinatorLayout 协调者布局作为应用的顶层视图。将Linechart 图表嵌套在ConstraintLayout 中,为其他子View 提供确定位置的布局。ConstraintLayout 内部的子View 即Linechart 可实现图表中当前坐标外心率变化折线图移出移入该图表方框范围的显示。而AppBarLayout 中的Toolbar 工具栏以点击的方式在同一个Activity 内实现菜单页面的打开。

APP 主页面实时心率图横轴为从开始计时到当前经历的时间(单位为秒),纵轴为当前心率数值,可用手指在实时心率折线图的方框里滑动,可看到任意时刻的心率值。并且在心率?时间图标的下方,显示出当次测量的运动步数、实时心率值(与上方图表显示的最新测量所的心率同步)、实时高压/低压值、运动状态,以及本设计APP 与华为运动健康APP 的之间连接的链路情况。显示的主要代码如下:

2)菜单页面及关于页面的显示

在主页面显示的xml 文件中,以CoordinatorLayout 为根布局的AppBarLayout 应用栏布局中的Toolbar 工具栏提供了菜单页面的显示,通过点击,可实现页面的跳转。

关于页面实现关键代码:

(3)历史记录页面Activity

历史记录页面Activity 需要储存显示的数据有:开始时间、持续时间、运动里程、心率等。每单次数据的xml 布局采取多重LinearLayout 嵌套的方式,第一至第五行分别是开始时间、持续时间、运动里程、心率值及高低血压值,并且以垂直布局方式实现。设计历史记录页面实现关键代码及具体数据存储代码。具体数据存储方法以及代码如下:

i.以时间次序存储数据的文件TimeSeqData.kt 中添加要存储的数据(高低血压、心率等)数据项,使其作为数据库中相应数据的标签。

(4)记录详情页面Activity

记录详情页面Activity 显示之前存储的某次测量得到的经由可穿戴式智能设备测量蓝牙技术支持传输得到存在于华为运动健康APP 中的本地数据(包括当时测量时主页面显示的图表、单次测量的开始时间,当次测量时所走步数以及单次测量持续时间)的Activity。

3 Android 三方APP 调试

使用真机调试,使用Android Studio 把apk 下载到手机里(本测试中使用的手机为华为荣耀7 与华为荣耀20),打开华为运动健康APP,开启蓝牙功能,对华为可穿戴式智能设备进行绑定和开启测量,其次开启应用数据访问的授权允许;使用可穿戴智能设备进行各项数据测量,接着打开本设计开发的三方APP,可以看到主页面上链路状态为connected、运动状态为running,并且将该可穿戴智能设备、华为运动健康APP 上数据同步。

进行各种页面Activity 调试,显示效果如图5。

图5 各种页面Activity 的实际显示效果图

4 结语

(1)研究下肢运动功能障碍的患者,在进行下肢康复训练时需要采集的生理数据信息和运动状态信息,确定设计基于Android 系统,采用腕式可穿戴式智能设备进行数据采集,从华为运动健康端侧技术访问,使用Android Studio 软件进行开发工作,实现用户、三方APP、华为运动健康APP 三者交互,运用华为HiHealthKit 运动健康的APP 软件的结构方案。

(2)设计调用华为HiHealth kit 接口包里的API从而完成与HiHealth 平台的对接,添加HiHealth kit接口包的JAR 包依赖,调用在导入HiHealth kit 的工具类。

(3)设计采用三方APP 软件的各页面总体结构框图,分别用四个Activity 实现手机Android 屏幕的启动、主页面、历史页面、历史记录页面的设置。

总之,通过上述方法实现有效采集、显示、监控患者在下肢康复训练时的心率、血压以及运动相关数据,以调整患者下肢康复训练的强度和训练模式。

猜你喜欢
页面康复训练华为
刷新生活的页面
现在的余华为谁写作?
赛力斯华为智选SF5
多功能智能康复训练床的设计与仿真
穴位按摩与康复训练治疗周围性面瘫的疗效观察
华为没有成功,只是在成长
华为
上肢康复训练机器人的研究
电针配合康复训练治疗动眼神经麻痹的临床观察
网站结构在SEO中的研究与应用