【求助】如何提高Android向蓝牙设备传输数据的速率

山枝子 应用层 2021-02-25 02:20:45
使用的库是:'com.clj.fastble:FastBleLib:2.3.4'
Android App需要向蓝牙设备传输文件数据,现在的逻辑是上一个包发送成功后才会发下一个包。这个库会自动划分为20个字节发送出去,现在速度大概在1kb/s,感觉还是太慢了,一个40kb的文件需要发送40秒,我想请教一下应该怎么提高这个传送速度啊
...全文
2817 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
芝麻粒儿 2022-07-12
  • 打赏
  • 举报
回复

我遇到很类似的问题,单纯的收发是没事的,但是如果应用需要展示的内容,其他功能开的线程多了,接收就不行了。比如android加上各种渲染,各种实时心电图绘制。N多定时,加UDP\TCP和pc通信。+网络访问。

山枝子 应用层 2021-03-16
  • 打赏
  • 举报
回复
引用 17 楼 不会写代码的猴子 的回复:
是吧,还是回到最初了,就该硬件改。
是的,还是硬件的问题。我还一直怀疑自己,有时候就该自信点
不会写代码的猴子 版主 2021-03-16
  • 打赏
  • 举报
回复
引用 16 楼 山枝子 的回复:
最终结果是硬件的问题,硬件修改了MTU可扩展后,软件设置MTU=247,就可以以每包最大244个字节进行传输了,速度也提升至大概14kb/s左右 感谢大家的帮助~
是吧,还是回到最初了,就该硬件改。
山枝子 应用层 2021-03-16
  • 打赏
  • 举报
回复
最终结果是硬件的问题,硬件修改了MTU可扩展后,软件设置MTU=247,就可以以每包最大244个字节进行传输了,速度也提升至大概14kb/s左右 感谢大家的帮助~
山枝子 应用层 2021-03-04
  • 打赏
  • 举报
回复
引用 13 楼 huangkeyuang 的回复:
修改MTU即可
嗯嗯,我尝试着修改了MTU,但是回调回来的mtu还是23。 但是这个蓝牙设备,硬件告诉我最多一次接收247个字节,说明它的mtu是247吧,但为什么修改MTU不行呢?是我哪里调用不对吗?我就是在连接成功之后调用修改MTU的方法的,求教
山枝子 应用层 2021-03-04
  • 打赏
  • 举报
回复
引用 11 楼 我的大神666 的回复:
我用的是我弟之前的库,双模蓝牙自动使用SPS模式传输文件和媒体信息,控制设备是自动使用BLE模式,BLE模式没有测速的,这是我购买模块的参数:
好的,感谢。 SPP和BLE是蓝牙硬件使用的两种不同的协议是吧,大概百度了一下,我还需要多研究一下
huangkeyuang 2021-03-04
  • 打赏
  • 举报
回复
修改MTU即可
qq_41442872 2021-03-03
  • 打赏
  • 举报
回复
不太懂,就进来看看
「已注销」 2021-03-02
  • 打赏
  • 举报
回复
我用的是我弟之前的库,双模蓝牙自动使用SPS模式传输文件和媒体信息,控制设备是自动使用BLE模式,BLE模式没有测速的,这是我购买模块的参数:
山枝子 应用层 2021-02-28
  • 打赏
  • 举报
回复
引用 8 楼 我的大神666 的回复:
尝试了一下,都是蓝牙4.2,测试是客户端发送随机字节数,服务端收到后并返回收到字节总数的统计时间
你的速度这么快!!能给我源码让我参考参考吗
山枝子 应用层 2021-02-28
  • 打赏
  • 举报
回复
引用 7 楼 不会写代码的猴子 的回复:
https://blog.csdn.net/qq_32115439/article/details/80379262 你看看这个??
好的,谢谢,我再研究研究
「已注销」 2021-02-27
  • 打赏
  • 举报
