基于蓝牙4.0的移动健康管理平台的设计与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:haosy2966
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在科技日新月异的今天,随着生活水平的提高,人们对于自身的身体健康问题,特别是日常生活方式的关注更是日益增加。而日常生活中产生的各种身体健康数据,能够显示出人们当前的身体健康状况,若长期收集起来,就可以更好的帮助人们监测自身身体健康水平变化。该系统是一款基于蓝牙4.0技术和Android系统的移动健康管理平台,能够做到收集用户运动与睡眠等数据并存储至云端,同时以美观的可视化界面友好地展示给用户,实现对用户身体健康的监测,帮助用户养成良好的生活方式。
  关键词:蓝牙4.0;Android;REST;移动健康
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)34-0024-03
  1 背景
  随着社会的发展,大家的生活也变得越来越便利,与此同时,我们却慢慢的忽视了自身的身体健康,导致身体不断地向我们发出“警告”。但是我们却很少能及时意识到这些“警告”,当我们的身体再也承受不住的时候,往往就为时已晚了。因为现在移动电子越来越便捷,人们也越来越依赖一些移动式的设备,移动手环就是其中的一类,它用电少,便于携带,主要使用蓝牙技术作为通信协议,不需要连接互联网就可以使用,所以我们希望开发一款可以通过蓝牙通信协议与手环进行交互的app。通过蓝牙手环对我们身体状况进行监控并将相关的数据传给app,让我们仅仅通过使用手机app就能够时刻对自己的健康状况进行了解。
  我们的先解决了手环与app之间的通信问题,然后再进行服务器的搭建,并进行存储数据测试,最后处理app与服务器之间数据传输问题。
  系统全部搭建完成后,可以成功的通过手环随时查看自己已经走过的步数和自己在睡眠时的睡眠质量,了解自己是有达到每天自己要达到的运动量。
  下文将具体介绍本项目的系统架构、开发流程、测试结果以及硬件的详细参数。
  2 设计思路
  2.1 主体设计
  该管理平台主要分为两个部分:服务端和客户端。其中服务端主要使用Tomcat 8.0、MongoDB等技术存储用户的基本信息和步行与睡眠记录。客户端则是一个基于Android系统和蓝牙4.0技术的手机应用程序。
  2.2 服务端设计
  服务端参考了REST设计原则,采用RESTful架构构建API,即是RESTful API。由于用户的身体运动数据主要是根据时间段、步数、睡眠时间等结合而成的十分复杂的数据类型,所以我们选择采用MongoDB这个模式自由的数据库。
  2.3 客户端设计
  客户端通过蓝牙4.0让手机和智能手环连接起来,并且两者之间能够进行数据交互,从而手机能够获取到智能手环收集到的身体数据,智能手环也能及时收到手机的提示信息,实现一个以手机为主要节点的体域网。客户端和服务端的连接主要是通过互联网连接,即是客户端可以通过WiFi或4g网络来向服务端发送和接收数据。
  3 服务器实现
  在本平台中,服务端主要用于存储用户的基本信息,并且通过网络与客户端进行数据传输,从而使得客户端能够实现获取用户的基本信息,上传用户的运动数据,更新用户的身体信息与健康目标等功能。
  3.1 RESTful架构
  REST这一词是Roy Thomas Fielding在他2000年的博士论文中提出的,如果一个架构符合REST原则,就称它为RESTful架构。REST是Representational State Transfer的縮写,翻译过来是“表现层状态转化”,意思是网络中的资源在网络中以某种方式进行状态转换。其中资源指的是网络中的一个实体或是信息,如一张图片,一段文字等。我们可以用一个URI指向它,并且每个资源有自己单独的URI。如果们要使用某个资源,我只需要调用其URI即可。表现则是实体资源的表现方式,例如一段文字我们能够用txt格式表现出来,也可以使用xml或则html等格式表现。而网络中我们可以通过改变HTTP请求头中的相关字段来改变资源的表现形式以及资源本身的状态,即是状态转化。
  总结来说RESTful架构就是:
  1) 每一个URI代表一种资源;
  2) 客户端和服务器之间,传递这种资源的某种表现层;
  3) 客户端通过四个HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”。
  3.2 服务端功能实现
  作为RESTful Web API,通过HTTP动词对资源进行操作。比如注册用户,对用户信息施加 HTTP POST 即可完成注册。在用户登录客户端后,不需要将密码保存在客户端本地,只需保存一个Token作为标识来完成后续请求。
  本平台的用户登录是基于Token的认证机制。用户登录时,服务端接收到发送的登录请求,然后验证用户名和密码是否匹配正确。若正确,则生成一个唯一Token字符串返回给客户端,之后的请求中,客户端不必再发送用户名密码的信息,只需携带Token字符串。而服务器则需验证Token是否过期,验证成功则用户验证成功。
  由于用户的运动数据包括有时间段,步数等复杂的数据结构,所以我们选择使用对数据类型模式自由的MongoDB数据库。当客户端发起同步数据请求时,使用 HTTP PUT 方法向地址 /users/{username} 提交要更新的用户信息。服务器首先验证请求头中的Token是否合法,如果合法,则更新服务器中MongoDB数据库里对应用户的信息,并返回请求成功状态码200。否则返回请求失败码。
  如果在验证Token过程中,发现Token距离过期时间小于一天,则返回刷新过期时间的Token。对于过期的Token,在服务器数据库中存在一个黑名单,存储过期Token的唯一身份标识。在每次请求中服务器会先在黑名单中查找是否存在,如果存在则返回认证失败,提示客户端重新登录获取新的token,如果不存在则进行正常请求。   4 客户端实现
  4.1 主体部分
  4.1.1 Android系统介绍
  Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。同时由于Google公司将Android项目源代码以Apache Software License开源了出来,使得该系统迅速发展完善,成为现今两大智能手机系统之一,并且已经保持着十足的发展劲头。这也是如今智能手机如此普及的原因之一。
  4.1.2 模块功能
  本平台的移动端主要包含了3个应用模块——用户信息管理模块,计步监测模块,睡眠监测模块。
  用户信息管理模块:该模块包含了用户的注册登录操作,管理用户身体数据,制定运动目标的功能。当用户注册登录时,需要添加用户的身体数据,如身高,体重等。注册成功后会将这些数据存储到服务器端,当用戶登录后能够获取到,并且在设置界面能够随时修改基本的身体数据。
  计步检测模块:该模块包含了记录用户运动的功能。我们通过蓝牙4.0协议使得移动端和我们的智能手环进行数据交互。当我们在运动时,手环会通过算法即时记录我们运动的步数等运动信息,然后在通过蓝牙将这些运动数据传输到移动端,最后再由移动端通过网络将数据传输储存在服务端上完成用户运动数据的记录储存。储存完成后,用户也可以利用移动端来获取到自己以前的历史记录,了解相关运动健康状况。
  睡眠监测模块:该模块包含了记录用户睡眠数据的功能。在我们睡觉之前,点击移动端上的睡眠监测按钮,开始记录用户睡眠状况。结束后,和计步检测功能一样,我们也可以查看睡眠记录。
  4.2 蓝牙部分
  这是本平台中与移动端相连接的智能手环FSBand:
  手环参数表如表1所示:
  1) 蓝牙4.0协议介绍
  蓝牙是一种无线传输标准,能够实现固定设备,移动设备等相互之间短距离的数据交换。其最开始是由爱立信公司于1994年创制的,而如今由蓝牙技术联盟(Bluetooth Special Interest Group,简称SIG)管理。
  随着蓝牙技术的逐渐发展,蓝牙4.0标准出现在了大众面前。由于蓝牙4.0的出现,使得计步器,医疗器械,智能仪表等能够实现无线传输。因为蓝牙4.0最重要的特性是省电,极低的运行和待机功耗可以使一粒纽扣电池连续工作数年之久。此外,低成本和跨厂商互操作性,3毫秒低延迟、AES-128加密等诸多特色也使得蓝牙4.0协议越来越受到无线技术开发者的追捧。
  2) 数据传输实现
  蓝牙4.0通过GATT协议进行通信,它是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范,这些很短的数据段被称为属性(Attribute)。GATT的全称是Generic Attribute Profile,它定义两个 BLE 设备通过叫做Service和Characteristic的东西进行通信。GATT 就是使用了 ATT(Attribute Protocol)协议,ATT 协议把 Service, Characteristic遗迹对应的数据保存在一个查找表中,次查找表使用 16 bit ID 作为每一项的索引。一旦两个设备建立起了连接,GATT 就开始起作用了,所以必须完成GAP 协议。GAP协议(Generic Access Profile)用来控制设备连接和广播,它使蓝牙设备对其他设备可见,并决定了蓝牙设备是否可以或者怎样与合同设备进行交互。GATT 事务是建立在嵌套的Profiles, Services 和 Characteristics之上的,如图4所示:
  Service 把数据分成一个个的独立逻辑项,它包含一个或者多个 Characteristic。每个 Service 有一个 UUID 唯一标识。 UUID 有 16 bit 的,或者 128 bit 的。在 GATT 事务中的最低界别的是 Characteristic,Characteristic 是最小的逻辑数据单元,同样用一个UUID作为唯一标识,它也可能包含一个组关联的数据,例如加速度计的 X/Y/Z 三轴值。和 BLE 外设通信,主要是通过 Characteristic。可以从 Characteristic 读取数据,也可以往 Characteristic 写数据。这样就实现了双向的通信。
  5 平台测试
  本节测试主要是模拟用户正常使用情况,以此来测试服务端、客户端以及智能手环之间数据传输的具体情况。
  5.1 注册登录
  用户第一次使用客户端时需要注册一个新的账号,同时添加其身体数据、运动目标的信息。然后使用账号登录我们的客户端,之后产生的运动数据信息是基于账号来存储在后端服务器中的。
  5.2 日常记录
  正常登录客户端后,我们的智能手环就可以通过蓝牙4.0与手机相连接,保持数据的交换。在用户运动的过程中,智能手环利用自身的传感器获取到的数据,根据相关的算法数据化出用户运动情况。之后再通过蓝牙将运动数据传输到手机客户端。手机接收到数据后,就会将数据通过互联网传输到云端的服务器中存储。
  5.3 修改数据
  我们的身体数据,以及运动目标总是会变化的,所以这些数据时支持修改的。在设置界面,可以选择点击个人信息(修改运动目标时点击目标栏下的相关选项),进入相关界面后根据情况修改数据,最后点击保存并更新。
  6 结束语
  本平台利用蓝牙4.0技术实现无线体域网收集身体健康数据,并将智能手机作为其中的核心节点,通过WiFi或4G等网络将数据数据传输至云端服务器中并存储。而且随着智能手环技术水平的提高,我们能够检测到的健康数据类型也会越来越多,这时我们只需要修改客户端中数据上传部分的代码即可,无需修改服务端中数据库的数据结构,拓展性良好。用户使用该平台能够随时查看其过去身体健康数据,以到达检测自身身体状况的效果。
  参考文献:
  [1] Android (operating system) [EB/OL]. [2017-09-20].https://en.wikipedia.org/wiki/Android_(operating_system)#Market_share
  [2] 阮一峰, 理解RESTful架构 [EB/OL]. [2017-09-23].http://www.ruanyifeng.com/blog/2011/09/restful.html.
  [3] Race604, GATT Profile 简介 [EB/OL]. [2017-09-26].https://race604.com/gatt-profile-intro/.
  [4] 郭霖. 第一行代码[M]. 北京: 人民邮电出版社, 2014.
