APP下载

一个肺活量检测微信小程序的设计与实现

2023-05-30李传雄黄育姑余远波

电脑知识与技术 2023年3期

李传雄 黄育姑 余远波

关键词:肺活量检测;用力肺活量;最大摄氧量

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2023)03-0037-03

1 引言

肺活量,是人体重要生命体征之一,是指最大吸气后尽力呼气的气量,与性别、身高、体重、地域等指标相关并存在较大的个体差异。肺活量监测是学生体质测试的必测项目之一,通常需要用肺活量测试仪等电子仪器设备进行肺活量检测,由于受限于检测所需的电子仪器设备,不能随时便捷地检测了解自己的肺活量。智慧医疗研究建立在计算机科学、生物和医学等学科基础上,与其他学科融合发展是智慧医疗研究和发展的方向[1],智能手机正在越来越多地应用于管理人体健康数据,例如对生命体征数据的管理[2]、肺活量计的电子式检测装置及用手机软件对检测装置的实时测试值进行调试和记忆[3],使用微信小程序获取某些传感器数据实现心电图[4]信息管理等。近些年,有研究使用智能手機的摄像头、麦克风等传感器进行呼气时的气流声检测并识别出某些疾病,例如通过智能手机摄像头的肺活量测量[5],麻省理工学院Auto-ID Labs研究小组研发了一个基于语音的新冠肺炎AI检测工具[6]区分出用户是否感染了COVID -19,基于特征级联的肺炎咳嗽声识别[7],与专业的医疗检查设备相比,使用智能手机进行检测使用便捷、准确率也随着算法改进而不断提升。

本研究设计“肺”常测微信小程序,其核心功能是肺活量检测,通过调用手机麦克风获取音频进行频谱分析计算出分贝值,通过模拟肺活量检测指标FVC计算出用力肺活量、最大摄氧量以及在人群中的百分位,对人们尤其是大学生了解自身肺活量以及在人群中的肺活量水平提供便捷的检测工具,另外提供人体肺部结构虚拟展示等科普功能。

2 系统分析与设计

2.1 设计目标

“肺”常测微信小程序,作为一款人体肺活量检测与肺科普小程序,设计目标主要是:1) 肺活量检测科学、准确性较高,便于用户了解自身肺活量水平;2) 人机交互界面美观、使用逻辑清晰。

2.2 技术框架

微信小程序依托微信生态,是一种连接用户与服务的全新模式,其提供的丰富组件和API,使小程序的开发更加简单、高效。该小程序的开发基于微信官方提供的MINA 框架,微信云开发数据库、云存储及WXS语言等微信小程序原生技术。

2.3 需求分析

精准的肺活量、最大摄氧量等肺功能检测,应到医疗机构使用专业的检测设备进行精准的检测,本研究针对用户使用智能手机麦克风设备,开发肺活量检测为核心功能的小程序,通过多次测量得出用户肺活量在人群中的百分位,了解自身肺活量水平,以及了解人体肺部生理结构和补肺良方这些需求。

用智能手机检测肺活量,便捷性是其重要的特点,通过多次检测了解自身肺活量在人群中的百分位,弥补检测精准度不足的问题。

肺活量检测为小程序,通过监测用户呼气时智能手机的麦克风检测到气流声音分贝值计算出肺活量,据研究表明男大学生最大摄氧量与身高、体重等指标显著相关[8],并把身高、体重纳入肺活量检测指标进行最大摄氧量的计算。

核心用户是近期需要准备检测肺活量的大学生,可以自测了解自身肺活量水平、认识肺生理结构,促进肺活量百分位较低的学生加强运动提高肺活量、增强体质。

2.4 功能设计

“肺”常测微信小程序,主要功能包括:1) 基础数据,录入登录用户的身高体重等基础数据;2) 肺活量检测,监测用户在智能手机麦克风附近持续吹气时的声音分贝并进行频谱分析与计算;3) 最大摄氧量计算,对男性用户依据肺活量和许文生氏公式计算体表面积推算最大摄氧量;4) 百分位计算,记录并对用户肺活量数据排序,统计得出个人最大肺活量的百分位;5) 肺生理结构展示;6) 授权登录、养肺经典等功能。系统总体功能模块,见图1。

3 系统实现

3.1 算法设计

肺活量检测算法是本系统的核心算法,算法流程图见图2,算法处理后的数据用于最大摄氧量和百分位的计算。

首先,数据初始化,获取用户输入身高、体重,设定计时器变量count等各变量初始值。采集数据,用麦克风录音功能开始录音并返回音频二进制数组。

停止采集后,对音频二进制数组计算,通过数组长度获取数组数值累加和,计算音量力度公式得出音量力度强度,再计算出分贝值。

输出结果,包括肺活量、最大摄氧量和百分位。

3.2 肺活量检测功能实现

肺活量检测功能的实现,主要使用微信小程序的录音设备wx.getRecorderManager()、RecorderManager.onFrameRecorded()等API获取麦克风权限、录音、频谱分析,计算出分贝值、肺活量、最大摄氧量、百分位等。

1) 调用麦克风音频进行频谱分析计算出分贝值

首先要申请调用麦克风,获取麦克风权限组API。关键代码如下:

this.rec = wx.getRecorderManager();

在获取麦克风权限组API后调用麦克风录音功能,通过调用函数wx.getRecorderManager()和函数on?FrameRecorded()获取麦克风音频,开始录音并返回音频二进制数组对象frameBuffer。关键代码如下:

3.3 功能介绍

用户打开“肺”常测微信小程序,主要有首页、检测、我的、养护和挑战,包括如下主要功能:1) 首页浏览人体肺模型,见图3,点击肺模型的某个部位,可以打开肺部分区域结构列表,见图4,点击列表中某项肺结构可查看详细结构图,见图5;2) 肺活量检测首页,见图6,授权登录后点击“开始”,可以设置“身高体重”,点击开始检测,然后检测当前肺活量、分贝值、最大摄氧量和持续吹气的时间,见图7,在距离麦克风约3~5厘米持续呼气,结束检测后,把肺活量和最大摄氧量更新进云开发数据库,对全体用户的肺活量进行排序,可见到肺活量、最大摄氧量和百分位等检测报告结果,见图8,点击查看更多详细数据可查看详细数据。

4 结束语

本文主要介绍“肺”常测微信小程序的设计及实现,该小程序能为用户提供便捷的肺活量自测,但是由于依据智能手机的麦克风检测用户呼气时的气流声音进行频谱分析得出分贝值计算出肺活量,因此使用者在呼气时距离麦克风的距离、角度和环境噪音都对检测结果均有影响,因此适用于通过多次或长期监测了解自身肺活量水平,一定程度上促进用户了解肺部健康与加强肺活量锻炼。目前“肺常测”微信小程序已上线运营,下一步将对现有检测算法检测的结果与肺活量电子仪器检测设备的检测结果做对照实验,并在此基础上改进,例如采用年龄、性别、地域等更多肺活量相关指标,改进麦克风声音采样分析智能算法,提高肺活量检测准确率,提供更有效的肺活量检测工具软件。