Get a BLECharacteristic representing a Bluetooth® Low Energy characteristic the service provides.
bleService.characteristic(index)
bleService.characteristic(uuid)
bleService.characteristic(uuid, index)
// begin initialization
if (!BLE.begin()) {
Serial.println("starting Bluetooth® Low Energy module failed!");
while (1);
}
Serial.println("BLE Central scan");
// start scanning for peripheral
BLE.scan();
BLEDevice peripheral = BLE.available();
if (peripheral) {
// ...
Serial.println("Connecting ...");
if (peripheral.connect()) {
Serial.println("Connected");
} else {
Serial.println("Failed to connect!");
return;
}
// discover peripheral attributes
Serial.println("Discovering attributes ...");
if (peripheral.discoverAttributes()) {
Serial.println("Attributes discovered");
} else {
Serial.println("Attribute discovery failed!");
peripheral.disconnect();
return;
}
BLEService batteryService = peripheral.service("180f");
if (batteryService) {
// use the service
BLECharacteristic batteryLevelCharacterisic = peripheral.characteristic("2a19");
if (batteryLevelCharacterisic) {
// use the characteristic
} else {
Serial.println("Peripheral does NOT have battery level characteristic");
}
} else {
Serial.println("Peripheral does NOT have battery service");
}
// ...
}