Central — was es ist, seine Rolle in BLE und wie es Geräte scannt

Autor: IT Sectr Veröffentlicht: 2026-07-15 Lesezeit: 8 Min.

Central ist ein Gerät in der Bluetooth Low Energy-Architektur, das das Scannen initiiert, eine Verbindung herstellt und den Datenaustausch mit peripheren Geräten verwaltet. Im Kontext der mobilen Entwicklung ist Central ein Smartphone oder Tablet mit iOS oder Android, das sich mit BLE-Sensoren, Fitness-Trackern und intelligenten Accessoires verbindet. Laut Bluetooth Core Specification 5.4 (2023) kann Central gleichzeitig bis zu 7 Verbindungen zu verschiedenen Peripherals unterstützen, wobei die tatsächliche Begrenzung vom Chip-Hersteller und der OS-Version abhängt. Core Bluetooth auf iOS und android.bluetooth.le auf Android bieten eine vollständige API zur Verwaltung der Central-Rolle.

Wichtige Punkte

  • Central ist ein aktives BLE-Gerät, das scannt, verbindet und den Austausch mit Peripheriegeräten verwaltet.
  • Das Scannen erfolgt über Advertising-Pakete — Central kann Geräte nach Service-UUID filtern, um Energie zu sparen.
  • Ein einzelner Central kann gleichzeitig bis zu 7 Verbindungen mit verschiedenen Peripherals unterstützen (abhängig von der Implementierung).
  • In der mobilen Entwicklung ist Central ein Smartphone, das Core Bluetooth (iOS) oder android.bluetooth.le (Android) verwendet.
  • Die Central-Rolle verbraucht aufgrund des ständigen Scannens und der Datenverarbeitung mehr Energie als Peripheral.

Was ist Central in BLE?

Central ist ein GATT-Client in der Bluetooth Low Energy-Architektur, der die gesamte Kommunikation initiiert. Im Gegensatz zu Peripheral, das passiv auf Verbindungen wartet und seine Dienste bewirbt, scannt Central aktiv die Umgebung, entdeckt Advertising-Pakete und initiiert Verbindungen.

Das asymmetrische Central-Peripheral-Modell ist ein grundlegendes Merkmal von BLE. Central verwaltet die Interaktionslogik: Es entscheidet, mit welchem Gerät eine Verbindung hergestellt wird, welche Dienste erkundet und welche Merkmale gelesen und geschrieben werden sollen. Peripheral fungiert als Datenserver — es speichert Dienste und Merkmale, initiiert aber keine Verbindungen.

Laut Bluetooth Core Specification 5.4 (2023) kann ein Gerät gleichzeitig Central und Peripheral sein (Dual-Rolle). Beispielsweise kann ein Smartphone als Central für ein Fitnessband und als Peripheral für ein anderes Smartphone, das Dateien überträgt, fungieren. Der gleichzeitige Betrieb in beiden Rollen erhöht jedoch den Stromverbrauch und die Komplexität der Verbindungsverwaltung.

Im Ökosystem der mobilen Entwicklung ist die Central-Rolle das häufigste Szenario. Eine App auf einem Smartphone sucht nach BLE-Geräten (Sensoren, Kopfhörer, Bänder), verbindet sich mit ihnen und empfängt Daten. Der Entwickler verwendet die Betriebssystem-API für die Arbeit mit Central: CBCentralManager auf iOS, BluetoothLeScanner und BluetoothGatt auf Android.

Geräte-Scanprozess

Scannen ist die erste Stufe des Central-Betriebs. Das Gerät hört auf den BLE-Funkkanälen (37, 38, 39), um Advertising-Pakete zu erkennen, die Peripherals regelmäßig senden. Jedes Advertising-Paket enthält den Gerätenamen, eine Liste von Service-UUIDs und benutzerdefinierte Daten.

Central kann in zwei Scan-Modi arbeiten: passives Scannen (nur Empfang von Advertising-Paketen) und aktives Scannen (Senden einer Scan-Anfrage, um zusätzliche Daten über eine Scan-Antwort zu erhalten). Passives Scannen spart Energie, liefert aber weniger Informationen. Aktives Scannen ermöglicht den Erhalt vollständiger Advertising-Paketdaten, einschließlich des Gerätenamens und der vollständigen Dienstliste.

Die UUID-Filterung ist eine wichtige Optimierung. Central kann nur nach Geräten mit einer bestimmten Service-UUID scannen und den Rest ignorieren. Dies spart nicht nur Energie, sondern vereinfacht auch die Anwendungslogik: Der Delegierte erhält nur relevante Geräte.

swift
import CoreBluetooth

class BLECentralManager: NSObject, CBCentralManagerDelegate {

    private var centralManager: CBCentralManager!

    override init() {
        super.init()
        centralManager = CBCentralManager(
            delegate: self,
            queue: nil
        )
    }

    func centralManagerDidUpdateState(_ central: CBCentralManager) {
        if central.state == .poweredOn {
            central.scanForPeripherals(
                withServices: nil,
                options: [
                    CBCentralManagerScanOptionAllowDuplicatesKey: false
                ]
            )
        }
    }
}

