我在过去几小时内阅读了很多关于蓝牙LE的内容,但我并不真正了解配置文件的工作原理。我想把iPhone和自制设备配对BTLE。 设备应通过蓝牙发送测量的温度值,湿度或其他值,iPhone应读取该数据。
我读过BTLE规范中的不同配置文件(甚至是关于心脏测量),但是在阅读CO排放时如何进行?
非常感谢!
问候,玛丽
答案 0 :(得分:7)
这有两个方面:您将在设备上定义的配置文件以及您要编写的代码,以便在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会话视频主题,会话703 - 核心蓝牙101和会话705 - 高级核心蓝牙,因为它们提供了很多关于该主题的背景知识,并展示了使用它的实际示例。