基于Android便携式健康监测系统Android系统开发设计毕业设计论文

上传人:痛*** 文档编号:67503435 上传时间:2022-03-31 格式:DOC 页数:82 大小:4.96MB
收藏 版权申诉 举报 下载
基于Android便携式健康监测系统Android系统开发设计毕业设计论文_第1页
第1页 / 共82页
基于Android便携式健康监测系统Android系统开发设计毕业设计论文_第2页
第2页 / 共82页
基于Android便携式健康监测系统Android系统开发设计毕业设计论文_第3页
第3页 / 共82页
资源描述:

《基于Android便携式健康监测系统Android系统开发设计毕业设计论文》由会员分享,可在线阅读,更多相关《基于Android便携式健康监测系统Android系统开发设计毕业设计论文(82页珍藏版)》请在装配图网上搜索。

1、 毕业设计题 目 基于Android的便携式健康监测系统Android系统开发 基于Android的便携式健康监测系统Android系统开发Portable health monitoring system based on Android platform-Development on Android system毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使

2、用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用

3、的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)

4、的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所

5、有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性

6、;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师:

7、(签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学

8、系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整

9、体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日摘要随着移动互联网的迅速发展,利用便携终端监测人体健康状态成为一种愈发可行的医疗手段。本设计针对此问题提出了一套切实可行的设计方案,设计中首先通过脉搏传感器采集到人体的脉搏信号,然后借由蓝牙以无线形式发送给Android终端,同时在Android下提取蓝牙信号,以及实现数据的读取与存储,并以接收到的数据实时绘制波形,最终通过对波形的处理分析可得出测试者当前的心率,并对测试者当前的健康状态作出简单的评测和建议。本设计的数据来源为光电脉搏传感

10、器,是通过透光性检测血液浓度变化并以光强度的变化引起的电压变化作为数据传出;此数据经蓝牙开发板处理为数字信号,并由蓝牙形式不断广播;在Android下开发的应用通过开启设备的蓝牙功能搜索到广播的蓝牙信号,通过协议建立连接并获取数据服务,实时接收采集的脉搏信号;应用对采集的数据进行算法处理,存入文本文件,并在图表中给出实时的波形图;通过分析此波形,应用可计算出测试者当前的心率,并由心率对测试者的健康状况作初步的判断。其他功能诸如注册功能,静态显示等也可通过在应用中添加相应代码实现,目的是通过保证数据的准确性和添加必要的功能,丰富并完善应用,使之可以广泛使用。关键词:脉搏;蓝牙;Android;波

11、形;健康AbstractAlong with rapid development of Mobile Internet,monitoring the health status by portable terminal, becomes a more feasible choice of medical treatment.This design put foward an available scheme aimed at the problem.In the design,first of all,collecting human pulse signal by pulse sensor

12、, then send it to the android terminal by bluetooth as wireless form,extract the signal from bluetooth on Android system, realizes the data read and data store, and then draw the real-time waveform according to received data, the current heart rate could be obtained through the handling of waveform

13、analysis and testing, finally we learn on the current health status of the tester and make a simple review and advice.The datas for the design collected by photoelectric pulse sensor, the pluse sensor works by the transmission of light,to detect the change of blood concentration with the change of l

14、ight intensity, result in voltage changing. The data converted to the digital signal on the bluetooth development board,and broadcast constantly .The application on the android could start bluetooth of the equipment and gained the broadcasting bluetooth signal, then established a connection and acce

15、ss to data services, received the pulse signal in real-time state. The data would be processed by algorithm in application, saved in the text file, and real-time waveform is given in the chart on the view of screen.Aanalyzing the wave form, the application could calculate the current heart rate of t

16、ester, and then application could show the the healthy condition of the tester according to the heart rate . Other functions such as registration, and static display can be achieved by adding the corresponding code in the application,such approach ensure the accuracy of the data and add the necessar

17、y function, enrich and perfect the application, make it can be widely used.Key words:pluse;bluetooth;Android;waveform;health目录第一章 绪论11.1移动医疗的背景11.2设计的意义与目的21.3设计的内容和功能实现21.4设计的可行方案31.4.1 Matlab+压电传感器31.4.2 Android应用+光电传感器3第二章 硬件设计42.1 Android硬件平台42.1.1模拟器Genymotion42.1.2智能手机62.2蓝牙开发平台82.2.1 蓝牙4.0 BL

18、E简介82.2.2 开发板CC254x82.3心率传感器92.3.1压电传感器92.3.2光电传感器10第三章 软件设计123.1软件整体结构123.1.1软件功能说明123.1.2整体流程说明133.2各功能模块设计133.2.1蓝牙传输模块133.2.2数据接收模块163.2.3数据处理模块173.2.4图表显示模块193.2.5界面布局213.2.6注册模块223.2.7设置模块25第四章 运行及测试274.1运行效果274.1.1测试与咨询274.1.2注册及设置304.2技术难点334.2.1硬件难点334.2.2软件难点34总结38参考文献39附录一 外文文献翻译40附录二 程序源

19、代码63致谢70第一章 绪论1.1移动医疗的背景移动医疗,国际医疗卫生会员组织HIMSS给出的定义为,mHealth,就是通过使用移动通信技术例如PDA、移动电话和卫星通信来提供医疗服务和信息,具体到移动互联网领域,则以基于安卓和iOS等移动终端系统的医疗健康类App应用为主。它为发展中国家的医疗卫生服务提供了一种有效方法,在医疗人力资源短缺的情况下,通过移动医疗可解决发展中国家的医疗问题1。随着时下智能手机的普及,如何利用便携的智能手机辅助移动医疗监测,成为一个新兴的热门话题,在医学,IT领域掀起一股“移动医疗”的潮流2。就时代科技背景而言,一切与便民服务相关的工作最终都将被“移动”,成为一

20、股股“移动XX”潮流,而“移动医疗”恰恰是其中的一种,也是相当重要的一种。眼观当下,衣,可以在“淘宝”手机客户端直接购买,食,可以在“大众点评”中获得有利信息,行,可以在“百度地图”“携程旅行”中随时得知路况或踩点,住,可以在“58同城”中查看租房买房信息可以预见的是,医疗和教育将来也必会在移动互联网中大放异彩,然后成为生活中耳熟能详的一部分。当下移动医疗才刚刚起步,其应用模式中大多都是借助相应的传感器(例如红外,压电,光电等)来采集医疗信号,实现的功能也以信号显示为主,而智能手机作为拥有高速的数据传输能力和强大数据处理能力的便携终端设备,可以作为医疗传感器信号的移动接收和中转平台,甚至成为最

21、终的处理平台。智能手机可以通过蓝牙、Wifi等方式和外设进行无线连接,基于此,可将便携传感器获得的数据以无线方式发送给智能手机,智能手机把医疗数据通过WiFi、Internet等方式与服务器完成通信。这有利于扩大数据采集、健康监护的应用范围,使得人们可以在携带一些传感器的情况下,比较灵活地实现远程数据采集、医疗监护3。随着谷歌眼镜、智能手表等智能消费终端的推出,一股由可穿戴设备掀起的科技浪潮正试图开启物联网2.0时代的大门。相较于物联网1.0时代对传统行业的信息化模式,由可穿戴医疗设备带动的物联网2.0时代,正在致力于突破孤岛,实现各种应用的互联。而在亚健康和个性化健康管理的观念日益普及下,可

22、穿戴设备也在成为唤醒医疗物联网2.0的潮流先锋4。目前大型应用市场中已经涌现了一批用于简单医疗的App应用,有根据输入的参数(如身高,体重)判断体型是否合格的,有一些日常健康指导的(比如预防传染病或感冒的常识),还有和硬件设备结合开发的计步器(用于跑步时),用于调整生物钟的睡眠闹钟,测心率的心率应用但是也明显表明,在不配合硬件的情况下,仅仅软件是无法完成太多测试的,也无法提供用户太多有用的信息或数据。如果在未来,医用设备能够便携化,就代表着移植到智能设备中的可能性很大,也就意味着,那是一个带着手机就能随时随地检测身体健康状态的时代,一个真正的移动医疗时代。1.2设计的意义与目的脉搏即体表可触摸

23、到的动脉搏动。当大量血液进入动脉将使动脉压力变大而使血管直径扩张,在体表较浅处动脉即可感受到此扩张,即所谓的脉搏。中医将脉搏变化作为治病的主要手段,称为“切脉”。测量脉搏是病人必须检查的一个项目,通过脉搏的测量可以知道很多信息,这也成为了一个切入点:如果可以实时测量脉搏,那么就意味着可以实时通过脉搏了解病人的大致状况。以此推导,如果手机应用能够实时测量脉搏,那么只要有手机的用户都可以测量自己的脉搏pluse wave5,并通过其测量的数据得到有用的信息。传统模式下,测量脉搏由专用的医用设备或有专业经验的医师完成,在日常生活中非专业人士也不能准确测量自己的脉搏,更难说察觉脉搏的起伏变化,这也是医

24、疗不能深入日常生活的最主要原因。本设计则充分利用手机的无线通信功能,使用传感器采集脉搏信号,通过手机蓝牙接收信号,将智能手机变成一个“医疗设备”(Medical Equipment6)。相对于传统模式下,采集的医疗数据需要上传到专门的服务器进行分析,移动医疗模式下,智能手机完全可以实现在手机本地对数据进行智能分析。利用智能的计算能力,处理采集的脉搏数据,并得出测量结果,用户可以在更短时间内看到数据分析结果和相关的健康建议,也避免了时间的浪费。而随着智能手机性能的迅速提高,在本地进行复杂医疗数据的处理将会愈加具有可行性。1.3设计的内容和功能实现设计的主要内容是开发一个Android应用,以蓝牙

25、的形式接收传感器采集的脉搏信号,并将信号数据绘成波形反馈给用户,并根据数据分析为用户做初步诊断,并给出简单的健康建议;在此基础上,对应用功能进行扩展,如存下信号数据以供有需要的用户自行查看分析,力求更方便地服务于用户。本设计主要是软件上的功能,因此以实现软件功能为核心。软件功能主要分蓝牙模块,数据传输模块,数据处理模块和绘图模块。蓝牙模块负责通过蓝牙通信协议检测周围匹配的蓝牙设备(BLE设备),并显示到应用界面中以供用户选择,用户选择点击之后可以开启蓝牙数据传输服务。数据传输模块承接蓝牙模块,开启蓝牙传输服务之后,程序会自动接收传输过来的数据并拟进行二次处理。数据处理模块即在传输的数据基础上,

26、对其数据进行一系列算法处理,可将数据存入文件,也可用于绘图。绘图模块是建立在Android下AChartEngine绘图引擎的基础的,此处将已经处理的数据通过曲线图的方式在图表中绘制出来,并实时更新显示。1.4设计的可行方案设计主体在于通过特有的传感器脉搏信号,经由一定的传输手段传至某个智能平台,并由智能平台上的一个处理软件对接收到的信号进行数据化,并加以图形描绘。经过前期的调研和准备,本设计之初需要以下设备和方案。1 脉搏传感器,采集脉搏信号2 信号发送器,将信号发送出来3 信号接收器,接收信号4 处理器,将信号进行数据处理5 绘图器,将数据绘成波形图6 分析器,将波形做算法分析7 显示器,

27、将分析的结果反馈给用户以此判断,其中只要有一个环节不同,就会产生不同的实施方案,信号的发射和接收任务在本设计中均采用蓝牙承载,其他环节中影响最大的就是脉搏传感器和处理器,这两个环节的不同会使整个设计有不同的实施方案。传感器和传输手段的不同产生了两个不同的实施方案,一是通过有线传输压电传感器采集的脉搏数据,另一个是通过蓝牙传输光电传感器采集的脉搏数据。1.4.1 Matlab+压电传感器本设计早期使用压电脉搏传感器,通过USB接口连接电脑,利用压敏电阻的特性将手腕脉搏跳动的起伏值模拟为传感器反应出的电压值,并以Matlab串口读取作为软件处理方案,用Matlab将压电传感器传出的电压值绘成波形图

28、。问题在于压电传感器过于灵敏,且受干扰较大,测出的波形噪声信号难以处理,故而进度缓慢。1.4.2 Android应用+光电传感器由于Android系统的移植性强,装载Android系统的设备越来越多且便携性大大提高,计划将此软件移植到Android平台中,利用光电传感器和相应的蓝牙开发板,将传感器采集到的脉搏信号传输通过蓝牙的形式传输到智能设备中,并利用Android下较为流行的图表引擎AChartEngine绘制相应的波形。问题在于光电传感器所配套的蓝牙开发板属于蓝牙4.0 BLE设备,只有Android4.3以上的系统和装载了BLE 的智能设备才能检测到,不过随着手机的更新换代,应该会具有

29、更好的兼容性。第二章 硬件设计2.1 Android硬件平台Android系统需要相应的硬件平台支持,并且由于蓝牙4.0 BLE的特殊性,需要能够支持Android4.3系统及以上和装载蓝牙4.0的智能平台才能应用到实际开发中。若不考虑蓝牙,Wifi,以及传感器相关的开发,那么Genymotion完全可以胜任开发的绝大部分需求;当然若需要实际的硬件支持,最佳方案就是用一款智能手机进行真机联调。2.1.1模拟器GenymotionGenymotion是一套完整的工具,它提供了Android虚拟环境7。开发Android的Eclipse ADT开发包中其实有自带的模拟器emulator,之所以选用

30、另外的模拟器原因有二。Emulator运行速度缓慢,对比之下,genymotion由于基于VirtualBox,本质是虚拟机,无论是启动速度或者是应用载入速度都要更加快捷,性能更优越,在genymotion出现之后,被Android开发者们冠以“史上最快Android模拟器”的称号,这是一方面原因。 图2.1 genymotion和emulator的创建设备界面另一方面,genymotion的源码包较为简洁明了,创建虚拟设备时只需填入设备名称即可,其他属性均按照实际型号的真机定制,而emulator自定义的属性较多,自主性较强,但大多设置并没有必要,而且其启动后尺寸是固定的,不能随时进行调整,

31、默认的屏幕尺寸高度会和PC的高度一致,导致开发视图的不便(任务栏会遮住屏幕下方),相反genymotion就可以在启动虚拟设备后自由调整其宽高度,以方便不同视图的需要。图2.1为两者创建虚拟设备时的界面。Genymotion安装流程如下:1 注册Genymotion账号2 下载Genymotion安装包3 安装VitualBox4 安装Eclipse或者Intellij插件注册需要通过其官方网址图2.2 genymotion选择系统环境界面选择好开发的系统环境之后,在联网状态下会自动下载源码包,这里我们选择Android 4.3的系统,安装并创建完毕后如图2.3。图2.3 genymotion

32、已经创建好的系统环境启动虚拟设备,可以看到界面与真实手机一般无二,如图2.4所示。 图2.4 genymotion虚拟界面同时,可以在Eclipse的DDMS视图中看到已经检测到的Android设备,如图2.5所示。图2.5 Eclipse中检测到的虚拟设备至此,genymotion虚拟的硬件开发环境已经搭建完成。2.1.2智能手机涉及到蓝牙或传感器之类模拟器暂时不能模拟出的部件时,开发就需要借助真实的Android设备。本次设计用到的智能手机为华为荣耀4X,操作系统为Android 4.4,支持蓝牙4.0 BLE。相对于模拟器来说,真机并不需要人为创建定制设备,可以直接投入开发使用。不过由于

33、智能手机仍需要连接电脑进行开发中的通信,所以一些注意事项需要注意一下:1) 手机需进入“USB调试模式”,不同的手机有不同的设置,开发者需根据相应的机型提前设置好,类似图2.6。 图2.6 手机上的USB设置2) 需要特定的驱动需要安装相应的驱动,否则无法检测到连接的Android设备,一般是由PC系统自动匹配安装,安装的驱动为“Android Composite ADB Interface”,打开“设备管理器”后会显示相应的接口,如图2.7。图2.7 Android设备调试驱动3) 安装好驱动,开发工具Eclipse切换至DDMS视图,此处表明已经检测到了Android设备,如图2.8所示。

