【原创深度】创建可穿戴心率监测器(二)

作者:Joseph Downing, 贸泽电子

“”

开发心率监测器

使用Mbed

如果你已经拥有Mbed账号,使用贸泽提供的 HRM Mbed代码仓并将其中的代码导入到你的编译器。

对于新手用户:

1、访问Mbed.org网站

2、点击Mbed OS链接会转到开发者页面

3、点击“Log in/Sign up”,输入相关信息进行登录/注册

一旦注册你可以选择高亮的“Compiler”链接来开始一个新的项目或者访问Mouser HRM Mbed repository链接将其中的代码导入你的编译器。通过点击编译器右上角的按钮你可以进行选择、查看、添加或者改变相应的目标平台。在Mbed你会发现其他几种Maxim产品和软件示例也是有支持的。

连接开发板卡和参考设计

将MAX32630FTHR和MAXREFDES117连接起来只需要很少的连接线,使用面包板会更加的简单,为此请遵循如下步骤:

1、将心率传感器的SCL和SDA管脚连接到MAX32630FTHR的P3_5和P3_4管脚,将INT管脚连接到P3_0(图3)

2、心率传感器的VIN输入范围在2.5到5.5V之间,我建议从3.3V或电池的SYS管脚引入电源,在尝试使用5V时我已经遇到了多个问题。

3、连接地线

“图3:Maxim
图3:Maxim MAX32630FTHR#手册中提供的管脚说明

对开发板卡进行编程

对开发板卡进行编程就像将文件从一个文件夹拖放到另一个文件夹那样简单,当你将代码上传到板卡时,MAX32630FTHR模块还提供了调试接口。

我们按如下步骤开始:

1、用10-Pin的连接器将接口板卡与MAX32630FTHR相连接,尤其要注意Pin1管脚。

2、将标记有HDK的USB接口连接到PC的USB端口上,此时会自动安装驱动,根据你使用的DAPLINK模块的不同,它可能有多个接口或者只有一个接口(见图4或图5),当驱动程序完成安装后,在电脑文件资源管理器中会显示标记为DAPLINK的新驱动器。

3、采用micro USB或者JST电源连接器为MAX32630FTHR模块提供电源。

“图4:多个输入接口的DAPLINK模块”
图4:多个输入接口的DAPLINK模块

“图5:只有单个输入口的DAPLINK模块”
图5:只有单个输入口的DAPLINK模块

一旦你建立了与开发板卡的连接和接口,你就需要编译代码生成.bin文件,然后将其下载到MAX32630FTHR中,Mbed编译器操作如下:

1、点击“编译”或者使用下拉菜单选择你的操作。一段时间后就会在Downloads文件下就会生成.bin文件。

2、打开Downloads文件夹找到.bin文件

3、打开一个新的资源管理器窗口,在这个窗口内你会看到一个新的DAPLINK驱动器的盘符,这就是开板卡的接口

4、将新创建.bin文件拖动或者复制到DAPLINK驱动器上,这是就会开始向开发板下载程序

当我们在下载程序过程中,DAPLINK板卡上的LED灯应该会快速的闪烁,完成后LED灯会熄灭或者保持缓慢且稳定的闪烁

5、按下MAX32630FTHR上的复位按钮重新启动执行新下载的程序

板卡复位时,板卡上红色的LED灯会亮起并且保持稳定。

云服务

登录后你会发现打开的是控制面板(Dashboard)页面,有很多选项供你选择,比如查看所有的设备、查看可用的事件、查看个人文件、查看账户有多少信用值。需要注意的是对于任何项目来说有些内容是必需的,比如API token、设备和变量ID。

查看API Tokens

想要查看API tokens,需要在页面的右上方点击“Profile”按钮,然后选择“API Credentials”,此时会在左侧下拉菜单显示所有的API token信息,对于每个用户API token都是唯一的,这是在创建账户时生成的,这是为了防止你设备的数据发送给错误的账户。

添加设备

当添加变量时会为每个新的设备创建变量ID,首先我们从添加设备开始:

1、确认你在“设备页面”(图6)
2、点击页面右上角的黄色的圆圈(内有加号)
3、给设备重命名,从“My Data Source”改为任何你想要的名字
4、点击页面的任意位置完成设备的添加,此时会弹出一个对话框提示创建成功

“图6:从“设备”页面开始”
图6:从“设备”页面开始

这个“设备”代表你的一个项目,一个账号下支持多个项目。“变量ID”用来帮助每个设备来识别特定的传感器、数据输入源以及所处的位置。这有利于我们维护多个项目和以及独立的或者共享的传感器设备。

创建变量ID

创建变量ID与创建设备非常的类似:

1、点击“新建设备”按钮,这时会打开此设备的详细页面,允许我们创建个人的变量

2、点击页面右上方的黄色圆圈(内有加号标记)创建新的变量

3、对变量进行重命名

4、点击页面的任何位置,会弹出一个对话框表明你成功创建了ID

点击这个新的按钮会弹出“创建变量”页面(图7),在左侧会显示多条信息,你可以编辑左侧中大部分信息,其中包括API标签、允许的范围、测量单位和相似度(重要的一项就是ID,它用来标识你的程序应该放在的位置)。

“图7:Ubidots
图7:Ubidots “变量”显示

我强烈建议大家查看教程文档,当鼠标放在“Profile”按钮上时会有下拉菜单,其中就包括指导手册。文档中提供了非常多的信息和主题,涉及MQTT、HTTP API接口等物联网应用技术。

Android Studio软件

