iOS - заставить удаленное устройство Bluetooth LE подписаться на изменения характеристик

Я пытаюсь перестроить приложение Android BLE в iOS, где BLE Central работает как клиент и сервер.
Сначала локальное устройство сканирует устройство BLE, обнаруживает его и подключается к нему. (Роль клиента) Затем локальное устройство принимает роль сервера и уведомляет устройство BLE, если какие-либо значения характеристик изменены.

В Android это работает нормально, потому что я могу использовать обнаруженный BluetoothDevice и через BluetoothDevice.connectGatt метод заставить его подписаться на мои характерные изменения. При изменении значения я использую notifyCharacteristicChanged способ уведомить устройство.

Я думаю, самое важное отличие состоит в том, что в iOS после обнаружения устройства я получаю только CBPeripheral как обнаруженное устройство, которое я не могу использовать для каких-либо клиентских функций, таких как подписка на сервер. По крайней мере, это то, что я не мог понять до сих пор.

Я прочитал это: поток iOs CoreBluetooth Central Server и периферийного клиента и обсуждение связанного списка рассылки: http://lists.apple.com/archives/bluetooth-dev/2013/Nov/msg00047.html об устройствах iOS, выступающих в роли клиента и серверов и теоретически это должно быть возможно, и мне было интересно, нашел ли кто-нибудь способ заставить обнаруженное удаленное устройство подписаться на мои изменения характеристик.

0 ответов

Другие вопросы по тегам