Приложение Cypress PSoC Creator / для iOS: добавьте адрес устройства BLE к рекламным данным - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь добавить адрес устройства BLE к рекламным данным в Cypress PSoC Creator 4.2.

enter image description here

Я установил соответствующий флажок в 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": TEST, "kCBAdvDataIsConnectable": 1]

Я не могу понять, почему мойАдрес устройства BLE не распечатывается!

КСТАТИ:

Если я добавлю какой-либо другой рекламный пакет данных, например, уровень мощности передачи, он сразу же отобразится на моем принтевыход.

1 Ответ

0 голосов
/ 20 января 2019

Core Bluetooth не предоставляет необработанные рекламные данные вашему приложению; Вы можете получить доступ только к рекламным данным, связанным с Рекламными ключами - адрес устройства не является одним из этих ключей, в то время как уровень мощности передачи равен.

Невозможно найти адрес устройства в Core Bluetooth, если устройство не предоставляет его другим способом, например, с помощью характеристики GATT или, например, в Данные производителя .

...