基于android的便携式健康监测系统——android系统开发毕业设计(编辑修改稿)内容摘要:
蓝牙 BLE 的特殊性,需要能够支持 系统及以上和装载蓝牙 的智能平台才能应用到实际开发中。 若不考虑蓝牙, Wifi,以及传感器相关的开发,那么 Genymotion 完全可以胜任开发的绝大部分需求;当然若需要实际的硬件支持,最佳方案就是用一款智能手机进行真机联调。 模拟器 Genymotion Genymotion 是一套完整的工具,它提供了 Android 虚拟环境 [7]。 开发 Android 的 Eclipse ADT 开发包中其实有自带的模拟器 emulator,之所以选用另外的模拟器原因有二。 Emulator 运行速度缓慢,对比之下 ,genymotion 由于基于 VirtualBox,本质是虚拟机,无论是启动速度或者是应用载入速度都要更加快捷,性能更优越,在 genymotion出现之后,被 Android 开发者们冠以 “史上最快 Android 模拟器 ”的称号,这是一方面原因。 图 genymotion 和 emulator 的创建设备界面 另一方面, genymotion 的源码包较为简洁明了,创建虚拟设备时只需填入设备名称即可,其他属性均按照实际型号的真机定制,而 emulator 自定义的属性较多,自主性较强,但大多设置并没有必要,而且其启动后尺寸是固定的,不能随时进行调整,默认的屏幕尺寸高度会和 PC 的高度一致,导致开发视图的不便(任务栏会遮住屏幕下方),相反 genymotion 就可以在启动虚拟设备后自由调整其宽高度,以方便不同视图的需要。 图 为两者创建虚拟设备时的界面。 Genymotion 安装流程如下: ① 注册 Genymotion 账号 ② 下载 Genymotion 安装包 ③ 安装 VitualBox ④ 安装 Eclipse 或者 Intellij 插件 兰州理工大学毕业设计 5 注册需要通过其官方网址 系统环境,如图 所示。 图 genymotion 选择系统环境界面 选择好开发的系统环境之后,在联网状态下会自动下载源码包,这里我们选择 Android 的系统,安装并创建完毕后如图。 图 genymotion 已经创建好的系统环境 启动虚拟设备,可以看到界面与真实手机一般无二,如图 所示。 兰州理工大学毕业设计 6 图 genymotion 虚拟界面 同时,可以在 Eclipse 的 DDMS 视图中看到已经检测到的 Android 设备,如图 所示。 图 Eclipse 中检测到的虚拟设备 至此, genymotion 虚拟的硬件开发环境已经搭建完成。 智能手机 涉及到蓝牙或传感器之类模拟器暂时不能模拟出的部件时 ,开发就需要借助真实的Android 设备。 本次设计用到的智能手机为华为荣耀 4X,操作系统为 Android ,支持蓝牙 BLE。 相对于模拟器来说,真机并不需要人为创建定制设备,可以直接投入开发使用。 不过由于智能手机仍需要连接电脑进行开发中的通信,所以一些注意事项需要注意一下: 1) 手机需进入“ USB 调试模式”,不同的手机有不同的设置,开发者需根据相应的机型提前设置好,类似图。 兰州理工大学毕业设计 7 图 手机上的 USB 设置 2) 需要特定的驱动需要安装相应的驱动,否则无法检测到连接的 Android 设 备,一般是由PC 系统自动匹配安装,安装的驱动为“ Android Composite ADB Interface” ,打开“设备管理器”后 会显示相应的接口 ,如图。 图 Android 设备调试驱动 3) 安装好驱动,开发工具 Eclipse 切换至 DDMS 视图, 此处表明 已经检测到了 Android 设备,如图 所示。 图 Eclipse 检测到的真机 兰州理工大学毕业设计 8 蓝牙开发平台 蓝牙平台在本设计中属于前置部分,主要负责将传感器采集到的信号通过蓝牙形式发送出来,然后由开发的 Android 应用接收处理,蓝牙部分 可以从原理和实际设备两个部分进行介绍。 蓝牙 BLE 简介 蓝牙 协议是 20xx 年 6 月由 SIG( Special Interest Group)发布的最新标准,它有 2 种模式: BLE( Bluetooth low energy)只能与 协议设备通信,适应节能且仅收发少量数据的设备(如家用电子); BR/EDR( Basic Rate/Enhanced Data Rate),向下兼容(能与 通信),适应收发数据较多的设备(如耳机)。 BLE 即 Bluetooth Low Energy,低功耗蓝牙,属于蓝牙 中的单模制式。 其主要特点如下: 国际蓝牙联盟 (BT- SIG, TI 是企业成员之一 )通过的一个标准蓝牙无线协议 主要新特性是在蓝牙标准版本上添加了 蓝牙规范( 20xx 年 6 月) 针对无线应用程序与低功耗,低延迟,小数据包的传输需求 主要是围绕手机和个人电脑系统,但也可用于其他应用程序 就单模而言,和经典蓝牙设备不兼容 蓝牙 开发至少要做两方面的准备。 硬件方面,需要购买 TI 公司蓝牙迷你套件,即蓝牙 开发板(一般指 CC254x)以及 CC Debugger 传真器;软件方面, 安装 IAR for 8051,TI 公司 BTool软件。 开发板 CC254x CC254X 模块是低成本,低功耗的 SOC(System on a Chip,系统级芯片 )方案,广泛用于蓝牙低功耗应用,花费非常少的材料成本即可构建 BLE Master 或 Slave Node。 CC254X 内含一个性能优良的 RF 收发器和工业标准的增强型 8051MCU,集成可 ISP 的 Flash memory, 8KB RAM,以及其他性能优异的特性和外设。 CC254X 可提供低功耗睡眠模式,操作模式的转换时间非常短,低至微秒级, 特别适合需要低功耗的系统。 其特性如下: a) 兼容蓝牙低功耗技术 b) 优异的连接设计(高达 97DB) c) 长距应用 d) 精准的数字 RSSI e) 符合 FCCamp。 CE 标准 f) 高效低功耗的 8051 MCU 内核 兰州理工大学毕业设计 9 g) 电池监控和温度传感器 h) 全速 USB 接口 i) AEC 安全协处理器 本设计通过 CC254x 开发板进行蓝牙模块的开发,其开发板如图 所示。 图 CC254x 开发板功能示图 心率传感器 心率传感器是本设计中硬件部分的最末端,负责最原始的脉搏信号采集,理想状态下采集到的脉搏信号可以较为清晰用波形图给出,也即是 说,传感器必须采集到类似于心脏搏动强度的信号,并将这种起伏明显的信号通过一定传输手段传输到开发环境中。 因此,根据传感器的敏感性质不同,可分为两部分介绍。 压电传感器 压电传感器即压敏电阻脉搏传感器 HK20xxC,是在 HK20xxB 的基础上增加了程控放大电路、基线调整电路、 A/D 转换电路、串行通信电路,方便用户集成及二次开发使用。 压电式原理采集信号,数字信号输出,直接通过 USB 或串口输出脉搏波波形数据。 在电脑上运行我们附送的演示程序可以直观的在电脑屏幕上显示脉搏波形并可以对波形的幅值、频率、基线等进行调整。 该产品可应用于脉率检测、无创心血管功能检测、妊高征检测、中医脉象诊断等。 兰州理工大学毕业设计 10 图 压电脉搏传感器 HK20xxC 此传感器的接口为 USB 接口,可以与电脑连接,在 PC 端安装 USB 转串口驱动后,即可实现传感器与 PC 端的通信。 在 PC 端“设备管理器”中可以看到相应端口,如图 所示。 图 压电传感器在 PC 端的端口 光电传感器 光电传感器是自行购置的脉搏传感器,主要是通过透光性检测指尖血液浓度并以此脉搏的跳动。 配以蓝牙开发板 CC254x,连接之后可直接工作(程序代码需自 行烧写)。 关于此传感器有一套自有的工具,主要是关于 BLE 蓝牙 开发的必备工具,诸如 IAR 编辑器,SmartNRF 烧录器,以及 CCDebug 仿真器,感兴趣的读者可自行查阅关于蓝牙 的官方资料。 以下为传感器实物图。 图 光电心率传感器实物图 兰州理工大学毕业设计 11 此传感器需要和蓝牙开发板配套使用,三根导线分别连接至开发板的相应引脚才能正常工作,以下是连接图; 图 传感器与开发板连接图 连接完成后,需要给开发板加外接电源才可工作。 此开发板的电源接口与调试接口为同一个接口,为 MiniUSB 接口,加电后配 以的显示屏可以显示相关数据,不过仅供以参考,如图 所示; 图 开发板工作示意图 兰州理工大学毕业设计 12 第三章 软件设计 软件的开发工作主要在 Android 平台下进行,使用以 Java 为主的编程语言进行开发。 本设计中使用的开发环境如下: 系统环境: Windows 7 Ultimate x64 编程语言: Java 语言版本: jdk8u11windowsx64 开发工具: Eclipse IDE for Java Developers+ADT ,Android Studio 终端环境: Android ,Android 源码工具: Android SDK Manager 模拟器: Genymotion Android 真机型号:华为荣耀畅玩 4X 绘图引擎: AChartEngine 系统环境、编程语言,以及开发工具,三者互相之间要有良好的兼容性,一般来说,如果系统环境为 Windows 系统,那么编程语言版本也一般安装 windows 版本,以及开发工具如Eclipse 也要选择安装 Eclipse for Windows,否则是无法进行开发工作的 [8]。 开发 Android 应用需要在 Eclipse 中安装 ADT 即 Android Development Tools 插件,也必须在本地配置至少一个 Android 系统版本的源码如 Android ,源码由 Android SDK Manager进行下载管理。 调试环境分为模拟环境与真机环境,模拟器使用 Genymotion,可调试不涉及硬件操作的功能模拟,真机则没有限制,当然真机最好选择接口较多,功能较全的手机型号。 由于蓝牙 在 Android 系统及以上才有较好的底层支持,故而无论是模拟器还是真机都使用 Android 以上的系统才可调试涉及蓝牙 的应用,否则会出现乱码数据或者无法开启蓝牙服务的现象。 绘图引擎选用 Android 下比较成熟的绘图引擎 AChartEngine,此引擎专为绘图而开发,只要导入库类包后就可以直接或选择使用其中的有用类,避免开发时为自定义图表类作太多繁琐的工作 [9]。 软件整体结构 软件 功能 说明 应用软件整体功能分为两个部分,一部分为接收数据的前置工作,一部分为处理数据的具体功能。 软件整体工作流程可分为以下几步: ① 通过蓝 牙基类寻找 BLE 设备,并显示设备列表 ② 点击列表中的设备,获取蓝牙服务 兰州理工大学毕业设计 13 ③ 接收蓝牙传递的数据 ④ 处理数据,并以字符流形式存入文件 ⑤ 由传递的数据显示出实时的波形图 ⑥ 计算出 BPM ⑦ 其他功能 整体流程 说明 根据软件整体完成的工作流程,可以将之表示如图 所示的流程图: 图 整体流程图 各功能模块设计 蓝牙传输模块 蓝牙传输是建立在蓝牙硬件平台搭建正确的基础上的,其中包括蓝牙模块芯片 CC254x与开发板的连接,开发板与传感器的连接 ,以及在开发板中写入控制蓝牙的程序。 此处软件中所谓的蓝牙传输模块,其实就是蓝牙检测模块,以官方提供的蓝牙基础类BluetoothGatt,扩展为 BluetoothLeClass,以提供蓝牙协议等基础通信服务 [10]。 蓝牙 中分为两类,其中一类 BLE 设备即此次开发中所用到的蓝牙设备, BLE 需要特殊的机型支持,一般在智能手机硬件配置说明书中由厂家指明是否支持蓝牙 的无线传输协议。 开始 获取蓝牙服务 接收数据 处理数据 显示波形图 存入文件 计算 BPM 其他功 能 结束 兰州理工大学毕业设计 14 在蓝牙硬件设备搭建完成后,设备会持续发送一个广播信息,应用终端则编写相应 的程序代码接收此信息,并与之匹配,再获取相关的蓝牙服务, BLE 并不兼容于之前的蓝牙版本,故而获取服务的方法也有所不同,尤其是后续部分要连接至 GATT 服务端,且读取属性的方法也与之前的蓝牙开发不尽相同。 蓝牙模块 在终端的 整体工作流程图如 所示: 图 蓝牙模块流程图 以下为使用 BLE 设备必要的开发步骤 [11]: ① 在 应用功能清单文件 中声明蓝牙权限,因为用到了 BLE 设备,因此需加上 BLE 设备的支持声明; usesper。基于android的便携式健康监测系统——android系统开发毕业设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。