我在尝试使用 btframework (www.btframework.com) 配对和绑定蓝牙 LE 设备时遇到问题,特别是 Nonin Wristox 3150 BLE
设备文档说明...
3150 BLE 使用 Just Works 带粘合支持的配对方法。成功配对后,收集器应启动绑定,3150 BLE 将保存与收集器关联的长期绑定密钥。 3150 BLE 需要 要绑定收集器以加密连接。粘合完成后,收集器应 加密连接。
我正在努力弄清楚我应该做什么来建立联系。实际上,我已经成功连接过一次,这就是我完成所有开发的方式,但是当我再次尝试时,我所做的似乎不起作用。使用 BTFramework 演示应用程序,他们的“GattClient” - 我可以发现我的设备没有问题,但是当我单击“连接”时,它连接到设备并显示 0 错误代码(表示成功),但设备一秒钟后断开连接。我猜这是因为我还没有完成上面所有的配对。
所以我使用他们的“蓝牙管理器”来尝试配对。我将 MITM 设置为“ProtectionRequiredBonding”,将 IOCap 设置为“DisplayOnly”,将 BLE Protection 设置为“Encryption”,然后单击“Pair”。
这实际上有效过一次 - 我被配对,然后我能够使用 GattClient 进行连接并获取服务、特征并查看特征变化。
但是我无法重复这个练习。当我使用 Windows 删除设备时,我回到了之前可以连接但被设备断开连接的状态,我再次尝试了上述操作。不过现在似乎不起作用了。当我现在尝试连接时,通常会收到错误 0x005105C(未找到设备)。在Windows设置设备页面中,状态似乎在“已连接”和“已配对”之间随机变化,有时设备本身就开始报告连接错误。 (该设备不太清楚导致错误的原因)。但它总是报告配对本身成功
还有这个:
如果加密过程失败,则收集器或 3150 BLE 可能已删除其绑定密钥。发生这种情况时,3150 BLE 将删除其绑定密钥(如果存在)。建议收集器也删除其绑定密钥(如果存在)。
这是我需要做的事情吗? btframework 是如何做到这一点的?
出现这种情况是因为您的设备具有随机 MAC,每次连接时都会发生变化。断开连接。
所以正确的顺序是:
如果您有任何疑问,通过电子邮件联系我们可以更快地得到答复([电子邮件受保护])。
为了跟进这个问题,结果发现这是我的设备特有的一个怪癖。它仅允许在装入电池后的前 2 分钟内进行配对。如果我取出电池并重新装上,我就可以与设备配对。