如何使用响应和读取响应来写具有特征的值BLE

时间:2016-12-08 17:34:21

标签: ios objective-c core-bluetooth

蓝牙制造商告诉我,我需要将以下内容发送到外围设备:'P'(0x50)

如何使用Objective-C执行此操作以及如何获得响应?

代码示例是首选。

这几乎回答了我的问题,但没有提供任何代码示例:peripheral writeValue: forCharacteristic: type: return null error and value

1 个答案:

答案 0 :(得分:3)

以下是一些示例代码:https://code.tutsplus.com/tutorials/ios-7-sdk-core-bluetooth-practical-lesson--mobile-20741

要来回发送数据,这是一个多步骤过程

  1. 根据需要订阅外围设备,服务和特性。链接演练应该有所帮助。保留对外围设备和特性的参考。
  2. 调用函数[peripheral writeValue:data forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse]对于数据,您可以使用十六进制字符串创建NSData方法(https://opensource.apple.com/source/Security/Security-55471.14.18/libsecurity_transform/NSData+HexString.m)。
  3. 等待回调- (void)peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error 获得该回调后,您可以使用[_peripheral readValueForCharacteristic:characteristic]
  4. 阅读外围设备
  5. 然后等待回调- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error,您可以查看characteristic.value以查看值。