34、图2.8 Eclipse检测到的真机2.2蓝牙开发平台蓝牙平台在本设计中属于前置部分,主要负责将传感器采集到的信号通过蓝牙形式发送出来,然后由开发的Android应用接收处理,蓝牙部分可以从原理和实际设备两个部分进行介绍。2.2.1 蓝牙4.0 BLE简介蓝牙4.0协议是2010年6月由SIG(Special Interest Group)发布的最新标准,它有2种模式:BLE(Bluetooth low energy)只能与4.0协议设备通信,适应节能且仅收发少量数据的设备(如家用电子);BR/EDR(Basic Rate/Enhanced Data Rate),向下兼容(能与3.0/2.1/

35、2.0通信),适应收发数据较多的设备(如耳机)。BLE即Bluetooth Low Energy,低功耗蓝牙,属于蓝牙4.0中的单模制式。其主要特点如下:l 国际蓝牙联盟(BTSIG,TI是企业成员之一)通过的一个标准蓝牙无线协议l 主要新特性是在蓝牙标准版本上添加了4.0蓝牙规范(2010年6月)l 针对无线应用程序与低功耗,低延迟,小数据包的传输需求l 主要是围绕手机和个人电脑系统,但也可用于其他应用程序l 就单模而言,和经典蓝牙设备不兼容蓝牙4.0开发至少要做两方面的准备。硬件方面,需要购买TI公司蓝牙迷你套件,即蓝牙4.0开发板(一般指CC254x)以及CC Debugger传真器;软

