Cypress PSoC Creator / iOS App:将 BLE 设备地址添加到广告数据
Cypress PSoC Creator / iOS App: Add BLE device address to advertisement data
我尝试将 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: {([=11=].RSSI.intValue) > (.RSSI.intValue)})
}
}
}
控制台打印:
["kCBAdvDataLocalName": TEST, "kCBAdvDataIsConnectable": 1]
无法理解,为什么我的BLE设备地址没有打印!
顺便说一句:
如果我添加任何其他广告数据包,例如 TX 功率级别,它会立即显示在我的打印输出中。
Core Bluetooth 不会向您的应用公开原始广告数据;您只能访问与 Advertisement keys 关联的广告数据 - 设备地址不是这些密钥之一,而 TX 功率级别是。
无法在 Core Bluetooth 中找到设备地址,除非设备以其他方式公开它,例如通过 GATT 特性或在制造商特定数据中,例如。
我尝试将 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: {([=11=].RSSI.intValue) > (.RSSI.intValue)})
}
}
}
控制台打印:
["kCBAdvDataLocalName": TEST, "kCBAdvDataIsConnectable": 1]
无法理解,为什么我的BLE设备地址没有打印!
顺便说一句:
如果我添加任何其他广告数据包,例如 TX 功率级别,它会立即显示在我的打印输出中。
Core Bluetooth 不会向您的应用公开原始广告数据;您只能访问与 Advertisement keys 关联的广告数据 - 设备地址不是这些密钥之一,而 TX 功率级别是。
无法在 Core Bluetooth 中找到设备地址,除非设备以其他方式公开它,例如通过 GATT 特性或在制造商特定数据中,例如。