loginek0
Posts: 16
Joined: Fri Mar 13, 2015 7:11 am

Incorrect reading frames Bluetooth altbeacon

Tue May 05, 2020 11:37 am

After about a year and a half break, I updated Raspberry. It is used for remote reading of AltBeacon frames. I use the noble library for this, but it is probably not a problem.
The problem is that from time to time (e.g. every half hour or every hour) an incorrect reading comes, which I cannot verify correctness. About 90% of erroneous readings have an incorrect RSSI value (which is added and should be negative) - which I am able to bypass, but not always. Below is an example of a valid frame:

Code: Select all

{"id":"c0730d2f3666","address":"c0:73:0d:2f:36:66","addressType":"random","connectable":false,"advertisement":{"manufacturerData":{"type":"Buffer","data":[89,0,190,172,219,165,25,4,112,217,79,146,148,240,4,192,33,69,204,35,224,178,203,62,195,192]},"serviceData":[],"serviceUuids":[],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"rssi":-60,"state":"disconnected"}
and incorrect (which has different RSSIs and most importantly - manufacturerData is completely different, although I know that the device has not changed data 100%):

Code: Select all

{"id":"c0730d2f3666","address":"c0:73:0d:2f:36:66","addressType":"random","connectable":false,"advertisement":{"manufacturerData":{"type":"Buffer","data":[89,0,190,172,219,165,25,4,112,217,79,146,148,240,4,192,33,69,204,35,224,178,203,62,4,0]},"serviceData":[],"serviceUuids":[],"solicitationServiceUuids":[],"serviceSolicitationUuids":[]},"rssi":62,"state":"disconnected"}
What can cause such discrepancies? It seems to me that maybe a Bluetooth buffer is clogging somewhere, but I don't know how to fix it.

Return to “Advanced users”