基于Android系统的智能手环健康检测系统关键技术

2019-09-25 04:16陈春谋
微型电脑应用 2019年9期
关键词:手环安卓蓝牙

陈春谋

(陕西财经职业技术学院 管理学院, 咸阳 712000)

0 引言

我国已逐渐步入老龄化社会,老年人在日常生活中易出现血压、血糖、心率等身体异常情况,老年人的健康监护需求不断提升,随着网络技术的发展及智能手机的普及应用,为老年人健康监测系统提供了支撑,无需额外的设备和投入,通过结合使用智能手环等便携式设备能够对老年人日常健康状况进行更好的监测,有效应对老年人突发症状使其能够及时得到救治,缓解医疗资源不足的状况,为更好的满足老年人健康需求。

1 需求分析

目前心血管疾病已成为风险最高的健康杀手,老年人在日常生活中易出现血压、血糖、心率等身体异常情况,老年人的健康监护需求不断提升,设计并实现高效的健康监测系统财务研究的重点之一,检测心脑血管的表征时,主要包括血压和脉搏两个检测指标;对于突发的血压升高、心率加快或变慢等老年人常见的突发安全问题,需能够做到及时及时检测及时产生报警信息,并能够对使用者基本信息进行保存,从而能够对不同使用者完成不同监测指标的确定,同时确保产生的报警信息及使用者位置信息能够通过软件会向亲属号码及时发送,即需软件具备定位功能,本文结合使用手机软件和智能手环完成了基于Android系统的智能手环健康检测系统的设计,该智能手环充分应用了安卓手机的定位功能,主要实现了检测人体心率、血压及加速度实时数据等功能,介绍了蓝牙、定位、信号采集与处理功能的实现过程,能够进行个性化的监护参数设置,更好的满足老年人的健康监护需求[1、2]。

2 健康监测系统设计

在我国安卓系统的市场占有率已达到四分之三左右,为方便老年人使用,基于安卓平台的健康监测系统便于产品落地及用户使用,Android软件开发过程相比IOS更加简单快捷,具体开发时可使用两种 PC 系统(windows、IOS),集成开发环境 Android Studio实现了在一个软件中融入UI界面设计与组件设置,同时有大量的代码和源程序可供使用,简化设计过程本文结合使用手机软件和智能手环完成了基于Android系统的智能手环健康检测系统的设计,简化使用者健康监护过程,能够进行个性化的监护参数设置,提高对不同老人的适用度,随时监测健康状态,提高健康生活质量。

2.1 软件系统功能架构设计

本文所设计的基于Android系统的智能手环健康检测系统的功能架构如图1所示。

图1 老年人健康检测系统框图

在Android智能手机上完成监测软件的下载后,对个人信息等数据进行配置,通过为老年人佩戴智能手环检测设备,一旦出现心率过高或摔倒等紧急突发情况即将相关数据传输给硬件设备,硬件设备据此会及时会发送意外情况报警信息,结合地图定位信息,将老年人具体位置和危险警告信息发送至监护人手机。该健康监测系统具备心率和跌倒的监测和计算功能、一键呼救及定位功能,以便快速实施救护措施,老年人信息通过系统设置模块进行设置,档案模块(存放在数据库中)负责对老年人病史、身体状况等基本信息进行记录(包括监护人的电话),据此可实现不同监护措施的制定及个性化设置[3-4]。

2.2 数据库及蓝牙设计

采用数据库SQLite(安卓内置)进行系统数据库开发,数据库SQLite3的分析及数据库结构的设计以老年人实际健康需求为依据,当用户需查看或下载数据库中的数据信息时,通过登录数据库并完成安全验证后即可访问数据库。

蓝牙在大多数安卓手机中属于已配置好的功能模块,本文需设置对手机蓝牙模块的调用,通过将 2.45 GHZ的蓝牙模块嵌入智能手环硬件设备中实现了相关数据在软硬件间的实时传输过程,具体通过蓝牙模块对硬件蓝牙进行搜索、连接,硬件采样计算后的数据通过蓝牙模块完成到软件系统的传送,通过在 Manifest 中对蓝牙权限进行配置实现对蓝牙的调用,同时软件中一键呼救的功能能够被硬件蓝牙模块调用,出现跌倒情况时直接进行呼救。通过onReceive()方法实现蓝牙的搜索、显示及连接功能(在activity 文件中)[5、6]。

2.3 心率、血压监测

硬件的传感器系统负责对心率和血压检测值进行采集,在完成相应计算后发送给软件系统(通过蓝牙模块),系统预先对监测阈值进行设置(根据正常人血压、心率范围)例如血压正常范围在 90/60—139/89 mmHg、心率正常范围在每分钟 40 次—160 次,并据此对人体健康状况进行相应的分析计算。通常不同的体质会表现出心率和血压的正常值也不尽相同,因此系统会以长期监测的历史数据为依据生成比较适用于使用者的监测阈值。如若使用者心率在长时间监测内皆表现出偏低,则设置的心率监测阈值会低于正常值,若长时间血压偏高相应减少该使用者测试血压的时间间隔,同时提高血压低压阈值[7、8]。

