我想讀/寫這些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