有什么方法可以唯一地识别BLE设备?

时间:2019-01-17 17:13:38

标签: java bluetooth-lowenergy rxandroidble

我想在本地存储有关BLE设备的信息,但是我不能依赖MAC地址,因为它经常更改。有什么办法吗?

1 个答案:

答案 0 :(得分:1)

蓝牙地址是区分设备的最佳方法。蓝牙规范中提到了以下内容[1]:

  

使用设备地址标识设备。设备地址可能是   公共设备地址或随机设备地址。公众   设备地址和随机设备地址的长度均为48位

正如Mike所提到的,MAC地址有几种类型,并且正在更改的不是您要查看的一种。蓝牙规范标识以下地址:-

  • 公共地址:这是根据IEEE 802-2014标准创建的唯一地址。对您来说,这是与您的答案相关的地址。
  • 随机静态地址:这是随机生成的地址,除非对设备重新通电,否则该地址不会更改。因此,如果您的设备没有关机后再打开,则可以使用此地址进行标识。
  • 私有可解析地址:这是一个不断变化的MAC地址(更改频率取决于应用程序),如果知道IRK(例如,即IRK),则可以解析该MAC地址并将其与设备的唯一地址相关联如果设备已配对)。
  • 私有不可解析地址:这是一个不断变化的MAC地址(更改频率取决于应用程序),无法解析,也无法与设备的唯一地址相关联。当设备仅做广告时,出于安全考虑,通常使用这种地址。

有关更多信息,请参见下面的参考。

我希望这会有所帮助。

[1]蓝牙核心规范版本5.0,第6卷,B部分,第1.3节“设备地址”。