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

如何使用Objective-C做到这一点以及如何获得响应?

一个代码示例将是可取的。

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

最佳答案

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

来回发送数据是一个多步骤的过程

  • 适本地订阅外围设备,服务和特性。链接的演练应对此有所帮助。请引用外围设备和特性。
  • 调用函数[peripheral writeValue:data forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse]对于数据,您可以使用NSData方法的十六进制字符串(https://opensource.apple.com/source/Security/Security-55471.14.18/libsecurity_transform/NSData+HexString.m)创建它。
  • 等待回调- (void)peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error一旦获得该回调,就可以使用[_peripheral readValueForCharacteristic:characteristic]
  • 读取外围设备
  • ,然后等待此时的回调- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error,您可以查看characteristic.value以查看该值。
  • 关于ios - 如何使用响应和读取响应BLE编写具有特性的Value,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41045464/

    10-10 20:39