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