BLE:使用已绑定的设备启动绑定

时间:2018-02-03 03:06:57

标签: android bluetooth-lowenergy pairing

我有两个BLE设备配置为外围设备,简单的静态配对程序和Android手机作为客户端。 1)peripheral_1地址= 0xCECECECECE,带有静态密钥123456,设备名称= Garden,appearance = generic tag。 2)peripheral_2 address = 0xC1C1C1C1C1,带有静态密钥123456,Device name = Garden,appearance = generic tag。 两个外围设备IO都配置为仅显示。

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

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

现在我重复使用peripheral_2并且我看到相同的行为(客户端要求再次输入密钥)。

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

假设我将其中一个外设的外观更改为“unknown”,那么我看到客户端在绑定后没有要求密钥再次重新输入。只有这种组合 外观有效(“未知”与“”)。 任何意见,建议都非常感谢。

0 个答案:

没有答案