安卓蓝牙BLE接收大量数据的问题

2019-03-26 12:19发布

最近在做一个可穿戴设备,下位机用蓝牙模块,上位机用安卓,下位机需要以5kB/s的速率传输,上位机总是接收几包就连接断了,用抓包器看了一下,下位机传输速度很多,每个连接间隔45ms,但是需要传送几包,包与包之间大概只有600us,安卓用回调函数接收,感觉是因为来不及导致的连接中断。
  1. @Override
  2.         public void onCharacteristicChanged(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic) {
  3.             byte[] value = characteristic.getValue();
  4.             Log.i(TAG, "CharacteristicChanged: " + value.length);
  5.         }
复制代码
这个回调函数每一包就回调一次,然后只能取一包,想请问大家有做过安卓蓝牙数据采集是怎么实现的,网上有很多资料但是完全不适用于数据量大的场景,因为下位机是透传模块,没法改动它的代码,也不是蓝牙5.0,每一包就只能发20字节,不知道怎么处理

此帖出自Linux与安卓论坛
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
lehuijie
1楼-- · 2019-03-26 17:51
 精彩回答 2  元偷偷看……
flashtt
2楼-- · 2019-03-26 18:50
可是我就是需要高速率,现在市面上买的模块的透传速度勉强能满足我的需要,安卓端接收就已经出现了问题,我觉得是我不会安卓的原因,不知道商用的可穿戴蓝牙设备是怎么解决高速率传输的问题,难道都是用的传统蓝牙?

一周热门 更多>