Das habe ich gesucht:
Die BLE-Scan-API BluetoothAdapter.startLeScan (ScanCallback) benötigt eine Rückruffunktion für die Scan-Ergebnisse. Die Methode muss wie folgt aussehen:
%Vor%Und die scanRecord-Variable ist ein Byte-Array, das die Payload des Advertisement-Pakets enthält.
Gemäß der BLE-Spezifikation ist die Struktur der Nutzlast wie folgt sehr einfach:
Die Pakete können bis zu 47 Bytes lang sein und bestehen aus:
Für Werbekommunikationskanäle ist die Zugriffsadresse immer 0x8E89BED6.
Die PDU wiederum hat ihren eigenen Header (2 Byte: Größe der Nutzlast und ihres Typs - ob das Gerät Verbindungen unterstützt usw.) und die tatsächliche Nutzlast (bis zu 37 Byte).
Schließlich sind die ersten 6 Bytes der Payload die MAC-Adresse des Geräts, und die tatsächliche Information kann bis zu 31 Bytes umfassen.
Das Format der tatsächlichen Informationen ist wie folgt:
erstes Byte ist die Länge der Daten und zweites Byte ist der Typ gefolgt von den Daten.
Dies ist eine clevere Möglichkeit, jeder Anwendung zu erlauben, ganze Datensätze zu überspringen, wenn sie sich nicht um den Inhalt kümmern.
Hier ist der Beispielcode, um den Inhalt des Advertisement-Pakets zu bestimmen:
%Vor%Danke an
Masse , um mich in die richtige Richtung zu lenken!
ADPayloadParser in nv-bluetooth analysiert die Nutzdaten eines Werbepakets und gibt eine Liste der AD-Strukturen zurück. Das AD-Strukturformat wird in "11 ADVERTISING- UND SCAN-RESPONSE-DATENFORMAT" der "Bluetooth Core Specification 4.2" beschrieben.
Das folgende Code-Snippet ist ein Implementierungsbeispiel für onLeScan Methode.
%Vor%Sie können einen eigenen Parser für Ihr herstellerspezifisches Format in ADPayloadParser registrieren. Weitere Informationen finden Sie unter den folgenden Links.
Blog: Ссылка
GitHub: Ссылка
JavaDoc: Ссылка
Maven: Ссылка
bearbeiten 21.02.2016
Die unten verlinkte Bibliothek scheint verschoben worden zu sein; siehe Ссылка
Sie können zunächst die Android iBeacon Library verwenden.
Es gibt eine Referenzanwendung, die Sie für die Grundlagen und mit simulierten Daten verwenden können. ~ Ссылка
Sobald Sie es in Betrieb genommen haben, möchten Sie vielleicht die Bibliothek importieren und sie mit Ihrem echten Gerät verwenden, es gibt auch einen Beispielcode auf der Site: Ссылка
Tags und Links android bluetooth-lowenergy