如何在 swift4 中获得蓝牙外设的特征值?
Posted
技术标签:
【中文标题】如何在 swift4 中获得蓝牙外设的特征值?【英文标题】:How can i get Characteristic value in bluetooth peripheral in swift4? 【发布时间】:2018-12-05 06:32:47 【问题描述】: <CBCharacteristic: 0x281bc6100, UUID = FFF1, properties = 0x10, value = <500c0b62 00008f2c 10223344 55660000 00000000>, notifying = NO>
我想要这个值“”
谁能帮帮我?
【问题讨论】:
let value = myCharacteristic.value
。现在,应该是什么“”?它应该是什么意思?那是“文字”吗?您发送的自定义结构?如果没有外围设备的规格信息,我们无法猜测如何解析它。
我想从周边打印这个值 。我怎样才能得到这个值?。
let value = myCharacteristic.value
。但是<500c0b62 00008f2c 10223344 55660000 00000000>
更多的是调试值,你可以用print("\(value as NSData)")
得到它,但是打印十六进制数据似乎很奇怪。您可以检查 ***.com/questions/39075043/… 的十六进制表示。
谢谢...你让我受益匪浅。
【参考方案1】:
试试这个
if(characteristic.value != nil)
if let ASCIIstring = NSString(data: characteristic.value!, encoding: String.Encoding.utf8.rawValue)
characteristicASCIIValue = ASCIIstring
print("Value Recieved: \((characteristicASCIIValue as String))")
【讨论】:
请不要先if(characteristic.value != nil)
再characteristic.value!
:而是直接用“if let”安全地解包,这样会更好更快捷。以上是关于如何在 swift4 中获得蓝牙外设的特征值?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Swift 中的 BLE 外设特征写入回调中提取数据?