2017-03-13 106 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個字節的數據包有我想。