Cannot Write Characteristic on BLE onn android app
Unable to write characteristic on BLE. The app is capable on connecting to GATT and read characteristics. My first thought is that I am using the wrong UUID's for Tx. Otherwise my characteristic is null for some reason. Here is a screenshot from Nrf Connect
GATT attributes:
public class RBLGattAttributes {
private static HashMap<String, String> attributes = new HashMap<String,
String>();
public static String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-
8000-00805f9b34fb";
public static String BLE_SHIELD_TX = "713d0002-503e-4c75-ba94-3148f18d941e";
public static String BLE_SHIELD_RX = "713d0002-503e-4c75-ba94-3148f18d941e";
public static String BLE_SHIELD_SERVICE = "713d0000-503e-4c75-ba94-
3148f18d941e";
static {
// RBL Services.
attributes.put("713d0000-503e-4c75-ba94-3148f18d941e",
"BLE Shield Service");
// RBL Characteristics.
attributes.put(BLE_SHIELD_TX, "BLE Shield TX");
attributes.put(BLE_SHIELD_RX, "BLE Shield RX");
}
public static String lookup(String uuid, String defaultName) {
String name = attributes.get(uuid);
return name == null ? defaultName : name;
}
BLE Service:
public void writeCharacteristic() {
BluetoothGattCharacteristic characteristic=null;
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
if (UUID_BLE_SHIELD_TX.equals(characteristic.getUuid())) {
String ident="I";
byte arr={1};
try {
characteristic.setValue(arr);
} catch (NullPointerException e){Log.w(TAG,"sth is wrong");}
mBluetoothGatt.writeCharacteristic(characteristic);
Error from LogCat:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.bluetooth.BluetoothGattCharacteristic.getProperties()' on a null object reference
The characteristic is null
android bluetooth-lowenergy uuid gatt
add a comment |
Unable to write characteristic on BLE. The app is capable on connecting to GATT and read characteristics. My first thought is that I am using the wrong UUID's for Tx. Otherwise my characteristic is null for some reason. Here is a screenshot from Nrf Connect
GATT attributes:
public class RBLGattAttributes {
private static HashMap<String, String> attributes = new HashMap<String,
String>();
public static String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-
8000-00805f9b34fb";
public static String BLE_SHIELD_TX = "713d0002-503e-4c75-ba94-3148f18d941e";
public static String BLE_SHIELD_RX = "713d0002-503e-4c75-ba94-3148f18d941e";
public static String BLE_SHIELD_SERVICE = "713d0000-503e-4c75-ba94-
3148f18d941e";
static {
// RBL Services.
attributes.put("713d0000-503e-4c75-ba94-3148f18d941e",
"BLE Shield Service");
// RBL Characteristics.
attributes.put(BLE_SHIELD_TX, "BLE Shield TX");
attributes.put(BLE_SHIELD_RX, "BLE Shield RX");
}
public static String lookup(String uuid, String defaultName) {
String name = attributes.get(uuid);
return name == null ? defaultName : name;
}
BLE Service:
public void writeCharacteristic() {
BluetoothGattCharacteristic characteristic=null;
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
if (UUID_BLE_SHIELD_TX.equals(characteristic.getUuid())) {
String ident="I";
byte arr={1};
try {
characteristic.setValue(arr);
} catch (NullPointerException e){Log.w(TAG,"sth is wrong");}
mBluetoothGatt.writeCharacteristic(characteristic);
Error from LogCat:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.bluetooth.BluetoothGattCharacteristic.getProperties()' on a null object reference
The characteristic is null
android bluetooth-lowenergy uuid gatt
Where ischaracteristic
assigned to a non-null
value?
– stkent
Nov 24 '18 at 22:09
BluetoothGattCharacteristic characteristic = null
hints for it beingNULL
...that's whycharacteristic.getUuid()
has no other option, but to fail.
– Martin Zeitler
Nov 24 '18 at 22:14
add a comment |
Unable to write characteristic on BLE. The app is capable on connecting to GATT and read characteristics. My first thought is that I am using the wrong UUID's for Tx. Otherwise my characteristic is null for some reason. Here is a screenshot from Nrf Connect
GATT attributes:
public class RBLGattAttributes {
private static HashMap<String, String> attributes = new HashMap<String,
String>();
public static String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-
8000-00805f9b34fb";
public static String BLE_SHIELD_TX = "713d0002-503e-4c75-ba94-3148f18d941e";
public static String BLE_SHIELD_RX = "713d0002-503e-4c75-ba94-3148f18d941e";
public static String BLE_SHIELD_SERVICE = "713d0000-503e-4c75-ba94-
3148f18d941e";
static {
// RBL Services.
attributes.put("713d0000-503e-4c75-ba94-3148f18d941e",
"BLE Shield Service");
// RBL Characteristics.
attributes.put(BLE_SHIELD_TX, "BLE Shield TX");
attributes.put(BLE_SHIELD_RX, "BLE Shield RX");
}
public static String lookup(String uuid, String defaultName) {
String name = attributes.get(uuid);
return name == null ? defaultName : name;
}
BLE Service:
public void writeCharacteristic() {
BluetoothGattCharacteristic characteristic=null;
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
if (UUID_BLE_SHIELD_TX.equals(characteristic.getUuid())) {
String ident="I";
byte arr={1};
try {
characteristic.setValue(arr);
} catch (NullPointerException e){Log.w(TAG,"sth is wrong");}
mBluetoothGatt.writeCharacteristic(characteristic);
Error from LogCat:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.bluetooth.BluetoothGattCharacteristic.getProperties()' on a null object reference
The characteristic is null
android bluetooth-lowenergy uuid gatt
Unable to write characteristic on BLE. The app is capable on connecting to GATT and read characteristics. My first thought is that I am using the wrong UUID's for Tx. Otherwise my characteristic is null for some reason. Here is a screenshot from Nrf Connect
GATT attributes:
public class RBLGattAttributes {
private static HashMap<String, String> attributes = new HashMap<String,
String>();
public static String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-
8000-00805f9b34fb";
public static String BLE_SHIELD_TX = "713d0002-503e-4c75-ba94-3148f18d941e";
public static String BLE_SHIELD_RX = "713d0002-503e-4c75-ba94-3148f18d941e";
public static String BLE_SHIELD_SERVICE = "713d0000-503e-4c75-ba94-
3148f18d941e";
static {
// RBL Services.
attributes.put("713d0000-503e-4c75-ba94-3148f18d941e",
"BLE Shield Service");
// RBL Characteristics.
attributes.put(BLE_SHIELD_TX, "BLE Shield TX");
attributes.put(BLE_SHIELD_RX, "BLE Shield RX");
}
public static String lookup(String uuid, String defaultName) {
String name = attributes.get(uuid);
return name == null ? defaultName : name;
}
BLE Service:
public void writeCharacteristic() {
BluetoothGattCharacteristic characteristic=null;
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
if (UUID_BLE_SHIELD_TX.equals(characteristic.getUuid())) {
String ident="I";
byte arr={1};
try {
characteristic.setValue(arr);
} catch (NullPointerException e){Log.w(TAG,"sth is wrong");}
mBluetoothGatt.writeCharacteristic(characteristic);
Error from LogCat:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.bluetooth.BluetoothGattCharacteristic.getProperties()' on a null object reference
The characteristic is null
android bluetooth-lowenergy uuid gatt
android bluetooth-lowenergy uuid gatt
edited Nov 24 '18 at 22:09
stkent
13.9k96586
13.9k96586
asked Nov 24 '18 at 21:27
Andreas ParlatasAndreas Parlatas
113
113
Where ischaracteristic
assigned to a non-null
value?
– stkent
Nov 24 '18 at 22:09
BluetoothGattCharacteristic characteristic = null
hints for it beingNULL
...that's whycharacteristic.getUuid()
has no other option, but to fail.
– Martin Zeitler
Nov 24 '18 at 22:14
add a comment |
Where ischaracteristic
assigned to a non-null
value?
– stkent
Nov 24 '18 at 22:09
BluetoothGattCharacteristic characteristic = null
hints for it beingNULL
...that's whycharacteristic.getUuid()
has no other option, but to fail.
– Martin Zeitler
Nov 24 '18 at 22:14
Where is
characteristic
assigned to a non-null
value?– stkent
Nov 24 '18 at 22:09
Where is
characteristic
assigned to a non-null
value?– stkent
Nov 24 '18 at 22:09
BluetoothGattCharacteristic characteristic = null
hints for it being NULL
...that's why characteristic.getUuid()
has no other option, but to fail.– Martin Zeitler
Nov 24 '18 at 22:14
BluetoothGattCharacteristic characteristic = null
hints for it being NULL
...that's why characteristic.getUuid()
has no other option, but to fail.– Martin Zeitler
Nov 24 '18 at 22:14
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53462506%2fcannot-write-characteristic-on-ble-onn-android-app%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53462506%2fcannot-write-characteristic-on-ble-onn-android-app%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Where is
characteristic
assigned to a non-null
value?– stkent
Nov 24 '18 at 22:09
BluetoothGattCharacteristic characteristic = null
hints for it beingNULL
...that's whycharacteristic.getUuid()
has no other option, but to fail.– Martin Zeitler
Nov 24 '18 at 22:14