Не могу прочитать характеристику. Android BLEAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Не могу прочитать характеристику. Android BLE

Сообщение Anonymous »

Я хотел бы прочитать данные определенной характеристики моего удаленного устройства BLE на своем планшете Android Nexus 7.

Проблема в том, что я могу получить данные, включив уведомление об этой характеристике даже без вызова readCharacteristic. Но я не могу успешно прочитать характеристику, вызвав readCharacteristic без включения уведомления.

Код: Выделить всё

mBluetoothGatt.readCharacteristic(characteristic)
возвращает ложь. Таким образом, функция onCharacteristicRead ни разу не была запущена. Я также проверил значение свойства BluetoothGattCharacteristic.PROPERTY_READ, оно равно 30.

Есть ли у кого-нибудь идеи о том, что здесь происходит? Мне действительно нужно прочитать характеристику отдельно. Потому что если я анализирую данные только на основе уведомлений, я не могу понять, где начинаются данные. Это потому, что мое устройство каждый раз отправляет 12 байт. И он будет постоянно отправлять массив байтов. Однако уведомление приносило мне данные по одному байту за раз. Поэтому я не знаю, какой байт является начальным в массиве байтов.

Сейчас я использую пример кода, предоставленный Android.

Вот фрагмент:

Код: Выделить всё

public void readCharacteristic(BluetoothGattCharacteristic characteristic) {
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}

boolean status = mBluetoothGatt.readCharacteristic(characteristic);
System.out.println("Initialize reading process status:" + status);

}

public void setCharacteristicNotification(BluetoothGattCharacteristic characteristic,
boolean enabled) {
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
mBluetoothGatt.setCharacteristicNotification(characteristic, enabled);

// This is specific to Heart Rate Measurement.
if (UUID_HEART_RATE_MEASUREMENT.equals(characteristic.getUuid())) {
BluetoothGattDescriptor descriptor = characteristic.getDescriptor(
UUID.fromString(SampleGattAttributes.CLIENT_CHARACTERISTIC_CONFIG));
descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);

mBluetoothGatt.writeDescriptor(descriptor);
}
}
Код обратного вызова:

Код: Выделить всё

    @Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic,
int status) {

System.out.println("In onCharacteristicRead!!!!!!!");
if (status == BluetoothGatt.GATT_SUCCESS) {

broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic);
System.out.println("Received Data Success!!!!!!");
}
}
Я прочитал документ характеристики чтения, но ничего не помогает. Может ли кто-нибудь мне помочь? Спасибо большое!

Подробнее здесь: https://stackoverflow.com/questions/226 ... ndroid-ble
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как узнать, когда устройство BLE подписывается на характеристику на Android?
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как узнать, когда устройство BLE подписывается на характеристику на Android?
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как правильно записать характеристику BLE из основного действия в Android?
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Не могу прочитать характеристику измерения веса
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Android [Bluetooth LE] создает характеристику с предопределенным значением перед рекламой услуги на периферийном устройс
    Anonymous » » в форуме Android
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»