Je tente d'obtenir une estimation de la portée d'un périphérique BLE, compte tenu des périphériques RSSI et de la puissance de transmission calibrée.Android BLE iBeacon annonce paquet plus grand que prévu
Le txPower calibré est censé être émis comme dernier octet dans le paquet de publicité iBeacon des périphériques. Ces paquets, selon la documentation que j'ai trouvée, devraient avoir une longueur de 30 octets.
Toutefois, le byte[]
renvoyé pour le paquet a une longueur de 62 octets. Pour cette raison, le format des données de publicité est inconnu.
Pourquoi cela peut-il se produire et y a-t-il un moyen de déchiffrer le format du paquet de 62 octets?
C'est bizarre. Existe-t-il un moyen plus simple d'obtenir le txPower calibré du périphérique? La constante calibrée est vraiment tout ce dont j'ai besoin de la publicité. – Orbit
Vous devez obtenir la constante à partir des octets de la publicité. Une solution plus simple que l'analyse des PDU consiste à rechercher le modèle d'octets du préfixe iBeacon statique, puis à trouver la constante d'étalonnage basée sur un décalage à partir de là. L'inconvénient de cette approche est que la séquence d'octets peut apparaître (par hasard) ailleurs dans la publicité, provoquant l'échec de la technique. – davidgyoung