我想读/写这些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位的值,它必须像我们在低功耗蓝牙文档中获得的那样。 AA01应该是长UUID的开始(所有其他字符可能相同)。一个UUID通常看起来像123e4567-e89b-12d3-a456-426655440000 – bpncool
您可能根本不需要使用UUID,而只需从数据包中读取几个字节(两个用于Object字段,另外两个用于Ambience)。 – chrylis