36、件方面,安装IAR for 8051,TI公司BTool软件。2.2.2 开发板CC254xCC254X模块是低成本,低功耗的SOC(System on a Chip,系统级芯片)方案,广泛用于蓝牙低功耗应用,花费非常少的材料成本即可构建BLE Master或Slave Node。CC254X内含一个性能优良的RF收发器和工业标准的增强型8051MCU,集成可ISP的Flash memory,8-KB RAM,以及其他性能优异的特性和外设。CC254X可提供低功耗睡眠模式,操作模式的转换时间非常短,低至微秒级,特别适合需要低功耗的系统。其特性如下:a) 兼容蓝牙低功耗技术b) 优异的连接设计(

37、高达 97DB)c) 长距应用d) 精准的数字 RSSIe) 符合 FCC&CE 标准f) 高效低功耗的 8051 MCU 内核g) 电池监控和温度传感器h) 全速 USB 接口i) AEC 安全协处理器本设计通过CC254x开发板进行蓝牙模块的开发,其开发板如图2.9所示。图2.9 CC254x开发板功能示图2.3心率传感器心率传感器是本设计中硬件部分的最末端,负责最原始的脉搏信号采集,理想状态下采集到的脉搏信号可以较为清晰用波形图给出,也即是说,传感器必须采集到类似于心脏搏动强度的信号,并将这种起伏明显的信号通过一定传输手段传输到开发环境中。因此,根据传感器的敏感性质不同,可分为两部分介绍

