Определение поддержки Bluetooth Low Energy

11

Я делаю технико-экономическое обоснование в планшетах Android для коммерческих приложений. У меня есть продукт, который требует подключения Bluetooth Low Energy.

У меня есть планшет Nexus 7, который должен поддерживать BLE, но я не нашел много информации об этом. Есть ли способ проверить, есть ли на планшете BLE и включен он или нет?

цифровой
источник
Согласно отчетам о разборке и википедии, Nexus 7 имеет чип Broadcom (Broadcom BCM4330 в паре с AzureWave AW-NH665) *, который поддерживает BTLE. Но я не знаю, есть ли там все необходимые слои SW. Broadcom также опубликовал BT API в качестве открытого источника, но я не знаю, входит ли этот пакет в Nexus. Это немного длинно, но может кто-нибудь, у кого есть проверка Nexus 7, включен ли пакет com.broadcom.bt.le.api? Мне также было бы очень интересно услышать ....
Я купил Google Nexus 7 на прошлой неделе в надежде, что в нем будет находиться общая библиотека com.broadcom.bt.le, но был разочарован, обнаружив, что примеры приложений не работают на Nexus 7, поскольку в нем отсутствует общая библиотека. Я отправил электронное письмо владельцу SDK и ASUS без ответа. Затем я отправил письмо в службу поддержки Google Play, и все, что он мог мне сказать, это информация, которую я уже знал, о том, что Nexus 7 имеет чипсет Broadcom BCM4330, который на бумаге представляет собой Bluetooth 4.0 и является тем же набором микросхем, который используется в iPhone 4s и новом iPad и что это Bluetooth 4.0 совместимый. Я не ответил si

Ответы:

7

На данный момент проверка поддержки BLE должна выполняться вручную, изучая спецификации и выполняя поиск в Google (насколько я знаю).

Смотрите этот вопрос на Stackoverflow: поддержка Bluetooth Smart (4.0) / GATT в Android 4.0?

В нем говорится, что Android не поддерживает Bluetooth 4.0 (LE) из коробки до Android-4.0 (возможно, с Jelly Bean 4.1 и более поздними версиями, вкладка Nexus 7 предлагает это). Производители должны добавить свой собственный API, чтобы разрешить доступ к BT LE (например, это приложение ограничено Motorola). Вот почему ваш пробег может отличаться на разных телефонах до 4.0. Часы с поддержкой Bluetooth LE от Casio также являются примером ограниченной (официальной) совместимости (кстати, даже не упоминается iPhone 4S).

Я думаю, что с большим количеством устройств с 4.1 проблема решится сама собой, и вы можете найти приложения, показывающие ее.

Вот списки по производителям:

  • Motorola
  • HTC: хороший список еще не найден
  • Google: Galaxy Nexus ( не с 4.0 ), вкладка Nexus 7
CE4
источник
Спасибо за информацию, это должно помочь мне начать исследования.
цифровой
К сведению, Nexus 7 имеет Broadcom BCM4330 (тот же набор микросхем, что и в iPhone 5), но примеры приложений из BLE SDK Broadcom не будут устанавливаться, потому что нет встроенной библиотеки.
Баренд
У Android 4.2 есть некоторые новости: Android 4.2 представляет новый стек Bluetooth, оптимизированный для использования с устройствами Android. Новый стек Bluetooth, разработанный в сотрудничестве между Google и Broadcom, заменяет стек на базе BlueZ и обеспечивает улучшенную совместимость и надежность. Источник
ce4
Я пробовал Broadcom SDK на моем S3 mini (4.1.2), и приложение не работает "метод не найден": bluetoothDevice.getDeviceType ...
fvisticot
4

Bluetooth LE не поддерживается во всех текущих API Android (на момент написания статьи это уровень API 16, до Android 4.1). Производители телефонов должны использовать стеки производителей чипов Bluetooth. Единственный телефон, который имеет встроенную микросхему LE и фактически использует ее, - это Motorola Razor. Поступали сообщения о том, что после обновления ICS соединение Bluetooth LE больше не будет работать.

Таким образом, нет удобного способа запросить у устройства поддержку LE и использовать его, пока не появится поддержка Bluetooth LE в официальном Android API.

IIRC Ядро Linux еще не имеет (стабильного) Bluetooth LE API.

поток
источник
Этот ответ сейчас устарел.
Дэн Халм,
2

Наконец, в Android 4.3 появилась поддержка BTLE в ОС. Для отдельных устройств вам нужно дождаться обновления 4.3, чтобы увидеть, была ли добавлена ​​поддержка. На данный момент Nexus 4 выглядит как одно устройство, которое должно быть хорошим. (Я только что заказал одно для разработки BTLE.) Некоторые устройства, которые были проданы как готовые к BTLE и, как полагают, имеют необходимое оборудование, не выглядят так, как будто они действительно будут работать. например, оригинальный Nexus выглядит не получающим обновление в соответствии с Google.

Я для
источник
2

Теперь, когда Android 4.3 (API Level 18) предоставляет API для доступа к BLE, сторонние приложения могут выполнять проверку этой функции системы. Одно из приложений, которое может это проверить, - это сканер Bluetooth LE . В верхней части основного действия есть индикатор, который будет отображать «Поддерживается», если ваше устройство поддерживает BLE.

Приложение с открытым исходным кодом, поэтому вы можете взглянуть на детали реализации GitHub . Я проверил код, используемый для определения, поддерживается ли BLE ( здесь , для любопытных), и выглядит ли он корректно на основании официальных рекомендаций Android , поэтому у меня нет оснований подозревать, что приложение будет сообщать о поддержке BLE, если вы не попытались изменить ваше устройство, чтобы попытаться "подделать" его. В любом случае, это правильно на моем Nexus 5. Приложения, которые пытаются выполнить эту проверку, будут, конечно, полезны только на Android 4.3 или новее.

eldarerathis
источник