2016-08-18 2 views
1

Я создал приложение, которое будет соединяться с BLE в двери. Это откроет/закроет дверь. Если пользователь движется и открывает дверь с помощью BLE со своего телефона. Если какой-либо другой пользователь подошел к двери и попытался соединить устройство с дверью BLE, тогда мне нужно одновременно установить два устройства с дверным BLE. Можно ли сделать это?Сопряжение одного Bluetooth-пэрфера с несколькими центрами

ответ

0

Я не знаю, возможно ли это, но я думаю, что несколько параллельных соединений явно предназначены для выполнения Центральным, а не Периферийным. Читайте BLE сердечник Spec 4.2, Том 1, Часть A, 6.2 Generic Access Profile:

Периферийного роль оптимизирована для устройств, которые поддерживают одно соединение и являются менее сложными, чем центральные устройства. Устройства, поддерживающие периферийные устройства , требуют только контроллеров, поддерживающих подчиненную роль контроллера. Центральная Роль поддерживает множественные соединения и является инициатором всех соединений с устройствами в периферийной роли.

В Vol 6, часть В, 1.1.1, мы также находим это:

Канальный уровень в состоянии соединения, работающего в роли ведомого устройства может иметь несколько соединений.

Может быть устройство, способное одновременно работать с несколькими центральными соединениями, но поскольку оно менее распространено, чем в другом случае, его будет сложно найти, разработать и поддерживать.

Что касается вашего дизайна, я не уверен, чтобы понять, что вы хотите выполнить, но вот UseCase что вполне возможно и стандарт:

  1. Пользователь 1 соединяет его телефон с дверью, спаривание и склеивание произойдет
  2. Пользователь 2 соединяет свой телефон с дверью, происходит спаривание и соединение
  3. Проходит время, дверь закрыта и рекламируется.
  4. Пользователь 1 поступает около двери, его телефон обнаруживает рекламу и воссоединяется используя свои данные скрепления, дверь открывается сама
  5. дверь теперь закрывается снова и перезапущен Объявления
  6. Пользователь 2 поступает около двери, его телефон обнаруживает рекламу и реконфигурирует, используя данные привязки, дверь открывается сама.
  7. Повторите

Таким образом, мы имеем 2-состояния двери: Когда закрыта дверь рекламы, и при подключении она открыта (или открытие). Он может обрабатывать только одно соединение за раз, что не является проблемой, поскольку, если пользователь 1 открывает дверь, пользователю 2 тоже не нужно его открывать (он уже открыт). Он может запоминать несколько устройств, так что пользователь 1 и Пользователь 2 смогут подключаться к двери (пока ваше устройство BLE имеет достаточное количество памяти для хранения нескольких сведений о соединении).

Открытие двери может быть возможным путем записи в характеристике, которая, по меньшей мере, находится в режиме 1 Уровень 3. Закрытие двери будет вызвано отключением, тайм-аутом или некоторым ПИР-датчиком.Трудность заключалась бы в том, чтобы ограничить связь/связь с известными пользователями и не разрешать ее пользователям. Здесь вам нужно найти способ дифференцировать доверенные устройства от других устройств, но после того, как соединение будет выполнено, только связанные устройства смогут получить доступ к этой характеристике.

+0

Спасибо за разъяснение. Будут ли рекламные данные считываться многими (связанными/несвязанными) устройствами одновременно? –

+0

Да, поэтому мы называем это рекламой. –

+1

Это больше нестандартно, поскольку Bluetooth 4.1 для периферии поддерживает несколько центральных подключений. – Emil

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