用于读取测量数据的蓝牙 LE 配置文件

Posted

技术标签:

【中文标题】用于读取测量数据的蓝牙 LE 配置文件【英文标题】:Bluetooth LE Profile for reading measured data 【发布时间】:2012-10-29 15:54:00 【问题描述】:

在过去的几个小时里,我阅读了很多有关蓝牙 LE 的信息,但我并不真正了解配置文件的工作原理。我想通过 BTLE 将 iPhone 与自制设备配对。 设备应通过蓝牙发送测量的温度值、湿度或其他值,iPhone 应读取该数据。

我在 BTLE 规范中读到了不同的配置文件(甚至关于心脏测量),但是在读取 CO 排放时如何进行?

非常感谢!

问候,玛丽

【问题讨论】:

【参考方案1】:

这有两个方面:您将在您的设备上定义的配置文件以及您将在 ios 应用程序中与此配置文件进行通信而编写的代码。

在设备上,您将定义一个配置文件,其中包含您想要收集的测量值的特定服务。您可以find in a list on the main Bluetooth developer site 提供几种标准的蓝牙 LE 配置文件。其中包括温度、心率和步行节奏等配置文件,因此,如果您提供这些类别之一的测量值,您可以让您的设备提供其中一项服务,并且它将可用于任何读取该服务的 iOS 应用程序服务。

对于现有服务之一未涵盖的值,例如您提到的湿度读数,您需要创建自己的自定义服务。您只需定义服务特征(您将提供什么类型的数据以及如何提供它)并为该服务提供一个唯一标识符,因为它是您正在创建的标识符,而不是已放置的标准标识符的一部分由蓝牙组织推出。

您如何定义这些服务和特征将取决于您用于设备的特定蓝牙 LE 硬件。我最近在 Bluegiga 的 BLE112 芯片上完成了大部分工作,该芯片结合了低功耗微控制器和蓝牙 LE 发射器。他们有非常好的工具来定义设备配置文件和创建匹配的固件,并且在他们的芯片上进行设​​置相当简单。我不能代表其他制造商,但他们很可能有类似的东西。

在您的硬件上定义了配置文件后,您需要寻找宣传它的设备,并能够在您的 iOS 应用程序中连接到它们。为此,您将使用 Core Bluetooth,我强烈建议您从 Apple 的示例应用程序之一开始,例如他们的 Temperature Sensor 示例。该示例使用标准的健康温度计配置文件,但您可以对其进行调整以找到除了温度读数之外的专有服务。您可以在该示例中看到它们如何读取和处理从 LE 设备返回的二进制数据。

我强烈建议观看 Apple 关于该主题的两个 WWDC 2012 会议视频,Session 703 - Core Bluetooth 101 和 Session 705 - Advanced Core Bluetooth,因为它们提供了有关该主题的大量背景信息,并展示了该主题的实际使用示例。

【讨论】:

以上是关于用于读取测量数据的蓝牙 LE 配置文件的主要内容,如果未能解决你的问题,请参考以下文章

低功耗蓝牙 GATT 配置文件测量解析值

找出 Android 蓝牙 LE GATT 配置文件

什么是 iBeacon 蓝牙配置文件

SPP配置文件蓝牙iOS

Android 蓝牙 LE 通知的问题

降低蓝牙 LE 发射功率 iOS 7