在过去的几个小时里,我阅读了很多关于蓝牙 LE 的内容,但我并不真正了解配置文件的工作原理。我想通过 BTLE 将 iPhone 与自制设备配对。设备应通过蓝牙发送测量的温度值、湿度或其他值,iPhone 应读取该数据。
我在 BTLE 规范中读到了不同的配置文件(甚至关于心脏测量),但是在阅读 CO 排放时如何进行?
非常感谢!
问候,玛丽
在过去的几个小时里,我阅读了很多关于蓝牙 LE 的内容,但我并不真正了解配置文件的工作原理。我想通过 BTLE 将 iPhone 与自制设备配对。设备应通过蓝牙发送测量的温度值、湿度或其他值,iPhone 应读取该数据。
我在 BTLE 规范中读到了不同的配置文件(甚至关于心脏测量),但是在阅读 CO 排放时如何进行?
非常感谢!
问候,玛丽
这有两个方面:您将在您的设备上定义的配置文件以及您将在 iOS 应用程序中与此配置文件进行通信而编写的代码。
在设备上,您将为要收集的测量值定义具有特定服务的配置文件。您可以在主要的蓝牙开发者网站的列表中找到几个标准的蓝牙 LE 配置文件。其中包括温度、心率和步行节奏等配置文件,因此,如果您提供这些类别之一的测量值,您可以让您的设备提供其中一项服务,并且它可以与任何读取该服务的 iOS 应用程序一起使用服务。
对于现有服务之一未涵盖的值,例如您提到的湿度读数,您需要创建自己的自定义服务。您只需定义服务特征(您将提供什么类型的数据以及如何提供它)并为该服务提供一个唯一标识符,因为它是您正在创建的标识符,而不是已放置的标准标识符的一部分由蓝牙组织推出。
您如何定义这些服务和特性将取决于您用于设备的特定蓝牙 LE 硬件。我最近在 Bluegiga 的 BLE112 芯片上完成了大部分工作,该芯片结合了低功耗微控制器和蓝牙 LE 发射器。他们有非常好的工具来定义设备配置文件和创建匹配的固件,并且在他们的芯片上进行设置相当简单。我不能代表其他制造商,但他们很可能有类似的东西。
一旦您在硬件上定义了配置文件,您就需要寻找宣传它的设备,并能够在您的 iOS 应用程序中连接到它们。为此,您将使用 Core Bluetooth,我强烈建议您从 Apple 的示例应用程序之一开始,例如他们的温度传感器示例。该示例使用标准的健康温度计配置文件,但您可以对其进行调整以找到除了温度读数之外的专有服务。您可以在该示例中看到它们如何读取和处理从 LE 设备返回的二进制数据。
我强烈建议观看 Apple 关于该主题的两个 WWDC 2012 会议视频,Session 703 - Core Bluetooth 101 和 Session 705 - Advanced Core Bluetooth,因为它们提供了有关该主题的大量背景信息并展示了该主题的实际使用示例。