如何从 CBCharacteristic 中获取准确值?
Posted
技术标签:
【中文标题】如何从 CBCharacteristic 中获取准确值?【英文标题】:How to get exact value from a CBCharacteristic? 【发布时间】:2016-10-26 18:05:14 【问题描述】:<CBCharacteristic: 0x156d48cf0, UUID = BLevel, properties = 0x18, value = <32353732 380d0a>, notifying = YES>
我想提取 value 字段中的内容。
NSData *data = c.value; // c is of type CBCharacteristic
但不知道是哪种值?
【问题讨论】:
你需要知道NSData
是什么意思。可能是字符串、结构、uint32 等。请参见:***.com/questions/38718841/… BLevel
是电池电量吗?您需要进行反向工程或阅读文档(BLE 文档,如果它是“已知”文档,或者设备文档)
@Larme,是的,它是“电池电量”。你是它的类型吗?
根据文档:bluetooth.com/specifications/gatt/… 如果它是 UUID 0x2A19,但似乎需要一个 int8。
如何从中获取价值,您能帮忙吗?
***.com/a/23571000/1801544 ?
【参考方案1】:
您可以使用
将NSData
转换为 NSString
NSString *str = [[NSString alloc] initWithData:c.value encoding:NSUTF8StringEncoding];
【讨论】:
以上是关于如何从 CBCharacteristic 中获取准确值?的主要内容,如果未能解决你的问题,请参考以下文章
iOS-BLE <CBCharacteristic:未指定“无响应写入”属性 - 忽略无响应写入
iOS 10.0:使用未声明的类型“CBCharacteristic”
iOS 蓝牙 LE 无法以编程方式获取通知,但可以在其他应用程序中