Je suis en train de développer une application qui analyse les balises à portée et affiche les données des balises à l'utilisateur. J'utilise Android Bluetooth LE API. Dans la méthode onScanResult()
, j'obtiens l'objet ScanResult
que j'analyse ensuite en octets bruts. Ceci est un exemple de ce que je reçois d'un de mes balises:Android Bluetooth LE API onScanResult ScanRecord octets signifiant
02:01:06:1A:FF:4C:00:02:15:74:27:8B:DA:B6:44:45:20:8F:0C:72:0E:AF:05:99:35:00:00:00:01:C5:02:0A:00:08:16:F0:FF:64:00:00:00:01:11:09:4D:69:6E:69:42:65:61:63:6F:6E:5F:33:36:38:35:30:00:00
J'ai eu aucun problème à trouver ce que la première partie moyenne - il correspond au format IBeacon:
02:01:06:1A:FF:4C:00:02:15 - iBeacon prefix
74:27:8B:DA:B6:44:45:20:8F:0C:72:0E:AF:05:99:35 - UUID
00:00 - Major
00:01 - Minor
C5 - TX power
Mais je Je n'ai aucune idée de ce que sont les autres octets. S'agit-il d'une sorte de données spécifiques au fabricant ou quoi? Peuvent-ils être utilisés pour obtenir des informations utiles?
02:0A:00:08:16:F0:FF:64:00:00:00:01:11:09:4D:69:6E:69:42:65:61:63:6F:6E:5F:33:36:38:35:30:00:00
Voici une bonne explication du format de trame de numérisation: https://github.com/alt236/Bluetooth-LE-Library---Android/blob/master/library/src/main/java/uk /co/alt236/bluetoothlelib/device/adrecord/AdRecord.java –