搜索
bottom↓
回复: 36

请教蓝牙传数据给手机高速率方案

[复制链接]

出0入0汤圆

发表于 2018-1-22 13:10:39 | 显示全部楼层 |阅读模式
我做了一个采集设备,蓝牙传输给手机,蓝牙模块透传最高115200bps,速度太慢,我想速度1Mbps左右,看蓝牙协议好像EDR可以,但是是手机
传耳机,不知道蓝牙模块可以编程采用EDR模式给手机吗?
熟悉蓝牙的各位有没有更好方案?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2018-1-22 13:41:04 | 显示全部楼层
蓝牙2.0透传,最高波特率1382400bps,可长时间持续传输数据

出0入0汤圆

发表于 2018-1-22 13:51:16 | 显示全部楼层
ljy99731 发表于 2018-1-22 13:41
蓝牙2.0透传,最高波特率1382400bps,可长时间持续传输数据

有类似需求,
请教这位坛友:你是自己做的板子,还是现成的板子

出0入442汤圆

发表于 2018-1-22 13:53:46 来自手机 | 显示全部楼层
ljy99731 发表于 2018-1-22 13:41
蓝牙2.0透传,最高波特率1382400bps,可长时间持续传输数据

做梦吧,一个wifi路由器就给你干扰到不知了。

出0入0汤圆

发表于 2018-1-22 13:57:58 | 显示全部楼层
wye11083 发表于 2018-1-22 13:53
做梦吧,一个wifi路由器就给你干扰到不知了。

测试过HC06,1382400bps可以持续传输,不过就像你说的,确实受制于无线环境

出0入0汤圆

发表于 2018-1-22 14:03:59 | 显示全部楼层
ljy99731 发表于 2018-1-22 13:57
测试过HC06,1382400bps可以持续传输,不过就像你说的,确实受制于无线环境

BT方式,IOS有做过吗?安卓的容易实现,IOS的要MFI芯片

出0入0汤圆

发表于 2018-1-22 14:41:35 | 显示全部楼层
Jacy 发表于 2018-1-22 14:03
BT方式,IOS有做过吗?安卓的容易实现,IOS的要MFI芯片

IOS是系统限制了每秒数据量,而且不支持2.0的蓝牙模块

出0入0汤圆

 楼主| 发表于 2018-1-22 17:48:39 | 显示全部楼层
刚才看了一下成品HC06有点大,没有小点的模块吗?像nRF52832这种芯片和手机透传可以达到这个速率吗?

出0入0汤圆

发表于 2018-1-24 00:11:53 | 显示全部楼层
android多手机支持otg,可以往这方面考虑考虑

出0入0汤圆

发表于 2018-1-24 02:08:50 | 显示全部楼层
zhousun 发表于 2018-1-22 17:48
刚才看了一下成品HC06有点大,没有小点的模块吗?像nRF52832这种芯片和手机透传可以达到这个速率吗? ...

4.0的就别考虑了,不是为高速传输准备的,主打低功耗和远距离

出0入102汤圆

发表于 2018-1-24 10:29:06 | 显示全部楼层
LZ现在用的是BLE模块吗?
按照BLE规范,一次只能发送 20字节数据。BLE主要是考虑低功耗,不适合传输大量数据。
建议还是用经典蓝牙2.1+EDR版本模块。
如果考虑体积小的模块,可以看看F1E12和F1DC2706.

出0入0汤圆

发表于 2018-1-24 13:38:20 | 显示全部楼层
如果使用蓝牙与手机传输,并且速率还要保证1Mbps。那么首先排除BLE芯片,其次只能使用经典蓝牙BT2.0/2.1进而排除iPhone手机(其实也可以传输,但是必须使用MFi认证)。
所以,要满足楼主的要求,其实只能在Android手机连接BT2.0/2.1芯片,然后BT芯片采用SPP/RFCOMM协议传输数据。

出0入0汤圆

 楼主| 发表于 2018-1-24 16:58:26 | 显示全部楼层
pingdan32 发表于 2018-1-24 13:38
如果使用蓝牙与手机传输,并且速率还要保证1Mbps。那么首先排除BLE芯片,其次只能使用经典蓝牙BT2.0/2.1进 ...

谢谢指导!

出0入0汤圆

 楼主| 发表于 2018-1-24 16:58:44 | 显示全部楼层
