Reference   Language | Libraries | Comparison | Changes

ArduinoBLE : BLEDevice class

hasCharacteristic()

Description

Query if the BLE device has a particular characteristic.

Syntax

bleDevice.hasCharacteristic(uuid)
bleDevice.hasCharacteristic(uuid, index)

Parameters

uuid - uuid to check (as a string)
index - optional, index of characteristic to check if the device provides more than on. Defaults to 0, if not provided.

Returns

true, if the device provides the characteristic, false otherwise.

Example


  // begin initialization
  if (!BLE.begin()) {
    Serial.println("starting BLE 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;
    }

    if (peripheral.hasCharacteristic("2a19")) {
      Serial.println("Peripheral has battery level characteristic");
    }

    // ...
  }

See Also




Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.