Множественное соединение bluetooth - PullRequest
57 голосов
/ 15 октября 2010

Я хочу подключить 3 устройства через Bluetooth (My Droid должен подключаться к 2 устройствам Bluetooth).Я подключил свой Droid к одному устройству с помощью чата Bluetooth. Как изменить его для нескольких устройств Bluetooth?Не могли бы вы помочь мне, пожалуйста?

Ответы [ 8 ]

22 голосов
/ 24 февраля 2011

Я искал способ подключения 4 устройств с помощью Bluetooth и обнаружил следующее.

http://groups.google.com/group/android-developers/browse_thread/thread/69d7810f6ef9bb7d

Я не уверен, что это то, что вы хотите.

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

Перейдите по ссылке, чтобы увидеть примеры кода и более подробное объяснение.

8 голосов
/ 17 апреля 2015

Вы можете попробовать мой lib для нескольких соединений Bluetooth:

http://arissa34.github.io/Android-Multi-Bluetooth-Library/

6 голосов
/ 16 октября 2010

Вы смотрели в класс BluetoothAdapter Android? Вы настраиваете одно устройство как сервер, а другое как клиент. Может быть возможно (хотя я сам не изучал это) подключить несколько клиентов к серверу.

Я успешно подключил аудиоустройство BlueTooth к телефону, хотя оно также имело это BluetoothAdapter соединение с другим телефоном, но я не пробовал использовать три телефона. По крайней мере, это говорит мне о том, что радио Bluetooth может терпеть несколько одновременных подключений:)

4 голосов
/ 22 августа 2015

Да, ваше устройство теоретически может одновременно подключаться к 7 другим устройствам Bluetooth одновременно.Такое соединение называется пикосетью.Более сложная схема подключения - это scatternet.

Причина, по которой оно ограничено 7 другими устройствами, заключается в том, что назначенное битовое поле для LT_ADDR в протоколе L2CAP составляет всего 3.

3 голосов
/ 03 марта 2015

Два Bluetooth-динамика UE Boom могут образовывать стерео, что означает, что телефон может передавать потоковое видео одновременно на два устройства Bluetooth.Причина в том, что Bluetooth 4.0 может поддерживать до двух каналов синхронного ориентированного соединения (SCO) в одной и той же пикосети, а A2DP основан на канале SCO.

Ваш запрос «чат Bluetooth» основан на профиле SPP и SPP.основан на протоколе RFCOMM.К счастью, даже Bluetooth 2.1 может поддерживать несколько каналов RFCOMM, так что да, вы можете иметь несколько соединений Bluetooth для общения друг с другом.

1 голос
/ 09 февраля 2015

Вы можете посмотреть здесь (это не решение, но идея здесь)

образец мультиклиента с примером чата Google

что вы должны изменить / сделать:

  • отдельная логика сервера и клиента в разных классах

  • для клиента вам нужен объект для управления одним соединительным потоком и в подключенном потоке

  • для сервера вам нужен объект для управления одним потоком прослушивания на клиента и одним подключенным потоком на клиента

  • сервер открывает поток прослушивания для каждого UUID (по одному на клиента)

  • каждый клиент пытается подключиться к каждому uuid (уже выбранный uuid не сможет установить соединение => первым пришел, первым обслужен)

Есть вопросы?

1 голос
/ 21 мая 2013

Пожалуйста, ознакомьтесь с документацией по Android .

Используя API-интерфейсы Bluetooth, приложение Android может выполнять следующие действия:

  • Сканирование других Bluetoothустройства
  • Запрос локального адаптера Bluetooth для сопряженных устройств Bluetooth
  • Создание каналов RFCOMM
  • Подключение к другим устройствам с помощью обнаружения служб
  • Передача данных в другие и из другихУстройства
  • Управление несколькими подключениями
1 голос
/ 01 января 2013

Не совсем верно - взгляните на краткую спецификацию

Протокол управления и адаптации логической линии (L2CAP)

L2CAP используется в стеке протоколов Bluetooth,Он передает пакеты либо в интерфейс хост-контроллера (HCI), либо в систему без хоста, непосредственно в Link Manager / ACL-канал.Функции L2CAP включают:

  • Мультиплексирование данных между различными протоколами более высокого уровня.
  • Сегментация и повторная сборка пакетов.
  • Обеспечение одностороннего управления передачей многоадресной передачиданные для группы других устройств Bluetooth.
  • Управление качеством обслуживания (QoS) для протоколов более высокого уровня.

L2CAP используется для связи по главной линии ACL.Его соединение устанавливается после установки соединения ACL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...