我正在一个项目中,其中中央设备连接到宣传特定GATT服务的外围设备。中央设备与电话交换一些信息,此后不再需要连接并且设备断开连接。
我遇到的问题是,手机似乎在每次建立新连接后都会更改其MAC地址。因此,基本上,每次我连接到设备时,都会出现一个新设备。因此,我的中央节点尝试再次连接到新服务。这很烦人,因为我正在考虑使用MAC地址来知道我已经连接到该设备并且不需要再次进行信息交换。请注意,我知道MAC地址始终每30分钟旋转一次,这是我愿意处理的问题,每30分钟连接一次很好,但是连接的旋转会导致我的设备与手机链式连接,总是像新设备。
我曾考虑过解决此问题的一些想法:
以前有没有人处理过这个问题?关于如何解决该问题的任何想法?
谢谢
如果您将设备与蓝牙配对,则Android设备将通过其IRK(身份解析密钥)发送。有了它,您将能够确定给定的蓝牙设备地址是否由特定的IRK生成。这样,您可以识别Android设备。如果您将iOS替换为Android,则其工作原理相同。
请参阅您的蓝牙协议栈文档如何处理IRK。