我尝试将BLE设备地址添加到Cypress PSoC Creator 4.2中的广告数据中。

我在间隙设置中选中了关联框,并为我的PSoC 4设备(CYBLE-212006-01)构建了项目。
在我的iOS应用程序中,我使用以下例程(CBCentralManager)来发现外围设备并打印广告数据:
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber){
if peripheral.name != nil {
if peripheral.name!.contains("TEST") {
print(advertisementData)
self.internalPeripheralArray.append(BluetoothPeripheral(name: peripheral.name!, UUID: peripheral.identifier, RSSI: RSSI, peripheral: peripheral, selected: false))
self.internalPeripheralArray.sort(by: {($0.RSSI.intValue) > ($1.RSSI.intValue)})
}
}
}控制台打印:
"kCBAdvDataLocalName":TEST,"kCBAdvDataIsConnectable":1
我不明白,为什么我的BLE设备地址没有打印!
BTW:
如果我添加任何其他广告数据包,例如TX电源电平,它将立即显示在我的打印输出中。
发布于 2019-01-20 20:28:31
核心蓝牙不向应用程序公开原始广告数据;您只能访问与广告键相关的广告数据--设备地址不是这些键之一,而TX电源级别是。
无法在核心蓝牙中找到设备地址,除非设备以其他方式公开它,例如通过GATT的特性或制造商特定的数据。
https://stackoverflow.com/questions/54280088
复制相似问题