bluetooth le uuid

Hallo
ich habe das problem das ich nicht nicht weis welche uuid ich verwenden soll und was diese macht ich habe verschiedene ausprobiert aber es verändert sich nichts, desweiteren kann ich nur eine BLECharacteristic ()
auslesen hat das was mit der uuid zu tun ? ist es möglich BLECharacteristic () mehr als 20 chars zuzuweisen ?

das ist mein code bis jetzt
die uuid ist aus dem battery monitor beispiel

#include <Arduino.h>
#include <ArduinoBLE.h>



BLEService BLE_oService("F180");
BLEUnsignedCharCharacteristic  BLE_oTest("2A20", BLERead | BLENotify);
BLEStringCharacteristic BLE_oGPS("2A19", BLERead | BLENotify, 128);
BLEStringCharacteristic BLE_oHeartRate("2A20", BLERead | BLENotify, 128);




const int herzsensorIntPin = 2;
const long hsHeartpulseDuty = 2000;
const long hsTimeout = 20000;
unsigned long hsLastActive;
unsigned int hsCounter = 0;
unsigned long hsTemp[21];
unsigned long hsCheck = 0;
volatile int hsRate = 0;
bool hsChange;

void interruptHerzsensor() 
{
  hsTemp[hsCounter] = millis();

  if (hsCounter == 0)
  {
    hsCheck = hsTemp[hsCounter] - hsTemp[20];
  }
  else
  {
    hsCheck = hsTemp[hsCounter] - hsTemp[hsCounter - 1];
  }

  if (hsCheck > hsHeartpulseDuty)
  {
    hsCounter = 0;
    hsTemp[20] = millis();
  }
  else
  {
    if (hsCounter == 20)
    {
      hsCounter = 0;
      hsRate = 1200000 / (hsTemp[20] - hsTemp[0]);
      hsChange = true;
    }
    else
    {
      hsCounter++;
    } 
  }
}

const int gpsBufferSize = 128;
unsigned char gpsBuffer[gpsBufferSize];

void setup() 
{
  Serial.begin(9600);
  Serial1.begin(9600);

  BLE.begin();
  BLE.setLocalName("InfoWatch");

  BLE.setAdvertisedService(BLE_oService);
  BLE_oService.addCharacteristic(BLE_oGPS);
  BLE_oService.addCharacteristic(BLE_oHeartRate);
  BLE_oService.addCharacteristic(BLE_oTest);
  BLE.addService(BLE_oService);
  BLE.advertise();

  hsTemp[20] = millis();
  hsLastActive = millis();
  hsChange = false;
  attachInterrupt(digitalPinToInterrupt(2), interruptHerzsensor, RISING);
}

void loop() 
{
  BLEDevice BLE_oCentral = BLE.central();
  Serial.println(BLE_oService.uuid());
  if (BLE_oCentral)
  {
    while(BLE_oCentral.connected())
    {
        if (hsChange)
        {
          hsLastActive = millis();
          BLE_oHeartRate.writeValue("$HeartRate," + hsRate);
          Serial.println("$HeartRate," + hsRate);
          hsChange = false;
        }
        else
        {
          if (hsLastActive - millis() > hsTimeout)
          {
            Serial.println("Kein Herzschlag Sensor gefunden");
          }
        }
        
        if (Serial1.available())
        {
          int index = Serial1.readBytesUntil('\n', gpsBuffer, gpsBufferSize);

          String gpsRes;
          for(int i = 0; i != index - 1; i++)
          {
            gpsRes = gpsRes + (char)gpsBuffer[i];
            gpsBuffer[i] = '\0';
          }

          BLE_oGPS.writeValue(gpsRes);
          Serial.println(gpsRes);
        }
        else
        {
          //Serial.println("Kein GPS Sensor gefunden");
        }   
    }

      Serial.println("Kein Bluetooth Gerät verbunden");
      delay(2000);
  }
  else
  {
    Serial.println("Kein Bluetooth verfügbar");
    delay(2000);
  }
}

Welche Hardware hast Du?

ich benutze einen arduino nano ble 33
und als empfänger ein ausus zenfone 5
als sensoren GRV GPS
und GRV HEART RATE3