解析以下ibeacon数据包

时间:2018-12-07 22:49:07

标签: ibeacon rssi tx

我正在尝试解析通过hci套接字扫描收到的ibeacon数据包

b'\x01\x03\x00\x18\xbe\x99m\xf3\x14\x1e\x02\x01\x1a\x1a\xffL\x00\x02\x15e\xec\xe2\x90\xc7\xdbM\xd0\xb8\x1aV\xa6-b 2\x00\x00\x00\x02\xc5\xcc'

十六进制格式01 03 00 18 be 99 6d f3 14 1e 02 01 1a 1a ff 4c 00 02 15 65 ec e2 90 c7 db 4d d0 b8 1a 56 a6 2d 62 20 32 00 00 00 02 c5 cc

应用解析器后的参数为 'UUID':'65ece290c7db4dd0b81a56a62d622032','MAJOR':'0000','MINOR':'0002','TX':-59,'RSSI':-60 我不确定此解析的RSSI部分是否正确。

参考此https://stackoverflow.com/a/19040616/10355673 信标广告包的最后一位是TX功率值。 那么我们如何获得rssi值?在这里,我将rssi设为cc,将tx设为c5。这是正确的吗?

1 个答案:

答案 0 :(得分:1)

在下面显示的制造商广告序列之前,有标志头,但是您实际上并不关心标志。这是您关心的字节:

 ff # manufacturee adv type
 4c 00 # apple Bluetooth company code
 02 15  # iBeacon type code
 65 ec e2 90 c7 db 4d d0 b8 1a 56 a6 2d 62 20 32 # proximity uuid
 00 00 # major 
 00 02 # minor
 c5 # measured power (tx power)
 cc # crc

接近UUUD:65ece290-c7db-4dd0-b81a-56a62d622032, 专业:0, 未成年人:2 实测功率:-59 dBm

RSSI不是传输数据包的一部分,而是接收器根据信号强度进行的测量。对于每个接收到的数据包,它通常将是一个略有不同的值。您可以从移动设备或嵌入式系统上的API(通过蓝牙芯片获取该值)中获得该值。