|
查看: 6|回复: 0

[BLE SDK] 如何获取对端设备的真实MAC地址(身份地址)?

[复制链接]

145

主题

338

回帖

1584

积分

管理员

积分
1584
发表于 6 小时前 | 显示全部楼层 |阅读模式 来自 上海
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: -
SDK及版本: -
手机连接设备后,获取到的对端 MAC 地址会动态变化(手机使用了可解析随机私有地址 RPA),如何拿到真实的 MAC 地址(身份地址 identity address)?

回答:

对端设备的"真实地址"叫做身份地址(identity address),首次配对时确定后不允许改变:

1、回连场景:直接可以拿到。回连和第一次配对拿到的身份地址是一样的,直接读取即可。

2、首次配对场景:需要确保在配对加密完成之后才能拿到。

3、实现方法:先用当前拿到的地址调用 SMP 相关 API 去查找 flash 中存储的配对信息,然后在 SMP 存储结构对应的变量中找到身份地址 identity address(例如 peer_id_addr 字段)。

如果对端只使用非可解析随机地址且未配对,那么无法获得其身份地址,这是 BLE 隐私机制决定的。

本版积分规则

关注公众号
隐私政策|Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部