近年来可穿戴设备在多个市场呈现爆炸性增长,这很大程度上是因为它们提供的便利性以及大量的相关信息。运动跟踪器(比如三星的Gear Fit 2)、医疗设备(比如Qardio®Arm血压剂)以及Under Armor(安德玛公司)推出的UA SpeedForm® Gemini 3智能跑鞋就是其中一些例子。这些设备能够为用户提供各种反馈信息,包括睡眠质量、VO2水平、运动水平、步行和跑步节奏等数据点。
设计可穿戴设备需要添加外围设备来感应和显示各类数据,同时需要在云端存储和检索数据。本项目采用Maxim Integrated™(美信公司)推出的Pegasus Rapid开发平台,开发板上以及Maxim的700-MAXREFDES117#心率监测器参考设计中集成了关键的外围设备,大大简化了开发流程。此外我们还采用了Mbed操作系统用于云编程,Ubidots用于提供云服务以及Android Studio软件来实现云接口。
如果你是一名设计师(或“DIY爱好者”),这些集成的功能部件、参考设计和云编程工具会让你在起跑线上领先一步。下面的内容标注了必需的项目材料、帮助你为设备编程、组装开发板、编译和下载安卓App、将数据传输到云服务。
我们建议在开始此项目前准备好以下材料和资源:
在Mouser.com官网上查看该项目的BOM ,包括下列各种组件:
这是一个高级开发项目,主要面向有编程和焊接经验的工程师和DIY爱好者,设计这个项目我们采用了如下技术:
驱动这个项目的是Maxim公司新推出的MAX32630FTHR Pegasus开发平台(图1)。这个平台搭载MAX32630 Arm® Cortex® M4F微控制器以及MAX14690 PMIC电池充电管理器件,能协助工程师快速设计原型。这个功能丰富的开发板包含多个集成外设,比如加速度计/陀螺仪、双模蓝牙以及SPI、I²C、UART、66 个GPIO接口等。MAX32630FTHR小巧的外观尺寸与几款现成的扩展板以及标准面包板相兼容,这带来了无限的可能性。如果你对某些选项好奇,我们提供了扩展外设的介绍链接。
图1:Maxim MAX32630FTHR# Pegasus开发平台集成了Arm® Cortex® M4F微控制器和PMIC电源管理器件
Maxim广受欢迎的MAXREFDES117# 心率模块参考设计(图2)非常的小巧,它集成了Maxim MAX30102 心率/脉搏、血氧传感器、MAX1921 降压型DC/DC转换器以及MAX14595 逻辑电平转换器。这种多功能设计可以用于Arduino和Mbed平台实现快速集成。示例固件就适合这两种平台,给用户提供了非常基本的算法,用来确定心率、SpO²等参数,帮助他们快速实现原型设计。
图2:Maxim广受欢迎的MAXREFDES117# 心率模块参考设计外型小巧,集成了脉搏/血氧传感器、降压型DC-DC转换器以及逻辑电平转换器
Mbed OS提供了一个方便的云编程工具,有助于简化和加速创建物联网 (IoT) 平台。Mbed提供的工具可帮助实现代码协作、提交和发布软件,同时帮助维护详细的修订历史记录。使用Mbed非常简单,创建帐号、查找并选择期望使用的硬件即可。如果你已经拥有了帐号,就可以去Mbed代码库将提供的代码导入你的编译器从而开始你的项目。
Ubidots为所有想要开展IoT或云项目的开发人员提供了很好的起点。除了有多种开发平台的教程外,Ubidots还提供了有关在服务和Android Studio中创建的安卓App之间搭建接口的教程。信用系统能够让你以简单经济的方式开发和维护你的项目,并且提供了多种用来获得更多信用值的方法。
你需要相应的接口将数据从Maxim开发板和传感器传输到云端,这可以通过一个移动设备(比如平板电脑或智能手机)来实现。对于这个项目,我们使用的是安卓框架,并且借助Android Studio来创建App,用来显示传感器提供的信息。
如果你已经拥有Mbed帐号,可使用贸泽HRM Mbed代码库并将其中的代码导入到你的编译器。
对于新手用户:
注册后你可以选择高亮显示的“Compiler”链接来开始新项目,或者访问Mouser HRM Mbed代码库链接将其中的代码导入你的编译器。通过点击编译器右上角的按钮你可以选择、查看、添加或者更改目标平台。你会发现其他几种Maxim产品和软件示例在Mbed中也是支持的。
将MAX32630FTHR和MAXREFDES117连接起来只需要很少的连接线,使用面包板会更加简单,为此请遵循如下步骤:
图3:Maxim MAX32630FTHR#数据手册中提供的引脚布局
对开发板进行编程就像将文件从一个文件夹拖放到另一个文件夹那样简单。MAX32630FTHR模块还提供了调试接口,用于将代码上传到开发板。
我们按如下步骤开始:
图4:具有多个输入接口的DAPLINK
图5:只有一个输入接口的DAPLINK
一旦与开发板建立了连接,你就需要编译代码来生成对MAX32630FTHR进行编程所需的.bin文件。从Mbed编译器屏幕上的工具栏:
在编程时,DAPLINK板上的LED灯应该会快速闪烁,完成后LED灯会熄灭或者保持缓慢而稳定的闪烁。
MAX32630FTHR板复位后,两个板上的红色LED灯都会亮起并且保持稳定。
登录后你会发现打开的是控制面板 (Dashboard) 页面,有很多选项供你选择,比如查看所创建的设备、查看可用的事件、查看个人配置文件、查看你的账户有多少信用值。需要注意的是,对于任何项目来说有些内容都是必需的,比如API token、设备和变量ID。
想要查看API token,需要在页面的右上方点击“Profile”图标,然后选择“API Credentials”,此时会在左侧下拉菜单显示所有的API token信息。对于每个用户来说,API token都是唯一的,这是在创建账户时生成的,是为了防止你设备上的数据发送给错误的账户。
在添加变量时会为每个新设备创建变量ID,首先我们从添加设备开始:
图6:从“Devices”页面开始
“设备”代表你的项目,一个帐号下支持多个项目。“变量ID”用来帮助每个设备来识别特定的传感器、数据输入源以及所处的位置。这有利于我们维护多个项目以及独立的传感器或设备间共享的传感器。
创建变量ID与创建设备非常的相似:
点击这个新的图标会弹出“Created Variable”页面(图7),在左侧会显示多条信息。你可以编辑左侧大部分信息,其中包括API标签、允许的范围、测量单位和相似度(重要的一项就是ID,它用来标识你的程序数据应该放在的位置)。
图7:Ubidots的“Variable”页面
我强烈建议大家查看教程文档,当鼠标放在“Profile”图标上时会出现下拉菜单,其中就包含教程文档。这些文档提供了非常有用的信息,涉及MQTT、HTTP API接口和其他物联网设备等主题。
我们需要接口才能将数据从Maxim开发板和传感器传输到云端。这可以借助平板电脑、智能手机之类的移动设备来完成。对于这个项目我们采用的是安卓框架,使用Android Studio创建App,并显示心率传感器提供的数据。
为了节省时间,我使用BluetoothLeGatt这个示例App进行演示。通过这个应用,我们可以浏览可用的蓝牙设备,连接这些设备并查看有哪些可用的资源。这对于创建自己的蓝牙应用有非常好的借鉴作用(如果你选择设计相关应用的话)。Ubidots还提供了相关教程来说明如何通过App连接和发送数据到云服务,我建议大家查看API token和变量token的相关说明。
(注意:请按照前面的说明,在编译程序前修改token密钥。如果编译前没有更新该密钥,你的数据将不会显示在Ubidots上。)
图8:Android Studio Ubidots API token代码
为了测试和调试代码,你可以进行如下操作:
如果你决定使用一个设备作为开发工具,那么只需要点击菜单栏的“Run”按钮,然后选择你的设备开始编译和运行App。一旦加载完成,App就会在你选择的设备上运行起来。(注意:不能在虚拟设备上运行这个App,因为虚拟设备不支持蓝牙。)
如果你只是打算简单地进行sideload刷机,则需要先编译代码,方法是先选择“Build”,然后再选择“Build APK(s)”。这会创建一个新的文件,你可以将其拷贝到自己选择的设备上进行安装。
虽然就算你不打算更改软件,刷新App也是一个很好的选择,但我还是建议您选择一个设备作为测试平台。在“USB debug mode”模式下你可以更新、重编译、重复执行代码,这对于编程和调试非常有用。
当你完成App的加载并且启动后,在界面的右上方你会看到“Scan”图标,点击它可以扫描查看附近范围内的所有蓝牙设备。如果你对MAX32630FTHR和MAXREFDES117进行了正确的连接和编程,当设备启动后你会在弹出的设备列表中看到一个标有HRM的设备。
准备好查看结果了吗?
图9:当你选择“Heart Rate Measurement”选项时,你会看到屏幕上开始显示数据
如果你更新了代码以包含正确的API token和变量token,那么你现在应该能够登录你的Ubidots账户,通过点击“Device”选项卡查看该设备上的可用数据。
现在你可以创建一个控制面板,根据你的要求按照不同的格式来快速查看信息(图10)。Ubidots最近推出了一个beta版本的Android App,你可以选择在智能手机或者平板电脑上进行安装来查看你的控制面板和设备(图11)。
图10:Ubidots安卓App控制面板
图11:Ubidots网站控制面板
可穿戴设备是非常有用的工具,可以为我们的日常生活增加很多的便利。这些设备能够提供给用户各种反馈数据,比如睡眠质量、最大摄氧量 (VO2)、运动水平、步行和跑步节奏等数据。此外,它们还可以帮助你监测身体健康情况,并且可以将你的信息(比如每日血压、血糖水平)发送给医疗机构进行诊断。
设计可穿戴设备需要添加外围设备来感应、显示、存储和检索数据。Pegasus Rapid开发平台集成了关键的外围设备,大大简化了系统开发,700-MAXREFDES117#心率监测器参考设计也可以提供直接的借鉴作用。Mbed OS、Ubidots和Android Studio软件分别针对云编程、云服务和云接口等技术进行了完善。
Joseph Downing在2011年加入贸泽电子 (Mouser Electronics)作为技术支持专家,后来转为技术内容专家。Joseph在电子行业有20多年的从业经验,曾在很多公司任职,比如Intel、Radisys和Planar等。作为一名酷爱技术的创客,Joseph帮助管理Mouser.com网站上的“应用和技术”模块,并且为这个模块和贸易展览会提供技术项目和材料支持。