2013-10-28 5 views
8

Problemdefinition: Ich habe versucht, BLE proximity profile für Bluetooth LE auf Android zu verwenden. Einige der Geräte wie Google Nexus Tablet der neuen Generation mit 4.3 Android unterstützen BLE und können als central Gerät fungieren. Ich lese die offizielle Android-Dokumentation der Bluetooth LE aber ihre scheint keine Unterstützung dafür. Können Sie Ihr eigenes Proximity-Profil implementieren?Erkennen von Nähe mit Bluetooth LE "Proximity" -Profil Android

Fragen, die über die Nähe Profil auf Android sprechen, sind aber keine Hilfe

Jede Hilfe ist willkommen. Vielen Dank.

+5

Das Proximity-Profil definiert zwei Rollen: Proximity Monitor und Proximity Reporter. Der Proximity Reporter muss ein GATT-Server sein. Der Proximity Monitor muss ein GATT-Client sein. Das Android-Gerät, das nur in der zentralen Rolle agieren kann, kann daher Proximity Monitor, aber nicht Proximity Reporter sein. –

Antwort

1

Leider kann der Android nur als zentrale nicht periphere fungieren. Eine benutzerdefinierte Profilerstellung ist zu diesem Zeitpunkt nicht möglich. Eher können Sie das Profil verwenden, das von gatt zur Verfügung gestellt wird.

Beispiel: Temperaturüberwachungsprofil. Stattdessen können Sie den benutzerdefinierten Dienst und die Merkmale auf dem iPhone erstellen und als Beacon verwenden.

Auch wenn Sie Hardware-Gerät von Estimote und anderen Unternehmen verwenden, können Sie die Daten von Android-Gerät antworten, d. H. Dienste und Eigenschaften haben die Eigenschaften wie Lesen, Schreiben und Benachrichtigen. Aber wenn Sie iPhone als Beacon machen, dann können Sie den Wert von Android-Gerät nicht erhalten.

1

Um näher auf shubhams's answer:

Leider gibt es keine Möglichkeit für Android-Geräte als Peripherie zu handeln. Er kann GATT-Server, -Dienste und -Charakteristiken erstellen, aber es gibt keine Möglichkeit, Werbung zu machen. (https://stackoverflow.com/a/18020153/3061383)

Da Android nicht (noch) keine andere Unterstützung BLE Gerät Werbung ist in der Lage, eine Verbindung zu einem Android-Gerät zu initiieren. Ab sofort muss das Android-Gerät die Verbindung aufbauen.

6

Juni 2014:

Vielen Dank allen für die Antworten. Ab Juni 2014 wird der BLE Peripheral Mode in der Android L Developer Preview angeboten. So können Android-Geräte jetzt sowohl in peripherer als auch in zentraler Rolle agieren. Ich hoffe, es in der offiziellen Veröffentlichung Android L zu sehen. Zitat aus ihrem Blog New in Android: L Developer Preview and Google Play Services 5.0:

Die L Developer Preview, können Sie viele der neuen Features und Funktionen der nächsten Version von Android erkunden, und bietet alles, was Sie brauchen, um loszulegen Entwicklung und Erprobung auf die neue Plattform. Hier sind ein paar der Highlights für Entwickler:

BLE Peripherie Modus - Android-Geräte können jetzt funktionieren in Bluetooth Low Energy (BLE) peripheren Modus.Apps können diese Funktion nutzen, um ihre Präsenz auf Geräten in der Nähe zu übertragen. So können Sie beispielsweise Apps erstellen, mit denen ein Gerät als Schrittzähler oder Gesundheitsmonitor fungieren und Daten an ein anderes BLE-Gerät übertragen kann.

-Update 16. Oktober 2014:

Sein jetzt heraus! Zur Kasse Android 5.0 wireless changes Seite.

8. Update Dezember 2014

Die schlechte neu ist, dass BLE Peripheral-Modus nur auf den neueren Android-Geräten (gemäß dem Datum) arbeitet, nämlich Nexus 6 und Nexus 9. Es wird nicht funktionieren auf Nexus 4/Nexus 5/Nexus 7/Nexus 10, auch wenn Sie es auf Android 5.0 aktualisieren. Sie können die comment von einem der Android-Projektmanager auf BLE advertise mode not working Ticket lesen. Er sagt:

Wir haben BLE-Peripherie-Modus in Android 5.0 Lollipop eingeführt. Nexus 6 und Nexus 9 sind die ersten beiden Nexus-Produktionsgeräte, die den BLE-Peripheriemodus unterstützen. Aufgrund der Hardware-Chipset-Abhängigkeit haben ältere Nexus-Geräte (4/5/7) keinen Zugriff auf die Funktion auf Lollipop.

Dank Rob Anderson für die Information.

+0

Aber soweit ich weiß, funktioniert es nur auf Nexus 6 und Nexus 9. Ich habe es auf meinem Nexus 4 (Android 5.0) versucht und es funktioniert nicht. –

+0

AFAIK Nexus 4 unterstützt es. Sehen Sie die Liste der Geräte hier: http://www.bluetooth.com/Pages/Bluetooth-Smart-Devices-List.aspx –

+0

Sorry, aber ich spreche über Peripheriemodus! Nexus 4 unterstützt es nicht! Ich habe den folgenden Code geschrieben, um es zu testen: https://github.com/hennroja/AndroidBLEPeripheralTest –

Verwandte Themen