基于伽利略的心跳采集系统
扫描二维码
随时随地手机看文章
1 介绍
本文介绍了心率检测系统。本系统包括硬件模块和软件模块。硬件模块负责了心跳信息的收集、处理和发送;软件模块即为运行于Android平台上的客户端,用以接收硬件模块发送数据,并记录和显示,它的另一项重要功能就是判断使用者是否在做有氧运动。软硬件系统利用蓝牙相互通信。
整套系统可以在两种运行模式下工作:全功能模式和低功耗模式。这两个模式的切换可以在客户端上控制。在全功能模式下,系统把收集到的心跳数据加以分析,得出心率信息,然后把心率信息和心跳波形数据通过蓝牙发送给客户端,客户端接收到这些数据后一方面把心率信息显示出来,另一方面把心跳波形显示在客户端的界面上;在低功耗模式下,系统停止心跳数据的传送,在客户端上不需要处理心跳波形数据,从而使得系统的数据传输量降低,也减轻了系统的运算负担,这样系统达到我们需求的同时,可以更加省电。
2 系统构建
图1是我们的整个系统,图4为伽利略开发板,图2的模块是pulse sensor 心率传感器,图5是蓝牙模块HC-06,图1试运行在英特尔架构的安卓平台上的客户端。pulse sensor通过收集人的心跳波形,然后传给伽利略开发板进行处理,提取出心跳波形中包含的心率信息,通过蓝牙模块发送给安装有我们客户端的智能手机。客户端名字为:Hsport(healthy sport),它接收硬件平台发送的数据,然后把心跳波形显示于界面上得到一个区域内,把心率信息也显示出来,另外客户端还通过分析传过来的心率信息,判断用户是否在做有氧运动,并给用户相应的提醒。
3 原理分析
3.1 硬件模块
3.1.1 件需求
(1)pulse sensor
pulse sensor 是利用光容积法获取人体的心跳信息的,主要是在人体的指尖或者耳垂上检测,这个是光容积法的一个局限之一,但是它精确快速和人体没有直接的接触。pulse sensor是一款开源硬件,原本是利用在Arduino开源平台上的,如果和Arduino配套使用,官方会提供可以直接利用的源代码、运行于多种平台上的客户端(Windows,Linux, Mac)。pulse sensor 只有一根信号线,从信号线以模拟信号的形式传出采集到的心跳波形。
3.1.2 Intel Galileo
Intel Galileo是Intel专为移动电子开发提供给的开发板,在硬件接口上兼容Arduino。Galileo搭载Quark SoC X1000处理器, Quark 系列的处理器强大,微型并且低功耗、可用于互联网和可穿戴设备等未来广阔的电子领域中,它功能非常强大是32位单核单线程的奔腾结构的处理器,最高速度为400Mhz。
3.1.3 蓝牙模块HC-06
我们选择的是HC-06蓝牙从机模块,支持蓝牙2.0协议。蓝牙模块可以和任何拥有蓝牙功能的设备连接通信。我们用它来和运行客户端的手机进行通信。
3.2 硬件运行机制
利用上述的三大模块,我们可以构建出如图6的硬件系统。
pulse sensor 采集心率信息 送入Galileo平台上,然后Galileo平台对心跳波形进行处理,通过蓝牙模块给客户端。蓝牙模块通过UART串口控制。Galileo处理的关键点就是计算两个相邻的心跳脉冲之间的间隔时间,利用这个间隔时间来计算每分钟的心跳次数(心率),我们利用MATLAB辅助工具来模拟和验证我们的算法。具体如图7所示。
首先对pulse sensor传进来的信号进行采样上图绿色波形即为经过采样的心跳信号,然后通过和一个阈值比较,如果心跳强度值超过阈值,则强行置1,否则置0,所以绿色波形转变为蓝色的矩形波,我们再对矩形波的上升沿探测,标记处上升沿的时间,图8中为红点标出上升沿,通过计算红色点之间的时间间隔,就可以计算出心率了,实际上我们可以利用心跳波形的最大点进行时间标记的,但是两者的结果都是一样的。
4 软件模块
客户端为Android平台上的应用程序,可以运行于x86架构的Android平台,也可以运行于基于ARM的Android平台。前面提到过,客户端的功能是接收硬件平台的数据,经过处理后表现在界面上,并且从用户的心率信息判断用户是否在做有氧运动,给相应的提醒。
4.1 界面设计
客户端分为:注册界面、系统介绍界面、登陆界面,主界面、蓝牙设备选择界面和设置界面。
主界面有连接按钮,波形显示区(灰色部分)、心率区(青色部分)、有氧运动提示区(粉红色部分)。
设置界面通过设置是否显示波形控制系统的工作模式(全功能或者低功耗模式),并可以调整年龄,记录有氧运功时间,设置波形密度等。
4.2 运行机制
在界面介绍中的图9为运行于全功能模式下的情形,它也表现了用于并未处于有氧运动。图8为低功耗模式下,波形停止显示,也表现了用户在有氧运动,底部的一片区域变为绿色,手机周期性发出声音并震动。这个数据之所以是71,是因为我们在设置界面吧年龄设置得比较高,因此心率很低时就被判定为出于有氧运动。
有氧运动判别法:进行体育运动时,当心率达到最大心率的50%-90%,就可认定是在进行有氧运动 。最大心率=220-年龄。