智能手环系统的设计与实现
2017-04-17马旭平蔡嘉豪阴昱为丁尚甦
马旭平 蔡嘉豪 阴昱为 丁尚甦
摘要:如今,健康及智能医疗是社会关注的热点问题。对此,该文提出了一种智能手环系统的设计与实现,主要用于检测心率与运动量。首先,介绍了手环用到的主要技术,包括光电容积脉搏波描记法与加速度监测技术;然后,介绍手环、手机客户端以及后台服务器三个方面的设计,包括硬件设计、数据的传输与处理以及后台数据库的设计;最后,通过一个设计实例来说明该系统的可行性。在此基础上对该方案做了总结,指出了系统的未来发展方向。
关键词:智能手环系统;光电容积脉搏波描记法;智能医疗
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)36-0098-05
Design and Implementation of Smart Band System
MA Xu-ping, CAI Jia-hao, YIN Yu-wei, DING Shang-su
(School of Computer Science, Beijing Information Science and Technology University, Beijing 100101, China)
Abstract: Nowadays, health and intelligent medical are hotspot of the society. According to this, here puts forward a design and implementation of smart band system, focus on measuring the heart rate and the sports situation. The first part is about the main technics which are used, including the Photo Plethysmography and acceleration measure; then the second part is the introduction about design of band, the telephone client and the backend server including the design of hardware, client and database, and how to process the data; in the end an instance is used to prove the practicability of the system. Based on this, a conclusion is drawn, and the future direction is put forward.
Key words: Smart band; Photo Plethysmography; intelligent medical
隨着国内经济的发展、社会的进步和人民生活水平的提高,人们的生活节奏日益加快、工作压力越来越大,尤其是工作中的年轻人,普遍存在亚健康现象。我国已进入老龄化社会,据统计,2015年中国60岁以上老人2.22亿,占总人口16.1%;据预测,21世纪中叶老年人口数量将达到峰值,超过4亿[1]。其中,很多老人缺乏必要的日常监护,对自己的身体状况没有一个清醒的认识。
针对以上的现象,我们设计并实现了一个基于光电容积脉搏波描记法的手环系统,该系统能有效监控佩戴者的几项生命体征,如心率、运动量,并利用这些数据进行有效分析,从而将佩戴者的基本身体情况反映出来。
重要的是,随着传感器的发展,手环的功能将可以被设计得越来越强大,能检测更多的生命体征,从而反映出更全面的身体情况。
1 技术简介
本方案涉及到技术包括光电容积脉搏波描记法与加速度检测技术等,以下主要介绍以上两种技术。
1.1 光电容积脉搏波描记法
光电容积脉搏波描记法(Photo Plethysmo Graphy,下文简称PPG)是借助光电手段在活体组织中检测血液容积变化的一种无创检测方法[2]。
当一定波长的光束照射到指端皮肤表面时,光束将通过透射或反射方式传送到光电探测器,在此过程中该光束将会被皮肤肌肉和血液部分吸收,检测器检测到的光强度将减弱,其中皮肤肌肉、组织等对光的吸收系数是恒定不变的,只会对光电信号中的直流分量大小发生影响,而皮肤内的血液容积在心脏作用下呈周期性变化,当心脏收缩时外周血容量最多,光吸收量也最大,检测到的光强度最小;而在心脏舒张时,正好相反,检测到的光强度最大,故光接收器接收到的光强度随之呈周期性变化,将此光强度变化信号转换成电信号,便可获得容积脉搏血流的变化。
在各种心率传感器中,获取心率信息的方式往往如图1所示。
传感器中内置一个LED光源,将一束光打到皮肤上,皮肤作为一种吸收介质,将会吸收一部分光能。因此,传感器可以通过检测皮肤反射光的强度来判断是否产生了一次心跳。
1.2 加速度监测技术
手环采用三轴加速度传感器来检测自身的加速度。三轴加速度传感器中置有一感应芯片,在其加速的过程中如晃动、跌落、上升、下降等,惯性力的变化会引起电压的变化,并通过内部的ADC(Analog-to-digital converter,模拟数字转换器)给出量化后的数值。
在实际测量过程中,要得到能利用的数据,必须使用滤波来抑制噪声问题。一般三轴加速度传感器自身已嵌入电子滤波器,但通常还会使用数字滤波器对输出的数字信号进行进一步运算和处理,加强降噪效果,从而得到设计要求的高质量数据。
2 智能手环系统的设计
本方案的設计主要包括手环的硬件设计、手机客户端以及后台服务器的设计三个方面。
2.1 总体流程
本方案中智能手环系统的结构如图3所示:
本方案中智能手环系统的工作流程如图4所示。
通过佩戴手环,可实时监测佩戴者生命体征数据,将所得数据进行滤波及相应算法处理后,每60s通过蓝牙向手机发送一次数据,使手环与手机客户端的数据同步。
生命体征数据具有较大价值,可按需存储在手机客户端或后台服务器。手机客户端可存储近期监测数据,进行近期基本数据分析,如步数统计、卡路里消耗统计、平均心率统计;服务器端存储长期监测数据,进行全面、彻底的分析,并将分析的结果反馈到手机客户端呈现给佩戴者。
2.2 手环设计
手环的设计主要包括:手环功能设计;手环硬件设计;数据处理方案设计;数据传输方案的设计。
下面将分别从这四个方面来介绍。
2.2.1 手环功能设计
智能手环的主要功能如图5所示。
其中,运动计步、睡眠监测及久坐提醒功能基于三轴加速度传感器,通过对手环加速度的检测来判断佩戴者的运动情况;心率监测功能基于心率传感器,可以检测佩戴者的实时心率。下面就将对上述两种传感器及手环的硬件设计做介绍。
2.2.2 手环硬件设计
手环的设计方案总体如下:
2.2.3 运动数据采集与处理
佩戴者运动数据实时监测数据采集通过LIS3DH芯片完成。选用LIS3DH芯片主要基于以下三点:
2.2.4 心率数据的采集与处理
佩戴者心率数据实时监测数据采集基于松恩电子有限公司生产的son1303心率传感器芯片完成,芯片采用了光电容积脉搏波描记法,使用的是570nm发光波长的绿光,测量感度更高,配合son3130四运放可以直接输出方波信号,如图8中上方的方波所示,图8中下方的波形是经过算法处理后得到的心率波。
2.2.5 数据传输与交互
手环通过BLE4.0(Bluetooth Low Energy4.0)与手机进行实时通信。BLE由蓝牙技术联盟(Bluetooth Special Interest Group)设计,旨在为健康医疗、安全设备等提供更好的服务。
本方案中选择使用BLE4.0,BLE需运行在Android4.3以上版本。手机客户端可以搜索设备、建立连接并进行交互。
相比传统的蓝牙技术,BLE能够在通信范围几乎不变的情况下,保障数据准确、高效、安全的无线传输,同时大大降低手环的耗电量。
2.3 手机客户端设计
手机客户端的设计主要涉及:功能设计;与后台服务器的数据传输方案设计;数据展示方案设计。
下面将分别从以上三个方面来介绍。
2.3.1 手机客户端功能设计
该系统的手机客户端,遵循MVC架构,单元测试覆盖率高,其具体功能如图9所示。
2.3.2 与后台服务器的数据传输方案设计
数据传输采用了Json格式。Json是一种轻量级的数据交换语言,被广泛运用在数据传输领域。在传输过程中,Json中的关键数据,如用户密码等,要防止被攻击者获取,在这里采用了MD5加密技术,由于MD5算法的不可逆性,经加密后的用户密码,即使有人采用不正当手段截获了该数据包,也很难对其进行解密。并且,为了防止哈希碰撞等攻击,在传输之前用户密码会经过加盐的双重MD5加密,大大提高了数据传输的安全性。
2.3.3 数据展示方案设计
数据的展示主要通过折线统计图的方式来表达。
其中:
l 心率数据的统计图横轴为时间,单位为1小时,纵轴为1小时内平均心率;每天的心率情况作为一张图;保留最近7天的心率情况。
l 运动数据的统计图横轴为时间,单位为1天,纵轴为当天累计步数;每周的运动情况作为一张图;保留最近一个月的运动情况。
2.4 后台服务器设计
后台的设计主要考虑API的设计,数据库的设计。
2.4.1 后台概述
后台系统搭建在云服务器上,操作系统采用Ubuntu12.04,后端API采用Django1.9作为框架搭建,数据库则是采用了MySQL5.6。
2.4.2 API的设计
后台服务器API的搭建主要采用了Django框架。Django是用Python编写的一个著名的Web框架,采用了MVC的软件设计模式。手机客户端访问后台服务器API后得到对应的Json数据,解析后便能得到服务器分析的结果。访问部分API返回的数据包如下所示:
为了提高数据库的响应速度,后台使用Django实现了一个MySQL的连接池,连接池中共有10个数据库连接,用于减轻数据库的压力。
2.4.3 数据库设计
数据库采用了MySQL5.6,以下讲的是后台服务器上的数据库,其数据库中主要表的概念设计如下图所示。
在用户表中,选用帐号作为主键,而在其他三张表中,均采用“帐号+时间”作为复合主键,提高查询速度。
3 智能手环系统设计实例
本实例以LIS3DH芯片采集到的运动数据为例,说明本系统如何获取数据、处理数据以及如何将分析数据的结果反馈给用户。
3.1 手环端
本实例中通过LIS3DH加速度传感器来采集运动数据,通过nRF51822开发板的蓝牙功能来传输数据。开发板如图12所示。
得到LIS3DH采集的运动数据后,还需要通过卡尔曼滤波对数据进行处理,处理后的运动数据如图11所示。
3.2 手机客户端
手机客户端将最近一周的运动情况绘制成折线统计图展现给用户。该折线统计图可以左右滑动,查看近一个月来每一天的步数情况。图13是佩戴手环一星期后得到的数据绘制成的图。
3.3 后台服务器
手机客户端中的数据会每天同步到后台服务器的数据库中,该数据库将长期存储用户的运动数据,具体结果如图14所示。
4 结束语
本文阐述了一个基本的智能手环系统的实现,从手环端到手机端再到服务器端,构建了
一个完整的框架。随着智能硬件的发展,将来可以在此框架上增加更多的功能,手环端可以增加更多的智能硬件,如测量血压的硬件。同时,随着大数据与人工智能时代的来临,可以对后台服务器上海量的健康数据做详尽的统计与分析,从而对用户的健康状况做出更精准的反馈,加速智能医疗时代的进程。
参考文献:
[1] “互联网+”孕育消费养老模式[EB/OL].http://news.china.com.cn/cndg/2016-09/27/content_39380588.htm.
[2] 陈斌.光电容积脉搏波描记法原理、应用及其电路设计[J]. 电子技术与软件工程, 2014(18):132-133.
[3] 卡尔曼滤波[EB/OL].https://zh.wikipedia.org/wiki/%E5%8D%A1%E5%B0%94%E6%9B%BC%E6%BB%A4%E6%B3%A2.