蓝牙重新连接

时间:2016-11-01 16:09:42

标签: bluetooth raspberry-pi3 windowsiot

我有一个关于蓝牙连接的问题。我设置了一个蓝牙连接到我的设备(带有蓝牙屏蔽的Arduino Nano),无论出于什么原因,连接可能会失败。没关系,它是蓝牙,例如当设备超出范围时就会发生这种情况。但是在可能的情况下,我希望连接重新建立。这部分我遇到了问题;连接的代码不再工作了。似乎工作的是重启设备(只是重新启动应用程序是不够的)。在重新启动Pi之后,连接仍处于活动状态并再次启动。

因此,重启后似乎已经解决了一些问题,但我想知道如何解决此问题而无需重启。任何人?

更新更多背景信息。我使用Firmata库来连接和控制Arduino。尽管我不太愿意更改firmata代码,但我确实能控制双方。

1 个答案:

答案 0 :(得分:0)

要回答您的问题,我在此假设您可以控制任何设备。控制意味着您可以修改代码,以便设备可以尝试重新连接。

<强>问题

现在,在您的情况下,当设备超出范围时,连接会断开连接,但当它们进入范围时,您的设备本身都不会尝试重新连接到其他设备。除非您编写的代码试图继续重新连接到其最后连接的设备,否则即使它们在范围内,也不会尝试连接任何设备。当您重新启动设备时,您的aurdino设备可能会尝试重新连接到所有/最后连接的设备,因为重新连接会发生。

<强>解决方案

要解决您的问题,您可以在aurdino端添加一段代码,以便尝试以5秒的固定间隔重新连接到最后连接的设备。

<强>限制

然而,这更像是轮询你不确切知道设备是否实际在范围内的地方。在蓝牙中,在我们扫描设备之前,无法知道设备是否已进入范围。只有这个解决方案必须面对的问题是,它需要更多功率,因为​​即使设备不存在,它也会尝试通过蓝牙定期重新连接。

希望这有帮助。

此致