38、。2.3.1压电传感器压电传感器即压敏电阻脉搏传感器HK-2000C,是在HK-2000B的基础上增加了程控放大电路、基线调整电路、A/D转换电路、串行通信电路,方便用户集成及二次开发使用。压电式原理采集信号,数字信号输出,直接通过USB或串口输出脉搏波波形数据。在电脑上运行我们附送的演示程序可以直观的在电脑屏幕上显示脉搏波形并可以对波形的幅值、频率、基线等进行调整。该产品可应用于脉率检测、无创心血管功能检测、妊高征检测、中医脉象诊断等。图2.10 压电脉搏传感器HK-2000C此传感器的接口为USB接口,可以与电脑连接,在PC端安装USB转串口驱动后,即可实现传感器与PC端的通信。在PC端“

39、设备管理器”中可以看到相应端口,如图2.11所示。图2.11 压电传感器在PC端的端口2.3.2光电传感器光电传感器是自行购置的脉搏传感器,主要是通过透光性检测指尖血液浓度并以此脉搏的跳动。配以蓝牙开发板CC254x,连接之后可直接工作(程序代码需自行烧写)。关于此传感器有一套自有的工具,主要是关于BLE 蓝牙4.0开发的必备工具,诸如IAR编辑器,SmartNRF烧录器,以及CCDebug仿真器,感兴趣的读者可自行查阅关于蓝牙4.0的官方资料。以下为传感器实物图。图2.12 光电心率传感器实物图此传感器需要和蓝牙开发板配套使用,三根导线分别连接至开发板的相应引脚才能正常工作,以下是连接图;图

