2

我有两个 BLE 设备配置为使用简单的静态通行配对程序和 Android 手机作为客户端作为外围设备工作。1) peripheral_1 地址 = 0xCECECECECE,静态密钥为 123456,设备名称 = Garden,外观 = 通用标签。2) peripheral_2 地址 = 0xC1C1C1C1C1,静态密钥为 123456,设备名称 = Garden,外观 = 通用标签。两个外设 IO 都配置为仅显示。

我尝试通过 nrfConnect 应用程序连接到 peripheral_1,我弹出输入密码,在提供正确的密码后,设备已绑定并且一切正常。对 peripheral_2 重复相同的过程,一切都很好。

现在真正的问题来了。在与 peripheral_2 断开连接后,我尝试连接到 peripheral_1,我再次弹出以输入已绑定设备的密码,为什么?此外,输入密钥后,我无法读取任何特征值,除非我断开连接并重新连接到 peripheral_1。为什么?

现在我用 peripheral_2 重复,我看到了同样的行为(客户要求再次输入密码)。

我认为 STK/LTK 应该是基于 BT 地址唯一生成并存储在客户的数据库中。

假设如果我将其中一个外围设备的外观更改为“未知”,那么我看到客户端在绑定后不要求再次输入密码。只有这种组合外观才有效(“未知”与“”)。非常感谢任何输入和建议。

4

0 回答 0