我们需要向的接口才能将数据从Maxim板卡和传感器传输到云服务,这可以借助移动设备(比如平板电脑、智能手机)来完成。对于这个项目我们采用的是安卓框架,使用Android Studio创建App应用,并将心率传感器采集的数据进行可视化处理。

为了节省时间,我使用“BluetoothLeGatt”这个示例进行演示,这个应用我们可以浏览可用的蓝牙设备,连接这些设备并且查看有哪些有用的资源。这对于创建自己的蓝牙应用有非常好的借鉴作用(如果你选择设计相关应用的话)。Ubidots同样提供了相关文档来说明如何使用App连接和发送数据到云服务,我建议大家查看API token和变量token相关的说明。

导入代码

1、从Mouser的Gihub上下载BLEHR.7z文件,这对于导入Android Studio是必需的。由于文件大小的限制,这个项目的源代码被分为两部分,你需要将它们分别进行解压。

2、通过在启动界面点击“打开已存在的Android Studio项目”或者点击“文件”菜单就可以将代码导入Android Studio,下面你可以看到我如何改变和实现Ubidots API接口的(图8)

(注:在编译程序前修改token密钥,前面已经提到过了,如果编译前没有进行修改,你的数据将不会显示在Ubidots上)

“图8:安卓Studio
图8:安卓Studio Ubidots API token代码

编译App

为了测试和调试代码,你可以进行如下操作:

● 编译应用程序并下载到开发板卡中,如果你不想在更新API和变量token后修改代码可以此方法

● 使用“开发者模式”,这种方式支持USB调试,你可以将你的手机或者平板电脑作为虚拟测试平台,将其与你的开发PC进行连接,借助网络搜索或者Android Studio的教程你可以找到如何进入“开发者模式”的说明。

如果你决定使用一个设备作为开发工具,那么只需要点击菜单栏的“Run”按钮,然后选择你的设备开发编译和运行App。一旦加载完成应用程序就会在你选择的设备上运行起来。(注:你不可以在虚拟设备上运行这个应用,因为虚拟设备不支持蓝牙)

如果你打算进行安装调试,你需要先编译程序,选择“Build”然后是“Build APK(s)”,这会创建一个新的文件,你可将其拷贝到你选择设备上进行安装。

虽然如果你不打算对软件进行更改,那么安装应用程序是一个很好的选择,但是我建议选择一个设备作为测试平台。在“USB调试模式”下你可以进行更新、重编译、重复执行代码,这对于编程和调试非常有用。

进行系统组装

当你完成程序的加载并且启动后,在界面的右上方你会看到“Scan”按钮,点击它可以扫描查看附近范围内所有蓝牙设备,如果你对MAX32630FTHR和MAXREFDES117进行了正确的连接和编程,当设备启动后在设备列表中你会看到一个标有HRM的设备。

准备好查看结果了吗?

1、确保启动了位置访问权限,如果你不确定此选项的位置,请参阅设备的在线帮助或者文档
2、选择HRM打开一个新的窗口,你会看到一些数据:设备地址、当前状态、数据输出
3、点击右上方的“连接”按钮允许连接到这个设备,在下拉菜单中你可以查看对应的服务列表
4、最后选择“心率测量”,你会看到界面上开始显示数据(图9)

“图9:当你选择“心率测量”选项时,你就会看到屏幕上显示数据”
图9:当你选择“心率测量”选项时,你就会看到屏幕上显示数据

如果你更新了代码,包括正确的API和变量token,那么你现在应该能够登录你的Ubidots账户查看该设备上传的数据,点击“设备”选项。

现在你可以创建一个控制面板,根据你的要求可以按照不同的格式来查看数据信息(图10)。Ubidots最近推出了一个beta版本的Android App,你可以选择在智能手机或者平板电脑上进行安装来查看你的设备和数据(图11)。

“图10:Ubidots安卓应用控制面板”
图10:Ubidots安卓应用控制面板

“图11:Ubidots网页控制面板”
图11:Ubidots网页控制面板

总结

可穿戴设备是非常有用的工具,它可以为我们的日常生活添加很多的便利。这些设备能够提供给用户各种反馈数据,比如睡眠质量、最大摄氧量(VO2)、运动水平、步行和跑步节奏等数据。此外,它们还可以帮助你监测你的健康情况,并且可以将你的信息(比如每日血压、血糖水平)发动给医疗机构进行沟通。

设计可穿戴设备需要添加外围设备来进行感应、显示、存储和检索数据,Pegasus Rapid开发平台集成了关键的外设设备,大大简化了系统开发,700-MAXREFDES117#心率监测器参考设计也可以提供直接的借鉴作用。Mbed OS、Ubidots和Android Studio软件分别针对基于云编程、云服务和云接口等技术进行了完善。

运行的怎么样?把你的情况告诉我们!你可以在FacebookTwitterLinkedInInstagramGoogle+上将你的项目和想法分享给我们。

关于作者

Joseph Downing已经在贸泽电子(Mouser Electronics)工作了六年时间,在2011年他作为技术支持专家加入公司,后台转为技术内容专家。Joseph在电子行业有20多年的从业经验,曾在很多公司任职,比如Intel、Radisys和Planar等。作为一名极客,Joseph帮助管理Mouser.com的应用和技术网站,并且为这些站点和贸易展览会提供技术项目和材料支持。

相关阅读:
【原创深度】创建可穿戴心率监测器(一)

原文链接:https://www.mouser.com/applications/creating-a-wearable-heart-rate-monitor/

该发布文章为独家原创文章,转载请注明来源。对于未经许可的复制和不符合要求的转载我们将保留依法追究法律责任的权利。

最新文章