Я пытаюсь читать/писать эту BLE характеристики:Как правильно использовать метод UUID.fromString?
Сейчас я пытаюсь читать AA01 *
Я использую this library, чтобы сделать это.
Вот мой код:
private void connectToSensorTag(RxBleDevice rxBleDevice) {
rxBleDevice.establishConnection(getApplicationContext(), false)
.doOnError(new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
int i = 0;
}
})
.flatMap(rxBleConnection -> rxBleConnection.readCharacteristic(UUID.fromString("AA01*")))
.subscribe(new Subscriber<byte[]>() {
@Override
public void onCompleted() {
int i = 0;
}
@Override
public void onError(Throwable e) {
int i = 0;
}
@Override
public void onNext(byte[] bytes) {
int i = 0;
}
});
Я получаю эту ошибку:
java.lang.IllegalArgumentException: Invalid UUID: AA01*
Я также попытался решения от this similar question, но ничего не работает. Такая же ошибка.
Это не UUID. UUID выглядит так: 123e4567-e89b-12d3-a456-426655440000. См. Https://en.wikipedia.org/wiki/Universally_unique_identifier. – smarx
UUID должен быть 128-битным значением, он должен быть чем-то вроде того, что мы получаем в документах с низкой энергией Bluetooth. AA01 должен начинаться с длинного UUID (все остальные символы могут быть одинаковыми). UUID обычно выглядит как 123e4567-e89b-12d3-a456-426655440000 – bpncool
Вам, вероятно, не нужно вообще использовать UUID, а просто читать несколько байтов от пакета (два для поля Object и два для Ambience). – chrylis