首页 > 解决方案 > 在我取消配对后,如何确保我的 BLE 外围设备 (NRF52832) 再次重新连接?

问题描述

NRF52 有点新,所以如果这是一个菜鸟问题,请原谅。我使用 nrf52832 作为外围设备并加载 GATTS 的标准 SDK 外围设备示例(任何其他的结果都相同)。配置该设备后,我尝试将手机连接到它,这成功发生。但是在取消配对我的手机并尝试再次配置后,我的手机无法与设备配对。手机显示:无法配对。检查此设备的设置。

嗅探器显示:Rcvd 配对失败:不支持配对。我确实明白有些东西正在存储在持久内存中。那么如何删除它或如何再次加载该数据。

移动应用程序日志:错误 22 (0x16) GATT_CONN TERMINATE LOCAL HOST

标签: embeddedbluetooth-lowenergywiresharkpacket-sniffersnrf52

解决方案


听起来您已经触发了 nRF 的默认安全功能之一。

nRF 知道它与手机有一个加密密钥(因为它之前已配对),但手机不知道密钥(因为您取消配对并且它删除了密钥),因此 nRF 假设有人试图欺骗真正的电话并丢弃连接作为防御。

不确定您使用的是哪个 nRF SDK,但如果您在初始化例程中搜索 peer_manager,您应该会看到允许覆盖密钥的选项。

这是 relivent文档。如果不考虑安全性,一个快速修复方法是删除 nRF 上的所有绑定信息pm_peers_delete()


推荐阅读