N_EMBED 发表于 2018-1-24 10:29
LZ现在用的是BLE模块吗?
按照BLE规范,一次只能发送 20字节数据。BLE主要是考虑低功耗,不适合传输大量数 ...

谢谢详细回复!

出0入0汤圆

发表于 2018-1-25 12:57:22 | 显示全部楼层
pingdan32 发表于 2018-1-24 13:38
如果使用蓝牙与手机传输,并且速率还要保证1Mbps。那么首先排除BLE芯片,其次只能使用经典蓝牙BT2.0/2.1进 ...

在知道蓝牙地址和 名称的情况下能实现快速配对吗?  对传输速率 和功耗没有要求 ,但是需要在100平米内的房间内 实现 100部手机分别与 100 个蓝牙模块的快速联接,有这样的可行方法吗?

出0入0汤圆

发表于 2018-1-26 11:12:53 | 显示全部楼层
liuzhijun2008 发表于 2018-1-25 12:57
在知道蓝牙地址和 名称的情况下能实现快速配对吗?  对传输速率 和功耗没有要求 ,但是需要在100平米内的 ...

蓝牙配对其实没有所谓的快速还是慢速,要么配对,要么直接连接(配对的设备在没有删除绑定信息时)。也就是说:
两个经典蓝牙设备从来没有配对过(或者已经删除绑定信息),那么连接的时候必须先配对(经典蓝牙的连接必须先配对,BLE可以不配对。配对有很多种方式,什么也不输入/输入PINCODE/YESNO等)。
当首次配对成功后,那么称二者为绑定。此后这二者再次连接时,不再需要配对,直接建立连接。

出0入0汤圆

发表于 2018-1-26 12:44:20 | 显示全部楼层
pingdan32 发表于 2018-1-26 11:12
蓝牙配对其实没有所谓的快速还是慢速,要么配对,要么直接连接(配对的设备在没有删除绑定信息时)。也就 ...

BLE  ANDROID  和IPHONE 可以直联吗?

出0入0汤圆

发表于 2018-2-25 14:31:12 | 显示全部楼层
liuzhijun2008 发表于 2018-1-26 12:44
BLE  ANDROID  和IPHONE 可以直联吗?

可以的,只要Android和iOS系统内装相应BLE的APP,就可以与支持BLE设备连接。

出0入0汤圆

发表于 2018-2-25 19:21:05 | 显示全部楼层
pingdan32 发表于 2018-2-25 14:31
可以的,只要Android和iOS系统内装相应BLE的APP,就可以与支持BLE设备连接。

加我马化腾 0X39D8B299  具体请教一下 .

出0入0汤圆

发表于 2018-2-27 14:28:47 | 显示全部楼层
科普贴,关注一下

出0入0汤圆

发表于 2018-2-27 14:50:36 | 显示全部楼层
liuzhijun2008 发表于 2018-2-25 19:21
加我马化腾 0X39D8B299  具体请教一下 .

0x系列,你牛逼了,发现真是一个好方法啊。

出0入0汤圆

发表于 2018-3-24 08:09:51 | 显示全部楼层
liuzhijun2008 发表于 2018-2-25 19:21
加我马化腾 0X39D8B299  具体请教一下 .

牛逼。。。但是我很多年都不玩企鹅了。有问题您在这里尽管提,我可能回复的慢一些,能力范围内肯定会回复的。

出0入0汤圆

发表于 2018-3-24 09:12:21 来自手机 | 显示全部楼层
蓝牙5.0应该可以

出0入0汤圆

 楼主| 发表于 2018-3-25 20:02:31 | 显示全部楼层
谢谢支持,暂时搁浅着呢

出0入0汤圆

发表于 2018-3-26 14:37:05 | 显示全部楼层
我和楼主有一样的问题,也是暂时搁浅着。
我也做了个采集器,使用的是BLE.与Android通信,最高连续透传是19200,但实际呢,我做的IAP手机蓝牙升级一个100kb的bin文件要8分钟。。。我一直都无能为力,查了好多资料,找到的问题大概是蓝牙的连接间隙我采集器作为丛机更改不了Android的蓝牙连接间隙。

出0入0汤圆