40、2.13传感器与开发板连接图连接完成后,需要给开发板加外接电源才可工作。此开发板的电源接口与调试接口为同一个接口,为MiniUSB接口,加电后配以的显示屏可以显示相关数据,不过仅供以参考,如图2.14所示;图2.14开发板工作示意图第三章 软件设计软件的开发工作主要在Android平台下进行,使用以Java为主的编程语言进行开发。本设计中使用的开发环境如下:u 系统环境:Windows 7 Ultimate x64u 编程语言:Javau 语言版本:jdk-8u11-windows-x64u 开发工具:Eclipse IDE for Java Developers+ADT,Android St

41、udiou 终端环境:Android 4.3,Android 4.4.4u 源码工具:Android SDK Manageru 模拟器:Genymotion Android 4.3u 真机型号:华为荣耀畅玩4Xu 绘图引擎:AChartEngine系统环境、编程语言,以及开发工具,三者互相之间要有良好的兼容性,一般来说,如果系统环境为Windows系统,那么编程语言版本也一般安装windows版本,以及开发工具如Eclipse也要选择安装Eclipse for Windows,否则是无法进行开发工作的8。开发Android应用需要在Eclipse中安装ADT即Android Developme

42、nt Tools插件,也必须在本地配置至少一个Android系统版本的源码如Android 4.3,源码由Android SDK Manager进行下载管理。调试环境分为模拟环境与真机环境,模拟器使用Genymotion,可调试不涉及硬件操作的功能模拟,真机则没有限制,当然真机最好选择接口较多,功能较全的手机型号。由于蓝牙4.0在Android 4.3系统及以上才有较好的底层支持,故而无论是模拟器还是真机都使用Android 4.3以上的系统才可调试涉及蓝牙4.0的应用,否则会出现乱码数据或者无法开启蓝牙服务的现象。绘图引擎选用Android下比较成熟的绘图引擎AChartEngine,此引擎