2.4 一键定位和一键呼救功能

本系统通过使用由百度地图提供的 API(具备的定位及导航等功能强大、种类多) 实现定位功能,提供了便捷强大的库文件支持功能。通过安卓系统中拨号器界面的调用,即可将号码设置为紧急呼救号码,实现一键呼救功能,迅速完成紧急呼叫。

3 系统功能模块实现

首先下载Android Studio 客户端(Android Studio官网),根据提示完成软件的安装,选择Dircula主题的UI 界面(可保护眼睛);接下来完成 Android SDK的下载,选择所需 Android SDK 版本,通常选择最新版本的SDK,本文开发过程基于 Android5.0(API23);下载Genymotion虚拟机,Android Studio提供虚拟机运行速度等性能较差,首先需完成虚拟机管理器(Virtual Box)及Geny-motion软件的下载,接下来点击Configure/plugins/Browse Repositories(在Android Studio中,首次使用时需选择此安装路径),搜索并下载Genymotion。

3.1 地图定位功能的实现

百度地图API采用统一的AK验证,据此可享受百度地图资源辅助系统开发,(1)建立一个安卓工程及签名文件,打上签名并完成打包后,获取SHA1的值[9-10]。(2)登陆百度地图 API 官网后完成新应用的创建,输入上述包名及SHA1 值申请 AK(应用名称没有具体要求),根据实际情况选择应用所需功能,输入安全码(自动生成)点击提交即可获取AK,在根据应用需要完成相关地图资源包的下载(勾选所需功能),点击下载开发包同时保留 AK。(3)根据开发文档(由百度地图提供),在安卓工程导入资源包引入libs文件,具体通过在build.gradle中添加如下代码,然后对APP实现定位功能所需权限、设备信息等进行配置[11-12]。

sourceSets{

Main{

jniLibs.sreDir“libs”

}

}

(4)通过将地图组件加入到layout中,实现地图与定位模块功能,代码如下。

Android:id=“@+id/bmapView”

Android:layout_height=“fill_parent”

Android:layout_widht=“fill_parent”

Android:clickable=“true”/>

完成地图对象配置(在Activity文件中),显示地图并实现定位,代码如下。

Pubic void oncreate(bundle savedInstancestate){

Super.oncreate(savedInstancestate);

SDKInitializer.initialize(getApplicationContext());

Setcontentview(R.layout.activity_4):

//获取百度地图控件

mapview=(mapview)findviewbyId(R.id.hmapview);

//获取百度地图对象

Baidumap=mapview.getmap();

//开启定位图层

Baidumap。setmylocationEnabled(true);

//声明定位SDK何欣类

locationClient=new locationClient(this);

//注册监听

locationClient.registerlocationlistener(mylistener);

//定位配置信息

locationClientOptionoption=new locationclientoption();

Option.setopengps(true)://打开gps

Option.setcoorType(“bd0911”)://设置坐标类型

Option.setscanspan(1000)://定位请求时间间隔

locationClient.setsetlocoption(option);

//开启定位

locationClient.start();

3.2 紧急呼救功能实现

使用者按下紧急按钮后,系统自动拨打求救电话,包括子女、配偶或110等紧急救助电话,在layout中添加一个按钮,再为其添加方法(具体在activity文件中),完成安卓系统拨号器的调用,自动拨打预设电话号码,紧急呼救号码设置为 110,实现代码如下[13、14]。

Button button5=(Button)findviewbyId(R.id.btn_5);

button5.setonclickListener(new view.onclicklistener())

{

@override

Public void onclick(view)

{

If(contextcompat.checkselfpermission(mainactivity.this,mainfest.permission.call_phone)!

=packagemanager.permission_granied){

Activicompat.requestpermissions(mainactivity.this,newstring[]{

manifest.permission.call_phone},1);

}

Intent intent=new intent (intent.action_call);

Intent.setdata(Uri.parse(“tel:”+110));

Startactivity(intent);

4 总结

老年人健康监护需求随着我国逐渐进入老龄化社会不断扩大,为提高老年人健康监护水平,本文完成了基于Android系统的智能手环健康检测系统的设计,该系统的开发软件采用了开源软件Android Studio(谷歌公司),该智能手环充分应用了安卓手机的定位功能,主要实现了检测人体心率、血压及加速度实时数据等功能,并据此对人体健康状况进行相应的分析计算,发生紧急意外情况时能够将紧急求助信息发送至联系人手机,介绍了蓝牙、定位、信号采集与处理功能的实现过程,为老年人健康监测系统的开发和完善提供参考[15]。

猜你喜欢
手环安卓蓝牙
iPhone不卡的秘密曝光:安卓也能享受
蓝牙音箱的直线之美
兼具蓝牙和收音机功能 Cambridge Audio(剑桥)AXR85
文物表情包
小米手环4
安卓系统或成智能汽车标配
疯狂编辑部之智能手环
麦当劳“开心乐园餐”健身手环下架
学习监测手环
安卓机器人