2015-12-21 2 views
3

Мы разрабатываем приложение для Android, которое может подключаться к нескольким датчикам частоты сердечных сокращений синхронно через Bluetooth Low Energy.Android: Ограничение одновременных подключений BLE

У нас есть реализация, которая работает достаточно хорошо, поэтому код не является проблемой. Что нас смущает, так это ограничение параллельных BLE-соединений, которые, похоже, отличаются от устройства к устройству.

У нас есть несколько тестовых устройств здесь: Motorola MotoE и MotoG, Samsung Galaxy Tab A и HTC Nexus 9. Все они работают под управлением Android 5 или 6, версии оригинального производителя. Ни один из них не может одновременно подключаться к более 7 датчикам BLE HR.

Затем я проверил с моей частной Galaxy S4 Samsung, которая укоренена и установлена ​​Cyanogen CM12. С помощью этого устройства я могу легко подключиться к 12 датчикам HR одновременно, это число, которое мы хотим достичь с помощью нашего приложения.

Я испытал это как с нашей собственной реализации приложений и полупроводников NRF Master Панель управления скандинавской, которую я считаю очень хороший общий BLE приложение: https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=de

Когда я пытаюсь подключить приложение к 7-BLE датчик на любом из наших устройств, выход ADB выводит следующее сообщение об ошибке: E/BluetoothLeBasicConn: Ошибка изменения состояния соединения: 133

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

Не могли бы вы помочь мне выяснить, откуда взялись ограничения?

Если это чипсет, то я хотел бы знать, какие устройства мы должны использовать для поддержки как можно большего количества параллельных подключений. К сожалению, очень сложно узнать, какой чипсет Bluetooth построен на разных устройствах. Вряд ли какие-либо аппаратные спецификации, которые я нашел, рассказывают об этом.

Если ограничение исходит со стороны программного обеспечения, можем ли мы каким-либо образом изменить его без укорачивания телефонов или установки модифицированной ОС?

спасибо!

ответ

7

Если вы все еще заинтересованы в этом. Предел происходит от BTA_GATTC_CONN_MAX (зашито в андроиде) который установлен в:

  • 4 на Android 4.3 и
  • 7 на Android 4.4

Существует кстати также ограничение на количество характеристик, для которых вы можете активировать уведомления. (BTA_GATTC_NOTIF_REG_MAX) который:

  • 4 на Android 4.3,
  • 7 на Android 4.4 и
  • 15 на Android 5.0
+0

Спасибо за ваш ответ. Это печально, потому что мы ничего не можем сделать :( – ReactiveMax

+0

@Infinite Где я могу проверить эти значения? –

+0

Являются ли эти ограничения на каждое приложение или максимум для всей ОС (общий для всех запущенных приложений)? – Travis

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