43、专为绘图而开发,只要导入库类包后就可以直接或选择使用其中的有用类,避免开发时为自定义图表类作太多繁琐的工作9。3.1软件整体结构3.1.1软件功能说明应用软件整体功能分为两个部分,一部分为接收数据的前置工作,一部分为处理数据的具体功能。软件整体工作流程可分为以下几步:1 通过蓝牙基类寻找BLE设备,并显示设备列表2 点击列表中的设备,获取蓝牙服务3 接收蓝牙传递的数据4 处理数据,并以字符流形式存入文件5 由传递的数据显示出实时的波形图6 计算出BPM7 其他功能3.1.2整体流程说明根据软件整体完成的工作流程,可以将之表示如图3.1所示的流程图:开始获取蓝牙服务接收数据处理数据显示波形图存入

44、文件计算BPM其他功能结束图3.1 整体流程图3.2各功能模块设计3.2.1蓝牙传输模块蓝牙传输是建立在蓝牙硬件平台搭建正确的基础上的,其中包括蓝牙模块芯片CC254x与开发板的连接,开发板与传感器的连接,以及在开发板中写入控制蓝牙的程序。此处软件中所谓的蓝牙传输模块,其实就是蓝牙检测模块,以官方提供的蓝牙基础类BluetoothGatt,扩展为BluetoothLeClass,以提供蓝牙协议等基础通信服务10。蓝牙4.0中分为两类,其中一类BLE设备即此次开发中所用到的蓝牙设备,BLE需要特殊的机型支持,一般在智能手机硬件配置说明书中由厂家指明是否支持蓝牙4.0的无线传输协议。在蓝牙硬件设备

45、搭建完成后,设备会持续发送一个广播信息,应用终端则编写相应的程序代码接收此信息,并与之匹配,再获取相关的蓝牙服务,BLE并不兼容于之前的蓝牙版本,故而获取服务的方法也有所不同,尤其是后续部分要连接至GATT服务端,且读取属性的方法也与之前的蓝牙开发不尽相同。蓝牙模块在终端的整体工作流程图如3.2所示:否获取蓝牙适配器开始开启蓝牙服务搜索BLE设备连接到GATT服务端搜索到?读取BLE属性接收服务端信息结束设备列表是图3.2 蓝牙模块流程图以下为使用BLE设备必要的开发步骤11:1 在应用功能清单文件AndroidManifest.xml中声明蓝牙权限,因为用到了BLE设备,因此需加上BLE设备

