1

我正在构建一个简单的 IOS 应用程序,用于与蓝牙 LE 设备进行交互。

主要步骤(连接、发现服务、发现特征和读取特征值)正确完成。

现在我正在寻找一个教程/示例,用于向我连接的蓝牙 LE 设备发送 命令。

我在 Apple Developer Guide 中搜索,但没有找到任何东西。

4

3 回答 3

2

您应该查看 Apple 的TemperatureSensor示例,特别是它调用的位置[servicePeripheral writeValue:data ...

于 2015-05-06T17:19:34.590 回答
1

在与 a 交互时,CBCharacteristic我将假设它是一个读/写特征(您可以通过查看properties您的特征的值来确认这一点)。

与特征交互时的两种主要方法是:

func writeValue(_ data: NSData!, forCharacteristic characteristic: CBCharacteristic!, type type: CBCharacteristicWriteType)
func readValueForCharacteristic(_ characteristic: CBCharacteristic!)

这两种方法都可以在您的CBPeripheral. 调用其中一个函数后,您可以使用CBPeripheralDelegate来确认这些delegate方法中的每个操作:

optional func peripheral(_ peripheral: CBPeripheral!, didWriteValueForCharacteristic characteristic: CBCharacteristic!, error error: NSError!)
optional func peripheral(_ peripheral: CBPeripheral!, didUpdateValueForCharacteristic characteristic: CBCharacteristic!, error error: NSError!)

这些是您确认读写成功的地方。(在您的读取中,您可以检索从 BLE 设备上的value属性读取的值CBCharacteristic

请记住,您所拥有的交互(您可以读取和写入的内容)完全取决于您正在询问/交互的 BLE 设备。从本质上讲,您必须知道读什么、写什么以及如何写。

于 2015-04-24T00:23:51.230 回答
0

writeValue:forCharacteristic:type:您可以使用CBPeripheral的方法发送数据。必须在设备规范中描述与所需命令匹配的特征+数据。

于 2015-04-19T21:47:24.603 回答