Red de conocimiento informático - Material del sitio web - Cómo mejorar la velocidad de lectura de datos usando el protocolo ble de Android

Cómo mejorar la velocidad de lectura de datos usando el protocolo ble de Android

Ahora estoy usando Android 4.4 como dispositivo central y el c2451 de ti como periférico y leí con éxito las CARACTERÍSTICAS del c2541. Eliminé Android y descubrí que se necesitan unos 50 ms para completar una lectura de 20 B. (Modifiqué los parámetros de conexión de c2541, el intervalo de conexión mínimo/máximo se ajustó a 6 y el retraso del esclavo fue 0). Pero según el protocolo BLE, su velocidad puede alcanzar los 5,9 kb/s, y la gente de TI también dijo que no hay problema con al menos 4 kb/s. Entonces el problema no está en el código de Android. Modifiqué el código según la demostración de BluetoothLeGatt. A continuación se muestra la parte relevante del código. Puedo enviar el código completo si es necesario. Si hay expertos que han hecho este tipo de contenido, ¿podrían ayudarme a solucionar este problema? Estaría agradecido por cualquier ayuda.

Enviar una solicitud para leer datos:

//La prueba para leer los datos de características actuales activará mOnDataAvailable.onCharacteristicRead()

mHandler.postDelayed(new Runnable ()) {

@Override

public void run() {

mBLE.ReadCharacteristic(gatten)(gatten.ReadCharacteristic(gatten.ReadCharacteristic(gatten. ReadCharacteristic(gatten.ReadCharacteristic)))readCharacteristic(gattCharacteristic);

}

},

Datos recibidos:

@Override

public void onCharacteristicRead(BluetoothGatt gatt,

característica BluetoothGattCharacteristic, int status) {

if (status == BluetoothGatt.GATT_SUCCESS) {

Anulación pública onCharacteristicRead(GATT_SUCCESS)

Log.e(TAG, "onCharRead " gatt.getDevice().getName()

" read "

característica.getUuid().toString()

" -gt;"

Utils.bytesToHexString(characteristic.getValue()));

}