BLE kullanan aygıtlar arasında veri alışverişi yapan bir uygulama üzerinde çalışıyorum.BluetoothGatt: yeni MTU başarıları için görüşme yapıyor ancak yeni boyut kullanılamıyor (3 bayt fark)
Daha iyi bir performans elde etmek için, iki cihazı bağladıktan sonra, BLE üzerinde daha büyük veri paketlerinin değiş tokuşu için MTU'yu yükseltmek üzere pazarlık yapmak üzere görüşüyorum. BluetoothDevice bağlanır ve tüm hizmetler ve özellikleri okunur kez
, ben kullanarak MTU artırmak için rica ediyoruz: Ben MTU İstek başarılı olsun BluetoothGattCallback
uygulanmasına ilişkin, Bundan sonra
private void requestMtu() {
//gatt is a BluetoothGatt instance and MAX_MTU is 512
this.gatt.requestMtu(MAX_MTU);
}
ve yeni MTU maçları Ben istenen bir: Ben 512 bayt veri paketini göndermeye çalıştığınızda
@Override
public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
super.onMtuChanged(gatt, mtu, status);
if (status == BluetoothGatt.GATT_SUCCESS) {
this.supportedMTU = mtu;
}
}
sorun diğer tarafta (onCharacteristicWriteRequest:
) üzerine, ki, ben 509 bayt olsun.
Herhangi bir fikrin var mı?