我在使用 IRK 时面临一个挑战。请指导 - 也许我错过了一些信息。
场景:
BLE 5.0 Device Acting Slave(我们称之为 BSL)生成 IRK 1 并与主设备 1 绑定(我们称之为 BMS1)。假设它在一段时间后断开连接,并且 BSL 将开始使用 IRK 1 生成的地址进行广告(在 BSL 和 BMS1 之间共享)。现在任何时候master想要与BSL通信,它都可以使用IRK1扫描Advertise数据包的解析地址并开始通信。
困难的部分从这里开始:
假设在与 BSM1 断开连接后,BSL 设备使用新的 IRK2 与另一个 BSM2 绑定(根据我的理解,每次设备绑定到新的 BSM 时,BSL 都会生成新的 IRK)。现在假设,一段时间后,与 BSM2 的连接断开。此时BSL已经产生了两个IRK:IRK1和IRK2来与BSM1和BSM2通信。
现在我的问题是:此时
什么地址会有BSL的广告包?使用 IRK1 生成的地址可解析,还是使用 IRK2 可解析的地址,或在顺序广告数据包中同时使用这两个地址?
如果它是其中之一,无论是 IRK1 还是 IRK2 地址,那么即使我没有丢失配对或绑定信息,我也无法与一台设备通信。
如果我的理解有误,请告诉我。