Embedded 如何确保解除配对后重新连接BLE外围设备(NRF52832)?

Embedded 如何确保解除配对后重新连接BLE外围设备(NRF52832)?,embedded,bluetooth-lowenergy,wireshark,packet-sniffers,nrf52,Embedded,Bluetooth Lowenergy,Wireshark,Packet Sniffers,Nrf52,NRF52有点新,所以如果这是一个noob问题,请原谅。我使用nrf52832作为外围设备,并加载GATTS的标准SDK外围设备示例(任何其他示例都会产生相同的结果)。 配置完那个设备后,我尝试将手机连接到它,但成功了。但在断开电话配对并尝试重新配置后,我的手机无法与设备配对。 电话节目: 无法配对。请检查此设备的设置 嗅探器显示: Rcvd配对失败:不支持配对。 我知道有些东西被存储在持久性内存中。那么如何删除它,或者如何再次加载该数据呢 移动应用程序日志: 错误22(0x16)GATT_CO

NRF52有点新,所以如果这是一个noob问题,请原谅。我使用nrf52832作为外围设备,并加载GATTS的标准SDK外围设备示例(任何其他示例都会产生相同的结果)。 配置完那个设备后,我尝试将手机连接到它,但成功了。但在断开电话配对并尝试重新配置后,我的手机无法与设备配对。 电话节目: 无法配对。请检查此设备的设置

嗅探器显示: Rcvd配对失败:不支持配对。 我知道有些东西被存储在持久性内存中。那么如何删除它,或者如何再次加载该数据呢

移动应用程序日志:
错误22(0x16)GATT_CONN TERMINATE LOCAL HOST听起来像是您触发了nRF的默认安全功能之一

nRF知道它在手机上有一个加密密钥(就像之前配对的一样),但手机不知道密钥(因为你把它拆开了,它删除了密钥),所以nRF假设有人试图欺骗真实的手机,并放弃连接作为防御

不确定您使用的是哪个nRF SDK,但是如果您在初始化例程中搜索peer_manager,您应该会看到一个允许对密钥进行过度写入的选项


这是救济品。如果不考虑安全性,一个快速修复方法是使用
pm\u peers\u delete()

删除nRF上的所有绑定信息。听起来您已经触发了nRF的默认安全功能之一

nRF知道它在手机上有一个加密密钥(就像之前配对的一样),但手机不知道密钥(因为你把它拆开了,它删除了密钥),所以nRF假设有人试图欺骗真实的手机,并放弃连接作为防御

不确定您使用的是哪个nRF SDK,但是如果您在初始化例程中搜索peer_manager,您应该会看到一个允许对密钥进行过度写入的选项


这是救济品。如果不考虑安全性,一个快速修复方法是使用
pm\u peers\u delete()

删除nRF上的所有绑定信息。您使用的是北欧开发板还是定制板?另外,您是否附加了调试器?我相信设置存储在闪存的一部分,因此如果您使用nRFgo Studio应用程序或其他东西擦除整个芯片,然后重新刷新软设备和其他所有内容,您应该能够回到原点,以便调试问题。嗨@LaneL,我使用的是nordic dvk 52832,我可以擦除整个设备并获得输出。有点熟悉这一点,但有没有一种方法我不必擦除我的整个设备,只是为了再次配对?您可以使用nrfjprog命令行工具来清除闪存的设置部分。(我想他们称之为引导加载程序设置页面)。听起来您需要调试代码才能弄清楚这里发生了什么。您是使用北欧开发板还是自定义板?另外,您是否附加了调试器?我相信设置存储在闪存的一部分,因此如果您使用nRFgo Studio应用程序或其他东西擦除整个芯片,然后重新刷新软设备和其他所有内容,您应该能够回到原点,以便调试问题。嗨@LaneL,我使用的是nordic dvk 52832,我可以擦除整个设备并获得输出。有点熟悉这一点,但有没有一种方法我不必擦除我的整个设备,只是为了再次配对?您可以使用nrfjprog命令行工具来清除闪存的设置部分。(我想他们称之为引导加载程序设置页面)。听起来您必须调试代码才能弄清楚这里发生了什么。