如何提高蓝牙中从 android 到 arduino 的数据传输速度?

How to increase the speed of transfer of data from android to arduino in bluetooth?

我正在尝试使用 android 应用程序来处理使用蓝牙的机器人的路径查找算法。但目前,传输完成需要 1 或 2 秒,因此 Arduino 中有输出。有没有办法将其最小化以使传输输出即时?

这种延迟导致检测到障碍物时立即停止等问题。有没有更好的方法来做到这一点? 提前致谢!

简单的回答:你不能,蓝牙太慢了。如果您改为在 arduino 板上使用寻路算法,则可以避免该问题。您也可以尝试为您的 arduino 代码添加延迟,因为 arduino 可能会重复发送消息而没有考虑蓝牙的延迟。

您没有提到您使用的是哪种设备。我假设您将蓝牙芯片组连接到 UART 端口(如在 arduino Uno 中),在这种情况下,整个通信中最慢的部分是 Arduino 和蓝牙芯片组之间的串行接口。检查您使用的波特率,它是否可以进一步增加。我认为默认值为 9600,即每秒仅约 960 字节。设置您的设备和蓝牙芯片支持的最大波特率。

两个简单的解决方案对我有用:-

  1. 将延迟增加到 50 - 100 毫秒。

  2. setup()中的Serial.begin(9600)之后添加这个;

    Serial.setTimeout(50);
    

第二步是最重要的。只有在我添加上面的代码后它才对我有用。当我遇到完全相同的问题时,在我查看的许多其他论坛中并没有经常提到这一点。