Festlegen der Unterstützung für Bluetooth Low Energy


11

Ich mache eine Machbarkeitsstudie für Android-Tablets für kommerzielle Anwendungen. Ich habe ein Produkt, das eine Bluetooth Low Energy-Verbindung erfordert.

Ich habe ein Nexus 7-Tablet, das BLE unterstützen soll, aber ich habe nicht viele Informationen darüber gefunden. Gibt es eine Möglichkeit zu überprüfen, ob das Tablet über BLE verfügt und ob es aktiviert ist oder nicht?


Laut Teardown-Berichten und Wikipedia verfügt Nexus 7 über einen Broadcom-Chip (Broadcom BCM4330 gepaart mit AzureWave AW-NH665) *, der BTLE-fähig ist. Aber ich weiß nicht, ob dort alle SW-Schichten benötigt werden. Broadcom hat auch eine BT-API als Open Source veröffentlicht, aber ich weiß nicht, ob dieses Paket in Nexus enthalten ist. Es ist ein bisschen langwierig, aber könnte jemand, der das Nexus 7 überprüfen lässt, das com.broadcom.bt.le.api-Paket enthalten? Ich wäre auch sehr interessiert zu hören ....

Ich habe letzte Woche ein Google Nexus 7 gekauft, in der Hoffnung, dass die gemeinsam genutzte Bibliothek com.broadcom.bt.le darauf installiert sein könnte, war jedoch enttäuscht, dass die Beispielanwendungen auf dem Nexus 7 nicht funktionieren, da die gemeinsam genutzte Bibliothek fehlt. Ich habe dem Besitzer des SDK und ASUS eine E-Mail ohne Antwort gesendet. Dann schickte ich eine E-Mail an den Support von Google Play und alles, was er mir sagen konnte, waren Informationen, die ich bereits wusste, dass das Nexus 7 einen Broadcom BCM4330-Chipsatz hat, der auf dem Papier Bluetooth 4.0 ist und der gleiche Chipsatz ist, der auch für das iPhone 4s und das neue iPad und verwendet wird dass es Bluetooth 4.0-kompatibel ist. Ich habe nicht

Antworten:


7

Ab sofort muss die Überprüfung auf BLE-Unterstützung manuell erfolgen, indem Spezifikationen studiert und bei Google gesucht werden (soweit ich weiß).

Siehe diese Frage zu Stackoverflow: Bluetooth Smart (4.0) / GATT-Unterstützung in Android 4.0?

Es heißt, dass Android Bluetooth 4.0 (LE) bis Android-4.0 nicht sofort unterstützt (möglicherweise ab Jelly Bean 4.1 wird dies auf der Registerkarte Nexus 7 vorgeschlagen). Hersteller müssen ihre eigene API hinzufügen, um den Zugriff auf BT LE zu ermöglichen (z. B. ist diese App auf Motorola beschränkt). Aus diesem Grund kann Ihr Kilometerstand bei verschiedenen Telefonen bis zu 4,0 variieren. Die Bluetooth LE-fähige Uhr von Casio ist auch ein Beispiel für eingeschränkte (offizielle) Kompatibilität (übrigens wird nicht einmal das iPhone 4S erwähnt).

Ich gehe davon aus, dass sich das Problem bei mehr Geräten mit 4.1 von selbst löst und Sie Apps finden können, die es anzeigen.

Hier sind Listen von Herstellern:


Vielen Dank für die Info, damit sollte ich mit meiner Forschung beginnen.
Digital

Zu Ihrer Information Das Nexus 7 verfügt über das BCM4330 von Broadcom (der gleiche Chipsatz wie im iPhone 5), die Beispiel-Apps aus dem BLE SDK von Broadcom werden jedoch nicht installiert, da die native Bibliothek nicht vorhanden ist.
Barend

Android 4.2 hat einige Neuigkeiten: Android 4.2 stellt einen neuen Bluetooth-Stack vor, der für die Verwendung mit Android-Geräten optimiert ist. Der neue Bluetooth-Stack, der in Zusammenarbeit zwischen Google und Broadcom entwickelt wurde, ersetzt den auf BlueZ basierenden Stack und bietet verbesserte Kompatibilität und Zuverlässigkeit. Quelle
ce4

Ich habe das Broadcom SDK auf meinem S3 Mini (4.1.2) ausprobiert und die App stürzt auf einer "keine Methode gefunden" ab: bluetoothDevice.getDeviceType ...
fvisticot

4

Es gibt keine Bluetooth LE-Unterstützung in allen aktuellen Android-APIs (zum Zeitpunkt des Schreibens ist dies API-Level 16 bis Android 4.1). Telefonhersteller müssen die Stapel der Bluetooth-Chiphersteller verwenden. Das einzige Telefon, das über einen eingebauten LE-Chip verfügt und diesen tatsächlich nutzt, ist das Motorola Razor. Es wurde berichtet, dass die Bluetooth LE-Kopplung nach dem ICS-Update nicht mehr funktioniert.

Es gibt also keine bequeme Möglichkeit, ein Gerät nach LE-Unterstützung abzufragen und zu nutzen, bis die offizielle Android-API Bluetooth LE-Unterstützung enthält.

IIRC Der Linux-Kernel hat auch noch keine (stabile) Bluetooth LE-API.


Diese Antwort ist jetzt veraltet.
Dan Hulme

2

Schließlich gibt es mit Android 4.3 BTLE-Unterstützung im Betriebssystem. Bei einzelnen Geräten müssen Sie auf ein 4.3-Update warten, um festzustellen, ob die Unterstützung hinzugefügt wurde. Im Moment sieht ein Nexus 4 wie das eine Gerät aus, das gut sein sollte. (Ich habe gerade einen bestellt, auf dem die BTLE-Entwicklung durchgeführt werden soll.) Einige Geräte, die als BTLE-fähig verkauft wurden und von denen angenommen wird, dass sie über die erforderliche Hardware verfügen, sehen nicht so aus, als würden sie wirklich funktionieren. zB scheint das ursprüngliche Nexus das Update laut Google nicht zu bekommen.


2

Nachdem Android 4.3 (API Level 18) eine API für den Zugriff auf BLE verfügbar macht, können Apps von Drittanbietern diese Systemfunktion überprüfen. Eine App, die dies für Sie überprüfen kann, ist Bluetooth LE Scanner . Am oberen Rand der Hauptaktivität befindet sich eine Anzeige, die "Unterstützt" anzeigt, wenn Ihr Gerät über BLE-Funktionen verfügt.

Die App ist Open Source, sodass Sie sich die Implementierungsdetails auf GitHub ansehen können . Ich habe den Code überprüft, der verwendet wurde, um festzustellen, ob BLE unterstützt wird ( hier für Neugierige), und er sieht gemäß den offiziellen Android-Richtlinien korrekt aus. Daher habe ich keinen Grund zu der Annahme, dass die App die BLE-Unterstützung falsch meldet, es sei denn, Sie haben es versucht Ändern Sie Ihr Gerät, um zu versuchen, es zu "fälschen". In jedem Fall ist es auf meinem Nexus 5 korrekt. Apps, die versuchen, diese Prüfung durchzuführen, sind natürlich nur unter Android 4.3 oder höher nützlich.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.