回复
尝试了一下,都是蓝牙4.2,测试是客户端发送随机字节数,服务端收到后并返回收到字节总数的统计时间
不会写代码的猴子 版主 2021-02-26
  • 打赏
  • 举报
回复
https://blog.csdn.net/qq_32115439/article/details/80379262 你看看这个??
山枝子 应用层 2021-02-25
  • 打赏
  • 举报
回复
引用 4 楼 不会写代码的猴子 的回复:
恐怕不容易 主要还是要知道你设备的能接收多快,应用端只能解决发多快。
哎,我太难了 主要还是想请教下在软件方面还有哪些可以提升速度的地方
山枝子 应用层 2021-02-25
  • 打赏
  • 举报
回复
引用 3 楼 汤姆.刻录盘 的回复:
在蓝牙基础协议的前提下,完全依赖设备的接收协议,对方不给你机会你没办法提高的。换句话说,要提高就要研究对方的协议才行。
好的,但我还有一个疑问,我用其它的ble蓝牙助手去给我的设备传输文件,速度大概在1.5-2kb/s之间浮动。但我用自己的测试,发现速度大概就稳定在1kb/s,所以我在想是不是在软件方面还有可以提升速度的地方。但是我也没想到方法,而且看了下这个库提供的方法,也没找到什么方法
不会写代码的猴子 版主 2021-02-25
  • 打赏
  • 举报
回复
恐怕不容易 主要还是要知道你设备的能接收多快,应用端只能解决发多快。
比特灵 初级 2021-02-25
  • 打赏
  • 举报
回复
在蓝牙基础协议的前提下,完全依赖设备的接收协议,对方不给你机会你没办法提高的。换句话说,要提高就要研究对方的协议才行。
山枝子 应用层 2021-02-25
  • 打赏
  • 举报
回复
对啊,之前那个帖子我还想问来着,然后我回复不了了 我用过一个工具ble蓝牙助手去给我的设备传输文件,速度大概在1.5-2kb/s之间,所以想请教下应该怎么提高 现在是一个包发完直接发送下一个包,速度比之前快了,但还是挺慢的,但我又实在不知道怎么去提高这个速度了
不会写代码的猴子 版主 2021-02-25
  • 打赏
  • 举报
回复
卧槽,你这个问题还没解决吗? 是不是你们的设备传输带宽只能这么大?
通过性能监控工具nmon的学习,清楚的了解Linux服务器资源CPU、磁盘、内存、网络、进程之间的关联,了解nmon监控结果的字段的含义以及影响,更重要的是通过熟悉监控结果中字段数据的由来,理清性能测试的分析思路,学会性能测试的分析方法。 课程内容:第一章:课程简介课程介绍课程大纲第二章:nmon介绍nmon简介nmon下载nmon安装nmon屏幕统计-交互模式nmon数据统计-数据收集模式nmon进程关闭nmon分析工具nmon数据文件解析第三章:nmon数据分析SYS_SUMM【系统资源汇总】AAA【服务器基本信息】BBBP【Linux执行的命令和结果】CPU_ALL【所有CPU数据的概述】CPU_SUMM【每个CPU的整体占用情况】CPU001【CPU001的每个时间点占用情况】DISK_SUMM【磁盘的吞吐量和IOPS】DISKBSIZE【磁盘块信息】DISKBUSY【磁盘的繁忙情况】DISKREAD【磁盘的读取操作速率】DISKXFER【磁盘的I/0传输速率】JFSFILE【JFS文件空间使用百分比】MEM【内存】VM【虚拟内存】NET【网络数据传输速率】NETPACKET【网络数据包】PROC【进程】TOP【PID进程相关的CPU/内存等】 课程提供的下载资料:包含通过nmon收集的Linux服务器资源信息ecs-lc_220715_1019.nmon文件,大家在没有Linux服务器的情况下,可以通过对这个文件进行nmon数据解析和数据分析的学习。 

80,330

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