0

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

在此处输入图像描述

我选中了 GAP 设置中的相关框,并为我的 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”:测试,“kCBAdvDataIsConnectable”:1]

我不明白,为什么我的BLE设备地址没有打印出来!

顺便提一句:

如果我添加任何其他广告数据包,例如 TX 功率级别,它会立即显示在我的打印输出中。

4

1 回答 1

1

Core Bluetooth 不会将原始广告数据暴露给您的应用程序;您只能访问与广告键关联的广告数据- 设备地址不是这些键之一,而 TX 功率级别是。

除非设备以其他方式(例如通过 GATT 特征或制造商特定数据)公开设备地址,否则无法在 Core Bluetooth 中找到设备地址。

于 2019-01-20T20:28:31.820 回答