embedded - 在我取消配对后,如何确保我的 BLE 外围设备 (NRF52832) 再次重新连接?
问题描述
NRF52 有点新,所以如果这是一个菜鸟问题,请原谅。我使用 nrf52832 作为外围设备并加载 GATTS 的标准 SDK 外围设备示例(任何其他的结果都相同)。配置该设备后,我尝试将手机连接到它,这成功发生。但是在取消配对我的手机并尝试再次配置后,我的手机无法与设备配对。手机显示:无法配对。检查此设备的设置。
嗅探器显示:Rcvd 配对失败:不支持配对。我确实明白有些东西正在存储在持久内存中。那么如何删除它或如何再次加载该数据。
移动应用程序日志:错误 22 (0x16) GATT_CONN TERMINATE LOCAL HOST
解决方案
听起来您已经触发了 nRF 的默认安全功能之一。
nRF 知道它与手机有一个加密密钥(因为它之前已配对),但手机不知道密钥(因为您取消配对并且它删除了密钥),因此 nRF 假设有人试图欺骗真正的电话并丢弃连接作为防御。
不确定您使用的是哪个 nRF SDK,但如果您在初始化例程中搜索 peer_manager,您应该会看到允许覆盖密钥的选项。
这是 relivent文档。如果不考虑安全性,一个快速修复方法是删除 nRF 上的所有绑定信息pm_peers_delete()
推荐阅读
- python - RecursionError:混合 SKlearn 模型时超出最大递归深度
- reactjs - 给反应无状态功能组件一个打字稿类型的正确方法是什么
- php - 如何从数据库中获取特定行?
- rust - 检查 HashSet 中是否包含字符串切片
> 不分配新字符串 - angular - 如何正确制作放置在与项目/dockerfile不同的路径中的Docker Compose?
- python - 以实数形式将时间跨度字符串转换为秒
- python - 如何进行仅类型注释的类型断言?
- powershell - 在 Hyper-V 主机和来宾之间的 -FromSession 脚本中使用 Copy-Item 失败
- python - 在 python 3 中以格式给出'SyntaxError: invalid syntax'
- c - 便携式一致浮动