2017-03-13 54 views
0

我试图从我的android应用程序发送数据到微芯片RN4871蓝牙低功耗模块。通过Android上的蓝牙模块发送超过160个字节

我想使用透明UART模式。

与模块连接后,我可以发送20个字节的数据包:

characteristic.setValue("data"); 
mBluetoothGatt.writeCharacteristic(characteristic); 

但20个字节(所以160个字节),8个数据包之后,BLE模块不打印新的软件包。

即使在我的设备断开连接并重新连接到我的模块之后,我无法发送超过8个20字节的数据包,我必须重新启动我的BLE模块以再次发送8个数据包。

我试过这里提出的解决方案: Android: Sending data >20 bytes by BLE 没有任何成功。

你知道是否有什么我必须做的发送另一个8字节的20个字节的系列?

回答

0

我终于找到了答案。我在一个只支持写作的特点。我改变也支持通知的特点和我发送一个描述符的开始启用通知:

UUID uuid = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"); 
BluetoothGattDescriptor descriptor = characteristic.getDescriptor(uuid); 
descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); 
gatt.writeDescriptor(descriptor); 

而且它现在的工作很好,我可以给具有20个字节的数据包有我想。