嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

用 Genuino 101 和蓝牙 LE 时刻把握脉搏

title

全心全意

观察力敏锐或见多识广的人在阅读 Andrew Back 最近的博客之后,可能会注意到全新 Genuino 101 板角落上蚀刻的蓝牙小徽标和飞行航迹。这看上去像是阻焊剂意外留下的痕迹,但是对从事可穿戴设备或 IoT 项目的 Arduino 粉丝来说,这是一个令人激动的消息。现在您可以利用蓝牙低功耗技术,以无线方式连接到自己最新创建的设备。蓝牙 LE 经过特别设计,不仅能够以超低功耗的高效方式将设备连接在一起,还能将设备直接连接到智能手机或平板电脑上运行的应用程序。

在本文中,我将亲身体验一下 Arduino 开发的心率监视器教程,了解将 Genuino 101 连接到智能手机并通过无线链接来共享数据有多么容易。 Arduino IDE

第一步是安装 1.6.7 版本的 Arduino IDE。我正在一种 Linux 开发环境 (Ubuntu Wily) 下工作,但是如果您没有那么幸运,Arduino 网站上也提供了出色的指示。在编写本文之时,发行版库中尚未提供此版本。

在我的根目录中解压并运行安装脚本之后,创建了 IDE 目录以及桌面上的一个启动程序。还需要 Intel 提供的附加软件,它使用 IDE 内的 Board Manager 来安装。有点耐心吧,在我的笔记本上安装它时用了差不多十分钟才完成。

最后也是很重要的一步,就是必须运行深埋在用户根目录下一个隐藏目录中的 udev 脚本。 (.arduino15/packages/Intel/tools/sketchUploader/ 1.6.4+1.14/scripts/create_dfu_udev_rule)

这样就能获得正确的 IDE 权限以连接和上传新草图。

执行测试时,在“工具”菜单中选择“Genuino 101”选项,然后上传 Blink。如果一切正常,输出将显示在 IDE 的底部窗口中。几秒钟之后,引脚 13 旁边的微型 LED 应该会闪烁。

title

心之全蚀 

勿乱我心

现在有趣的来了。对于草图(示例链接),除非您真的有一台心率监视器(可以使用),否则可以通过将一个 10K 电位计连接至其中一路模拟输入来模拟来自此类传感器的输出。

板载 ADC 将分压器读数转换为模拟心率的值(0 到 100 bpm 之间)。与板成功地建立蓝牙连接之后,连接到其中一路数字输出的 LED 将会亮起。

title

贴近内心

草图一开始包括由 IDE 提供的 CurieBLE.h 库,然后创建一个 BLE Periferal 对象,并将其配置为 BLE 心率服务,并带有在心率变化时发出通知的功能。BLE 规格可扩展,并允许创建领域特定应用程序配置文件。我们在此示例中使用了一个心率配置文件,以便客户端(我的案例中为智能手机应用)知道如何使用该连接。 

一旦初始化,代码将进入循环并等待客户端连接。连接之后,它将持续调用 updateHeartRate() 函数。这样即可将心率读数传递到客户端。我通过为 if 语句添加注释来改变了此功能,使值在每次执行循环时发送,而不是有变化时发送。

[代码片段

void updateHeartRate() {
/* Read the current voltage level on the A0 analog input pin.
This is used here to simulate the heart rate's measurement.
*/
int heartRateMeasurement = analogRead(A0);
int heartRate = map(heartRateMeasurement, 0, 1023, 0, 100);
//if (heartRate != oldHeartRate) { // if the heart rate has changed
Serial.print("Heart Rate is now: "); // print it
Serial.println(heartRate);
const unsigned char heartRateCharArray[2] = { 0, (char)heartRate };
heartRateChar.setValue(heartRateCharArray, 2); // and update the heart rate measurement characteristic
oldHeartRate = heartRate; // save the level for next comparison
//}
}

代码片段结尾]

title

勿伤我心

直指内心

只要利用几个元件和数行代码,我们就对能够以无线方式通过蓝牙连接到智能手机应用的心率监视设备有了极其深刻的印象。它让传感 IoT 应用程序拥有了无数令人激动的可能性。您会如何使用呢?告诉我们吧! RS Components 供货

相关文章 - 问候 Genuino 101!

 

I'm an engineer and Linux advocate with probably more SBCs than a Chandrayaan-3 moon lander