发表于 2018-3-26 17:33:52 | 显示全部楼层
pingdan32 发表于 2018-1-24 13:38
如果使用蓝牙与手机传输,并且速率还要保证1Mbps。那么首先排除BLE芯片,其次只能使用经典蓝牙BT2.0/2.1进 ...

选择方案是个技术活!

出0入0汤圆

发表于 2018-3-29 08:36:09 | 显示全部楼层
2201 发表于 2018-3-26 14:37
我和楼主有一样的问题,也是暂时搁浅着。
我也做了个采集器,使用的是BLE.与Android通信,最高连续透传是19 ...

采集器作为从机不允许直接修改连接间隙(蓝牙专业术语称之为连接事件间隔--Connection Interval),但是从机可以发起 updateConnectionParameter 请求主机修改这个连接事件参数(参数里面就包含了连接事件间隔)。
所以要解决这个问题建议从以下方面入手:
1,从机发起“更新连接参数”请求。(这个在从机的 BLE SDK 中可以找到相关函数,应该就是类似于 updateConnectionParameter 之类的名字)。
2,如果使用的是 Android 手机,建议 Android5.0以上,当手机连接采集器以后,调用 SetMtu 接口修改 MTU 的值(这个值就是一个连接事件数据包的大小,默认为23字节,可以最大设置到512)。
如果是 IOS9以后,不需要设置,iOS 连接采集器时将自动设置这个 MTU。MTU 设置成功后,就可以将采集器GATT Service的 characteristic 的 Value 设置的更大,可以不局限于20个字节了。这样可以进一步提升吞吐量。
3,建议采集器芯片采用完全支持 BLE 4.2,并且iPhone7以上。这样,当 iPhone7连接采集器后,将自动设置 DataPacketLengthExtension(这是 BLE4.2的一个新特新)。如此一来,可以更加高效的利用带宽。


PS:建议开发者详细研究一下BLE 协议(蓝牙没有想象的那么弱,只是开发者没能真正研究透)。

以上仅供参考。

出0入0汤圆

发表于 2018-3-29 15:46:56 | 显示全部楼层
pingdan32 发表于 2018-3-29 08:36
采集器作为从机不允许直接修改连接间隙(蓝牙专业术语称之为连接事件间隔--Connection Interval),但是 ...

首先,非常感谢这么详细的回复。
关于第一点,从机发起“更新连接参数”请求:我采集器(丛机)有发起“更新连接参数”, 这个可以确定,因为当我用同样的模块做主机时,主机能允许我采集器(丛机)更改连接间隙,也就是两个BLE模块之间能传输很快;
关于第二点, 调用 SetMtu 接口修改 MTU 的值 :这个我不太了解,安卓开发的兄弟是手动分包的;我采集器这边已经是自动分包了;

关于第一点还补充一个:我一直怀疑的是安卓主机没有允许我丛机的这个“更新连接参数”的请求,因为这个参数的决定权最终还是在主机那,丛机只是可以提出“意见”。
我间接证实过这个观点,我丛机修改我的连接间隙到10ms和到50ms,和安卓主机的传输速度没有丝毫的改变,但和模块的主机速度就是不一样的了;还有, 我试验过 华为的手机和小米的手机(米5),这两个手机和我采集器通信的速度不一样,华为的明显快。
我跟安卓开发的兄弟说了这个,他给我的回复是,这个他也控制不了,他APP不能是否接受丛机的这个请求,是系统决定的。

还补充一点: 所有手机都不允许APP直接修改蓝牙底层的参数,比如 连接间隙 。

出0入0汤圆

发表于 2018-3-29 16:03:59 | 显示全部楼层
pingdan32 发表于 2018-3-29 08:36
采集器作为从机不允许直接修改连接间隙(蓝牙专业术语称之为连接事件间隔--Connection Interval),但是 ...

关于这一点:“当手机连接采集器以后,调用 SetMtu 接口修改 MTU 的值(这个值就是一个连接事件数据包的大小,默认为23字节,可以最大设置到512)”  , 这个是要从机和主机都支持才能设置成功的,而我的采集器是不支持的。。。。。。

出0入0汤圆

发表于 2018-3-29 16:06:46 | 显示全部楼层
pingdan32 发表于 2018-1-26 11:12
蓝牙配对其实没有所谓的快速还是慢速,要么配对,要么直接连接(配对的设备在没有删除绑定信息时)。也就 ...

