2013-04-18 2 views
0

Недавно я разработал APP, который отлично работает с устройствами BLE, я добавил большинство параметров и функций в свой APP. Он может сканировать устройства, показывая список, а затем пользователь может выбрать устройство для подключения. Моя проблема заключается в том, что мой код способен подключаться только к одной BLE; если пользователь хочет подключиться к другим устройствам, он должен отключиться от подключенного устройства. Есть ли какой-либо вариант или метод, который я могу использовать для решения этой проблемы?Подключение к нескольким устройствам Bluetooth LE в Xcode

ответ

0

Я не знаю о вашем конкретном случае, но я знаю, что можно подключиться к нескольким устройствам BLE, так как я сейчас делаю это в Linux с помощью стека Bluez. Однако аппаратное обеспечение BLE отличается от того, сколько устройств может подключаться, поэтому возможно наличие какого-либо оборудования, которое позволяет только одно соединение. У меня есть один ключ, который позволяет до 3 подключений, а другой - до 7. Когда вы пытаетесь сделать дополнительные подключения, он автоматически отключает одно из других подключений, чтобы создать новый.

3

Вы должны отправить код, если хотите фактическую помощь, но могу вам сказать, что ваша проблема - это просто проблема с дизайном. Кажется очевидным, что вы не внедрили свои методы CBCentralManager масштабируемым образом, как для базовых подключений, так и для пользовательского интерфейса. Я могу сказать вам из непосредственного опыта в моих приложениях, что текущий предел Apple составляет 10 Bluetooth Low Energy соединений в любой момент времени (хотя люди могут попытаться заявить разные). Однако, хотя система способна обрабатывать 10, процесс BTServer (процесс bluetooth от Apple) начинает часто возникать из-за этого множества подключений и сбоев.

Вам нужно переосмыслить, как вы разработали свои варианты классов CBPeripheral и CBCentralManager. Убедитесь, что они не привязаны к определенным периферийным устройствам, а только к экземплярам периферийных устройств, с которыми вы можете столкнуться. Внесите некоторые изменения в дизайн, и вы сможете исправить свою проблему.

Смежные вопросы