其他文献
<正>~~
期刊
以碘量法测定粗铜中的铜(YS/T 521.1-2009)质量分数为例,对测量结果进行不确定度评定。测量结果的不确定度的主要来源包括:称样质量、标准溶液的配制、标准滴定液的标定及样品测
洁白的雪花纷纷扬扬,北风吹着口哨,有点张狂,小桥上谁在走来走去,徐徐飘动的红围巾格外鲜亮。啊,是你吗,是你吗?留守的姑娘,雪花演播的情景让我热泪盈眶,回家吧,回家吧,你轻轻呼唤,幸福的
根据《音乐课程标准》的要求,进行,音乐课程改革需要适当引入乡土音乐,这有助于提升本民族的文化认同感。高校作为音乐人才培养的重要殿堂,在其特色音乐教学中,引入乡土歌曲等音乐
运用变压器的经济运行理论,分析探讨了企业变配电变压器经济运行的问题。
分析了影响厚板坯连铸机结晶器寿命的主要影响因素,并采取了有效的解决措施,使结晶器使用寿命得到了有效的提高。
摘要:该文介绍了信息系统被攻击的常见手段,并提出了防范措施,促使工作人员提高防范意识。  关键词:互联网;信息系统;攻击;防范  中图分类号:TP393  文献标识码:A  文章编号:1009-3044(2017)10-0038-02  1.引言  随着互联网的兴起和发展,互联网已经渗透每个人的生活的方方面面,利用互联网信息系统提高企业单位的工作效率和管理水平开始变得普遍。越来越多的小型企业单位架
摘要:该文介绍了SQL Server数据库中事务的概念及分类,以及事务处理的必要性。并举例探讨了在SQL Server数据库中如何使用事务,介绍了在Java中利用JDBC进行事务处理的方法。  关键词:数据库;事务处理;数据一致性  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)18-0023-02  随着计算机技术的飞速发展,数据库技术在实际生活中得到了广泛的应
矿产资源是国家重要的自然资源,矿产资源的开发利用有力地支持了各项生产建设。随着我国矿业的稳步发展,矿山地质环境问题越来越受到社会各界的关注。本文通过地质环境背景、