你好,请教下,二者绑定的意思是不是那些蓝牙模块宣称的主从配对
配对后,是一一绑定状态,不受其它影响吗?
如果主机开机,从机关机,此时其它蓝牙开机,会连上主机吗,还是除非清除绑定信息,主机始终只响应对应绑定信息的从机?

出0入0汤圆

发表于 2018-4-7 10:22:06 | 显示全部楼层
本帖最后由 pingdan32 于 2018-4-7 10:23 编辑
2201 发表于 2018-3-29 16:03
关于这一点:“当手机连接采集器以后,调用 SetMtu 接口修改 MTU 的值(这个值就是一个连接事件数据包的 ...


1,没错,从机可以发起“更新连接参数”请求,最终结果是由主机做决定的。据我所知,Android手机,只要从机的请求的参数是大于7.5ms的,Android手机一般都是会接受这个参数,响应成功的。
我觉得你这里出现的问题在于参数的设置 -- min=10ms; max=50ms。也就是说,从机请求10ms-50ms范围内的任意参数,那么Android手机可以采用这个范围的任意一个值,这就是你觉得没有起到作用的地方。
我建议,你用min=10ms; max=10ms;也就是说,从机只要求10ms这个值。一般情况下,Android手机是会接受的(多试试不同的手机)。
2,关于MTU这个问题,Android5.0是支持的。如果你的采集器支不支持那也毫无办法,哈哈

出0入0汤圆

发表于 2018-4-7 10:25:24 | 显示全部楼层
dengkong 发表于 2018-3-29 16:06
你好,请教下,二者绑定的意思是不是那些蓝牙模块宣称的主从配对
配对后,是一一绑定状态,不受其它影响 ...

绑定的意思就是两个设备直接的一种约定关系,与其它第三个设备没关系。也就是说这二者再次连接不需要配对,但是与第三个设备连接还是该配对要配对的。
绑定与第三个设备无关,不影响与第三个的设备关系。

出0入0汤圆

发表于 2018-4-8 12:37:04 | 显示全部楼层
pingdan32 发表于 2018-4-7 10:25
绑定的意思就是两个设备直接的一种约定关系,与其它第三个设备没关系。也就是说这二者再次连接不需要配对 ...

了解,谢谢

出140入8汤圆

发表于 2018-4-8 13:27:10 | 显示全部楼层
这几天正好测试了11楼提到的F1E12模块,完全满足楼主的要求,100米115200全双工对发没压力…

出0入0汤圆

 楼主| 发表于 2018-4-8 17:17:35 | 显示全部楼层
leiyitan 发表于 2018-4-8 13:27
这几天正好测试了11楼提到的F1E12模块,完全满足楼主的要求,100米115200全双工对发没压力… ...

谢谢回复,目前115200对我还是有点慢,蓝牙2.0上位机开发人员说苹果不支持,只能慢速跑了

出140入8汤圆

发表于 2018-4-8 19:43:01 | 显示全部楼层
zhousun 发表于 2018-4-8 17:17
谢谢回复,目前115200对我还是有点慢,蓝牙2.0上位机开发人员说苹果不支持,只能慢速跑了 ...

水果机?这个用蓝牙无解,没得搞!水果机蓝牙不能让别人随意玩的,限制这么多。

出0入475汤圆

发表于 2018-4-24 17:47:22 | 显示全部楼层
正好用到了蓝牙透传,而且是在IOS上面用,看了科普资料说是要在ios上面用,2个可行方案,一个是经过MFI认证的蓝牙模块,另外一个就是BLE4.0的模块。前者比较头大,所以就选择后者ble方案,
结果发现买回来的模块系统里面搜索不到模块,换了无数个ios设备,都没有反应。以为是模块有问题,后来下载个蓝牙助手,一打开蓝牙助手就发现了模块,
然后就开始头痛了:这个蓝牙要怎么才能让系统发现?就像平时找wifi信号那样出现在系统蓝牙设备里面?

后面又学习了一下好像是UUID值也比较关键,我的理解是不是这个玩意就像USB的那些设备枚举类别一样?只有系统允许的那些类别才会显示在系统中?如果是的话,数据透传这种该是配置成什么类别值? 就是以前的蓝牙串口设备是SPP设备
确实不懂,还望懂的人给科普科普
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 02:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表