c# - Windows Phone 8.1 连接到蓝牙智能心率监测器

标签 c# bluetooth bluetooth-lowenergy windows-phone-8.1

我在尝试在我创建的 Windows Phone 应用程序中查找我的 Bluetooth Smart 心率监测器时遇到问题。首先,我使用 MSDN 中的示例应用程序,该应用程序演示了蓝牙通用属性配置文件 (Gatt) Windows 运行时 API 的使用。这是可用于 WP 8.1 的新 API。

以下代码段是发现心率监测器的地方:

        var devices = await DeviceInformation.FindAllAsync(
            GattDeviceService.GetDeviceSelectorFromUuid(GattServiceUuids.HeartRate),
            new string[] { "System.Devices.ContainerId" });

在我的手机上调试后,发现的设备始终为零。经过一些研究,我认为这是因为 DeviceInformation.FindAllAsync 方法仅返回已使用系统设置在手机上配对的设备。我无法在蓝牙系统设置中配对我的心率监测器,因为它找不到。我已经在我的 PC 上对其进行了测试,它可以找到心率监测器,但是当我尝试配对时它总是失败。

需要注意的一件事是,我可以将我的心率监测器与 Adidas miCoach 应用程序一起使用(不需要通过系统设置进行配对)。发现和连接直接在应用程序中进行。有谁知道这是如何工作的?

我的硬件:

  • Wahoo Tickr 心率监测器
  • Lumia 925(操作系统版本:8.10.12397.895)

资源:

2014-07-23 更新: 我正在运行 Lumia Cyan 更新,Tickr 心率监测器现在显示在蓝牙系统设置中,但我无法配对它。我收到错误消息“无法连接”。这与 PC 上的行为相同。有趣的是,我无法再将 Tickr 心率监测器连接到 miCoach 应用程序。他们似乎更新了应用程序,配置心率监测器的页面也发生了变化。

最佳答案

您需要 Windows Phone 8.1 和 Nokia Cyan 更新,否则您将无法与 HRM 配对。为了进行测试,您可以使用 Cyan 附带的 HTC 手机或 630。

手机本身显然支持BLE心率监测器,但访问监测器的API是私有(private)的。这就是为什么 micoach/Sports Tracker 可以访问它,但您的应用程序(使用官方 8.1 API)在 Cyan 之前不能。

关于c# - Windows Phone 8.1 连接到蓝牙智能心率监测器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24621717/

相关文章:

c# - 如何使用 LINQ 查询平均 DateTime 字段?

c# - 在 WebBrowser 控件中禁用滚动

蓝牙调试工具

Flutter 蓝牙热敏 POS 打印机

c# - Winforms应用程序可以解锁/替换自己的exe文件以进行自动更新吗?

c# - 使用base()有意义吗?

iPhone 关闭蓝牙 GKPeerPickerController

android - 永远不会调用回调 onReadRemoteRssi()

bluetooth-lowenergy - 微:bit Bluetooth Low Energy Hacking Persistence (High School Internship Project)

linux - 使用 Linux 和 Bluez 5.0 的多个 BLE 连接