46、的支持声明;2 在确定开发环境是Android 4.3系统及以上的情况下,取得蓝牙适配器;/ Initializes Bluetooth adapter.final BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);mBluetoothAdapter = bluetoothManager.getAdapter();3 开启蓝牙服务;private BluetoothAdapter mBluetoothAdapter;./ Ensures Bluet

47、ooth is available on the device and it is enabled. If not,/ displays a dialog requesting user permission to enable Bluetooth.if (mBluetoothAdapter = null | !mBluetoothAdapter.isEnabled() Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent

48、, REQUEST_ENABLE_BT);4 搜索BLE设备;/* Activity for scanning and displaying available BLE devices.*/public class DeviceScanActivity extends ListActivity private BluetoothAdapter mBluetoothAdapter; private boolean mScanning; private Handler mHandler; / Stops scanning after 10 seconds. private static final

49、 long SCAN_PERIOD = 10000; . private void scanLeDevice(final boolean enable) if (enable) / Stops scanning after a pre-defined scan period. mHandler.postDelayed(new Runnable() Override public void run() mScanning = false; mBluetoothAdapter.stopLeScan(mLeScanCallback); , SCAN_PERIOD); mScanning = true

50、; mBluetoothAdapter.startLeScan(mLeScanCallback); else mScanning = false; mBluetoothAdapter.stopLeScan(mLeScanCallback); . .5 搜索到蓝牙设备后,可以由一个列表将之显示出来,如下用一个配置文件将之列出(具体可见listitem_device.xml),加载配置文件的类为LeDeviceListAdapter.java; 6 接下来还需连接到GATT服务端并读取蓝牙的一些固定属性值,此处不再赘述,读者可以自行至官方查询或查看附录资源中的DeviceScanActivity.

51、java。3.2.2数据接收模块此模块承自蓝牙模块,当蓝牙服务端准备就绪后,通过点击设备列表进入下一个活动页面,而在页面切换间,就已经启动了数据接收功能,此处会判断点击的设备是否为开发板配套的心率传感器,如果是则会进入切换,否则是无法进入下一个页面的。数据接收并不是可以单一存在的功能,因此代码是嵌在类中的,由DeviceScanActivity.java调用PluseExam.java中的静态方法来达到目的。private BluetoothLeClass.OnDataAvailableListener mOnDataAvailable = new OnDataAvailableListene

52、r() /BLE终端数据被读的事件Overridepublic void onCharacteristicRead(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic, int status) PluseExam.recData(Utils.bytesToString(characteristic.getValue(), characteristic.getValue(), characteristic.getUuid().toString();/收到BLE终端写入数据回调Overridepublic void onCha

53、racteristicWrite(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic) PluseExam.recData(Utils.bytesToString(characteristic.getValue(), characteristic.getValue(), characteristic.getUuid().toString();接收到的数据即characteristic.getValue(),是一个字节数组(byte),是因为从蓝牙发送过来的数据是16位的,此处就由一个字节数组接收,接收得来的数据就为两个字节

54、,以方便之后的处理。UUID(Universally Unique Identifie)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。这里的characteristic.getUuid()即得到蓝牙设备的UUID值,整个应用中也是通过判断UUID值来确定是否为配套的设备12。3.2.3数据处理模块数据处理模块被设计为对接收到的数据进行一定的算法处理,并在用户选择下将接收到的所有数据以文件形式保存下来,以便之后静态观察;另一方面,将接收到的数据进行条件分析,判断波形的周期,并以此计算BPM(Beat Per Minutes)。首先,蓝牙传来的值就波形来看是上下颠倒了,故而为了波形显示将传过来的值一律取反,并转换为整型值。接着,将此整型值以追加模式写入SD卡目录下pluse_data.txt文件中,并在绘图过程中调用PluseSure()方法以计算BPM。部分代码如下:/ 从蓝牙接收数据的方法体public static void recData(String str, byte data, String uuid) if (uuid.equals(DeviceScanActivity.UUID_HERATRATE) int pluse = data1;/

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!