从iOS应用程序向蓝牙LE设备发送命令

时间:2015-04-19 21:41:32

标签: ios bluetooth-lowenergy core-bluetooth ios-bluetooth

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

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

现在我正在搜索发送 命令的教程/示例到我已连接的蓝牙LE设备。

我正在Apple开发者指南中搜索,但我找不到任何东西。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

当与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!)

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

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

答案 2 :(得分:0)

您可以使用writeValue:forCharacteristic:type: CBPeripheral方法发送数据。必须在器件规范中描述哪些特性+数据与所需命令匹配。