Android蓝牙串行RFCOMM低波特率/传输缓慢

我正在开发一个 项目,用于从定制硬件发送和接收数据。我使用SDK中的 Bluetooth Chat Sample 作为基础。

我意识到,有没有办法改变 波特率 在客户端(Android手机)和波特率取决于硬件。我尝试在硬件上设置不同的 波特率 ,但没有一个符合我们的期望。

我获得的最快速度是91Kbps(当波特率设置为2.7Mbps〜910Kbps时)。使用最低波特率(115Kbps),我得到43Kbps。我尝试使用不同的电话,这是相同的。我需要每秒将170KB数据传输到硬件。


协议 :同步或生成的数据使用最大520字节大小的包发送到硬件。硬件在收到并批准每个程序包后发送验证命令,然后电话发送下一个数据包。

客户端 :Android 2.3.3,三星galaxy w i8150,蓝牙v3.0,RFCOMM

硬件 :自定义,蓝牙v2.1 BlueGiga WT11i


我完全感到困惑。这可能是手机上的Android或蓝牙设备引起的问题吗?我想知道最大波特率是多少?有没有一种方法可以加快传输速度(例如增加最大软件包大小,或发送所有软件包而无需等待硬件验证命令)。


将包大小更改为4160字节后,吞吐量已提高到254Kbps。我正在尝试找出达到1.5Mbps的最佳封装大小。我感谢任何建议

回答:

首先,更改蓝牙 *

影响 数据速率的因素将是 数据包大小, 可以通过蓝牙获得的 实际

最大数据速率,接收器读取的速度/发送者发送的频率。对于数据包大小,您可以查看内部文档,也可以尝试使用不同的大小以达到应用程序的最佳数量。我也建议发送

多个数据包 (或全部),直到流可以连续发送数据,类似地连续读取。

对您来说,这里的主要问题似乎是可以通过蓝牙实现的实用 。如果您使用的是非

版本(如您在问题中所述),则理论速度在非常低的水平上为 720Kbps ,加上头顶的协议和应用程序以及 协议开销,则最高可达到

450-500 Kbps

如果您可以访问两个+ 设备,即蓝牙版本2.0或更高版本+ EDR,则可以期望应用程序 为1.2到1.5

Mbps(空中比特率理论上为2.0或3.0 Mbps)

以上是 Android蓝牙串行RFCOMM低波特率/传输缓慢 的全部内容, 来源链接: utcz.com/qa/416772.html

回到顶部