2016-10-06 10 views
0

Наша система состоит из основного устройства с пультом дистанционного управления. Основным устройством является GAP Central и GATT Server. Пульт дистанционного управления рекламирует и подключается через BLE, где удаленным является периферийное устройство GAP и клиент GATT. Когда кнопки на пульте дистанционного управления нажимаются, он записывает данные о статусе кнопки на сервер GATT.iOS CoreBluetooth: GAP периферийный и GATT-клиент?

Мы хотим написать приложение iOS для работы в качестве и замены пульта дистанционного управления. Является ли iOS CoreBluetooth способным работать как периферийное устройство GAP, одновременно являясь клиентом GATT? Приложение должно будет рекламировать как периферийное устройство, а затем выполнить обнаружение службы после подключения. Кнопки приложения будут выполнять запросы на запись к характеристикам на центральном сервере GATT основного устройства GAP.

Наша конфигурация немного отличается от стандартной модели BLE, где база данных GATT обычно располагается на периферии GAP. Но в нашем случае логически логично не использовать настройки основного устройства в пульте дистанционного управления. Является ли iOS достаточно гибким для поддержки этой конфигурации?

ответ

0

Только для разъяснения: Вы говорите о приглашении службы BLE. К сожалению, CoreBluetooth поддерживает поддержку услуг в одном направлении, а именно iOS-устройство, являющееся GAP Central, а другое GAP-периферия может обнаружить сервер GATT на устройстве iOS. В основном, такие аксессуары, как использование Pebble для доступа к управлению мультимедиа (Apple Media Service) и уведомления (Apple Notification Center Service). Вы найдете специальный ключ словаря CBCentralManagerScanOptionSolicitedServiceUUIDsKey на CBCentralManager для поддержки вышеупомянутого сценария, но нет эквивалента в CBPeripheralManager для поддержки вашего сценария.

Надеюсь, что это поможет.