Verbindungsverwaltung

Verbindungsverwaltung ist die Hauptaufgabe von Central. Nach dem Entdecken eines geeigneten Peripherals initiiert Central eine Verbindung. Eine BLE-Verbindung wird durch einen Verbindungsaufbauprozess hergestellt, der den Austausch von Parametern umfasst: Verbindungsintervall, Slave-Latenz und Supervision-Timeout.

Das Verbindungsintervall bestimmt, wie oft Central und Peripheral nach der Verbindung Daten austauschen. Das Intervall kann von 7,5 ms bis 4 Sekunden reichen. Je kürzer das Intervall, desto höher der Durchsatz, aber auch desto höher der Stromverbrauch. Slave-Latenz ermöglicht es Peripheral, mehrere Verbindungsereignisse zu überspringen, um Energie zu sparen. Das Supervision-Timeout ist die maximale Zeit ohne Antwort, nach der die Verbindung als verloren gilt.

Central ist für das Beenden der Verbindung nach Abschluss des Datenaustauschs verantwortlich. BLE-Geräte halten normalerweise keine dauerhafte Verbindung aufrecht — Central verbindet sich, holt Daten und trennt die Verbindung. Dies ist ein Standardmuster für IoT-Sensoren: Central scannt, findet einen Temperatursensor, verbindet sich, liest den Wert und trennt die Verbindung.

ParameterBereichZweckEmpfehlung
Verbindungsintervall7,5 ms – 4 sDatenaustauschfrequenz30–50 ms für Streaming, 1–4 s für seltene Daten
Slave-Latenz0–499 EreignisseÜberspringen von Peripheral-Ereignissen4–10 zum Energiesparen des Sensors
Supervision-Timeout100 ms – 32 sTimeout bei Verbindungsverlust6–10 Sekunden für die meisten Szenarien
MTU23–517 BytesATT-PaketgrößeBei Verbindung das Maximum anfordern

Central auf iOS: Core Bluetooth

Core Bluetooth ist Apples Framework für die Arbeit mit BLE auf iOS und macOS. Die Klasse CBCentralManager bietet die vollständige API zur Implementierung der Central-Rolle: Scannen, Verbinden, Verbindungsverwaltung. Die Arbeit mit Central auf iOS basiert auf einem Delegiertenmodell: CBCentralManagerDelegate empfängt Ereignisse zu Zustandsänderungen, Geräteerkennung und Verbindungsergebnissen.

Die wichtigsten Schritte für Central auf iOS: Initialisieren von CBCentralManager, Überprüfen des Bluetooth-Status, Starten des Scannens, Verarbeiten entdeckter Geräte über den Delegierten, Verbinden mit dem ausgewählten Peripheral, Entdecken von Diensten und Merkmalen, Austauschen von Daten.

swift
// Mit entdecktem Peripheral verbinden
func centralManager(
    _ central: CBCentralManager,
    didDiscover peripheral: CBPeripheral,
    advertisementData: [String: Any],
    rssi RSSI: NSNumber
) {
    // Referenz auf Peripheral halten und verbinden
    discoveredPeripheral = peripheral
    central.connect(peripheral, options: nil)
}

// Verbindung erfolgreich
func centralManager(
    _ central: CBCentralManager,
    didConnect peripheral: CBPeripheral
) {
    peripheral.delegate = self
    peripheral.discoverServices(nil)
}

iOS schränkt die BLE-Hintergrundarbeit ein: Im Hintergrund kann eine App nur mit bestimmten Schlüsseln in Info.plist scannen, und verbundene Geräte können Central über Datenänderungen benachrichtigen. Für kritische Anwendungen (medizinische Geräte) verwenden Sie Hintergrundmodi mit dem Schlüssel bluetooth-central.

Central auf Android: BluetoothLeScanner

Android bietet die BluetoothLeScanner-API zum Scannen von BLE-Geräten und BluetoothGatt zur Verbindungsverwaltung. Ab Android 5.0 (API 21) ersetzte BluetoothLeScanner das veraltete startLeScan. Die API erfordert die Berechtigungen BLUETOOTH, BLUETOOTH_ADMIN und ACCESS_FINE_LOCATION (oder ACCESS_BACKGROUND_LOCATION für Android 10+).

java
import android.bluetooth.le.*;
import android.bluetooth.*;

private BluetoothLeScanner scanner;
private BluetoothGatt bluetoothGatt;

// Scannen konfigurieren
ScanSettings settings = new ScanSettings.Builder()
    .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
    .build();

// Scannen starten
scanner.startScan(null, settings, new ScanCallback() {
    @Override
    public void onScanResult(
            int callbackType,
            ScanResult result
    ) {
        BluetoothDevice device = result.getDevice();
        // Mit Gerät verbinden
        bluetoothGatt = device.connectGatt(
            context, false, gattCallback
        );
    }
});

