2010-10-15 4 views
52

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

ответ

5

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

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

+0

так вы имеете в виду http://developer.android.com/guide/topics/connectivity/ bluetooth.html # ConnectionAsAServer - это обязательный – Prateek

21

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

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

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

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

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

+0

HA, как я и подозревал ... спасибо. – TacB0sS

+0

ссылка не работает – tura08

1

Не совсем верно - посмотрите на резюме спецификаций

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

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

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

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

1

Пожалуйста, взгляните на the Android documentation.

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

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

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

sample multi client with the google chat example

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

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

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

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

  • на сервере открыть слушающий поток на каждом UUID (по одному на клиента)

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

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

3

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

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

8

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

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

+0

Привет, @Rami, вы можете проверить эту проблему https://stackoverflow.com/questions/46927973/connect-multiple-devices-via-bluetooth-on-android-multiple-ble-connections, это любопытная проблема с проектом git, что вы отправили –

+0

Нет проблем с git. Существует только плохая польза от него :) – Rami

+0

Спасибо за ваш ответ @Rami, Не могли бы вы помочь нам правильно его использовать, TIA –

2

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

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

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