我正在尝试连接自动要求焊接(PIN)的从机,问题是,我如何判断是否发生了焊接以及是否成功?
我在文档中找不到任何与此相关的回调。
提前谢谢。
发布于 2017-01-02 23:00:09
今年早些时候,我们在连接安卓和iOS的硬件方面遇到了类似的问题。不要把这当作你的问题的答案,而是分享你的经验。
如果你也想支持Android并联系BLE硬件的固件开发人员,我会鼓励你不要使用BLE绑定的方法,因为我们在Android上遇到了麻烦。Android设备使用各种不同的蓝牙芯片,这些芯片使用不同的方法进行连接。如果你不介意安卓,下面是你如何让它至少在iOS上工作:
您可以阅读iOS上的特征,尽管您还没有完成焊接过程。您可以做的是注册某个特性的通知/指示,如果绑定成功,则蓝牙外围设备会通知您。
如果您没有适当的通知或指示特征,也没有对外围设备软件的控制,这里有一个替代解决方案,您可以至少知道绑定过程是否有效:尝试读取蓝牙外围设备上的加密特征。在iOS上,如果您没有绑定,这应该是不可能的。您也可以尝试写入一个特征(但如果我没记错的话,如果该特征没有受到保护,您应该可以这样做)。
这些都是我们今年早些时候做的体验,祝你在蓝牙协议上好运。成功之路似乎相当漫长,但最终你会很高兴自己成功了:-)
发布于 2020-05-09 06:08:38
根据我的经验,对于“我们如何知道它是否结合”的问题,答案是
不管怎样,这就是对我有效的方法。
iOS仅触发与外围设备的绑定在特征上设置了requires-encryption属性,并且您仍然可以通过仅连接到未加密的特征(而不是绑定)来从retrievePeripherals获得结果。但是,如果没有绑定,重新连接尝试将失败(除非它继续通告)。
https://stackoverflow.com/questions/41428650
复制相似问题