Unter Android sind die Scan-Beschränkungen zu beachten: Ab Android 7 (API 24) kann das Scannen in Apps, die keine Standortdienste verwenden, nicht häufiger als 5 Mal in 30 Sekunden gestartet werden. Android 12+ erfordert die Berechtigungen BLUETOOTH_SCAN, BLUETOOTH_CONNECT und ADVERTISE sowie Laufzeitanforderungen für diese Berechtigungen.

Stromverbrauch von Central

Der Stromverbrauch von Central ist höher als der von Peripheral, da die Funkkanäle ständig gescannt werden müssen. Central empfängt BLE-Pakete, verarbeitet sie, verwaltet Verbindungen und führt oft Berechnungen auf dem Anwendungsprozessor durch. Laut Bluetooth SIG verbraucht das Scannen je nach Modus zwischen 30 mA und 100 mA.

Es gibt mehrere Energiesparstrategien für Central. Intervall-Scannen ist die effektivste Methode: Central scannt in kurzen Fenstern (Scan-Fenster) mit langen Pausen (Scan-Intervall). Beispielsweise wird bei einem Scan-Fenster von 30 ms und einem Scan-Intervall von 1000 ms der Stromverbrauch im Vergleich zum kontinuierlichen Scannen um 97% reduziert.

Eine zusätzliche Optimierung ist die UUID-Filterung. Central verarbeitet nur relevante Advertising-Pakete schneller und ignoriert den Rest. Dies reduziert die CPU-Last und verlängert die Akkulaufzeit des Geräts. Es wird auch empfohlen, das Scannen sofort nach dem Finden des gewünschten Geräts zu beenden und die Verbindung nicht länger als nötig aufrechtzuerhalten.

Häufig gestellte Fragen

Kann ein Smartphone gleichzeitig Central und Peripheral sein?

Ja, BLE unterstützt Dual-Rolle: Ein Gerät kann gleichzeitig für einige Geräte Central und für andere Peripheral sein. Beispielsweise liest ein Smartphone Daten von einem Sensor (als Central) und bewirbt gleichzeitig seinen eigenen Dienst (als Peripheral), um Daten an ein anderes Gerät zu übertragen.

Wie viele Geräte kann ein Central gleichzeitig bedienen?

Die BLE-Spezifikation definiert ein Limit von 7 Verbindungen für einen einzelnen Central. In der Praxis hängt die Begrenzung vom Chip-Hersteller ab: Nordic nRF52840-Chips unterstützen bis zu 20 Verbindungen, während einige günstige Bluetooth-Adapter nicht mehr als 3–4 unterstützen.

Warum erkennt mein Central meinen BLE-Sensor nicht?

Die Gründe können unterschiedlich sein: Der Sensor bewirbt sich nicht (nicht im Advertising-Modus), der UUID-Filter ist zu streng, Bluetooth ist auf dem Smartphone ausgeschaltet, erforderliche Berechtigungen fehlen (Standort auf Android) oder der Sensor ist außer Reichweite (empfohlen bis zu 10 Metern in Innenräumen).

Muss die Verbindung zu einem BLE-Gerät ständig aufrechterhalten werden?

Nicht unbedingt. Für viele Szenarien wird das Verbinden-und-Lesen-Muster verwendet: Central scannt, verbindet sich, liest die erforderlichen Daten und trennt die Verbindung. Eine ständige Verbindung ist nur für Streaming-Daten (Puls, EKG) oder Echtzeit-Gerätesteuerung erforderlich.

Wie reduziert man den Stromverbrauch von Central beim Scannen?

Verwenden Sie Intervall-Scannen mit einem Scan-Fenster von 30–50 ms und einem Scan-Intervall von 500–1000 ms. Filtern Sie Geräte nach UUID, um nur relevante Advertising-Pakete zu verarbeiten. Stoppen Sie das Scannen sofort nach dem Finden des gewünschten Peripherals.

Zusammenfassung

  • Central ist ein aktiver Teilnehmer der BLE-Verbindung, der Scannen, Verbindung und Datenaustauschverwaltung initiiert.
  • Der Scanprozess umfasst den Empfang von Advertising-Paketen auf den Kanälen 37, 38, 39 mit der Möglichkeit der Filterung nach Service-UUID.
  • Nach dem Entdecken eines Peripherals stellt Central eine Verbindung mit konfigurierbaren Parametern her — Verbindungsintervall, Slave-Latenz, Supervision-Timeout.
  • In der mobilen Entwicklung wird Central über CBCentralManager (iOS) oder BluetoothLeScanner + BluetoothGatt (Android) implementiert.
  • Ein einzelner Central kann in der Standard-Bluetooth-Konfiguration gleichzeitig bis zu 7 Verbindungen verwalten.
  • Der Stromverbrauch von Central kann durch Intervall-Scannen und UUID-Filterung optimiert werden, um die Akkulaufzeit zu verlängern.
  • Ein ordnungsgemäßes Verbindungslebenszyklusmanagement — von der Erkennung bis zur Trennung — bestimmt die Effizienz einer BLE-Anwendung.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch