Zum Hauptinhalt springen

Bluetooth

Scannen Sie nach Bluetooth Low Energy-Geräten in der Nähe, prüfen Sie Signalstärke und Werbedaten, durchsuchen Sie GATT-Services und -Charakteristiken und sehen Sie Live-Daten von verbundenen Peripheriegeräten.

Überblick mit Scan-Steuerung und nahegelegenen Geräten, sortiert nach RSSI.
Jede Gerätezeile zeigt Name, RSSI und ob das Gerät verbindbar ist.

Überblick

Das Bluetooth-Tool verwendet Apples CoreBluetooth-Framework, um als BLE (Bluetooth Low Energy) Central zu agieren und nach Peripheriegeräten in der Nähe zu scannen. Es zeigt jedes entdeckte Gerät mit aktueller Signalstärke (RSSI), Werbedaten und Verbindungsstatus an. Sie können sich mit verbindbaren Peripheriegeräten verbinden, deren GATT-Services und -Charakteristiken durchsuchen, Werte lesen, Benachrichtigungen abonnieren und Herstellerdaten einsehen.

Inhaltsverzeichnis


Überblicksbildschirm

Der Überblicksbildschirm ist die Hauptansicht des Bluetooth-Tools. Er enthält eine Suchleiste, eine Statuskarte mit Scan-Steuerung und eine scrollbare Liste der gefundenen Geräte.

Ein Textfeld am oberen Bildschirmrand filtert die Geräteliste nach Namen. Die Liste wird sofort auf Geräte eingeschränkt, deren beworbener oder Peripherie-Name den Suchtext enthält (Groß-/Kleinschreibung wird ignoriert). Ein Löschen-Button erscheint, wenn das Feld nicht leer ist.

Bluetooth-Statuskarte

Die Statuskarte zeigt:

  • Bluetooth-Status-Label mit aktuellem Funkstatus, farblich codiert:
    • Eingeschaltet (grün) — Bluetooth ist aktiv und bereit zum Scannen.
    • Ausgeschaltet (rot) — das Bluetooth-Funkmodul ist deaktiviert.
    • Nicht autorisiert (orange) — der Benutzer hat die Bluetooth-Berechtigung für die App verweigert.
    • Nicht unterstützt (rot) — die Gerätehardware unterstützt kein Bluetooth.
    • Unbekannt / Wird zurückgesetzt (grau) — das System bestimmt noch den Bluetooth-Status.
  • Einen Scan-Steuerungsbutton (nur sichtbar, wenn Bluetooth eingeschaltet ist):
    • Scannen stoppen (rot) — beendet den aktiven Scan.
    • Scannen starten (grün) — beginnt mit dem Scannen nach Peripheriegeräten in der Nähe.

Das Scannen startet automatisch, wenn das Tool geöffnet wird und Bluetooth eingeschaltet ist.

Geräteliste

Gefundene Geräte erscheinen in einer scrollbaren Liste, sortiert nach RSSI (stärkstes Signal zuerst). Die Liste wird in Echtzeit aktualisiert, wenn neue Geräte gefunden werden oder bestehende Geräte ihre Werbedaten aktualisieren.

Gerätezeile

Jedes Gerät wird als Karte mit folgenden Elementen angezeigt:

  • Ein Bluetooth-Symbol in einem runden Badge. Ein weißer Bogen überlagert den Kreis und füllt sich proportional zur Signalstärke des Geräts (0–100%).
  • Gerätename — der beworbene lokale Name oder Peripherie-Name. Geräte ohne Namen werden als [Kein Name] angezeigt.
  • RSSI — die empfangene Signalstärke in dB (z. B. RSSI: -43 dB).
  • Ein Statusindikator unten links, mit einem der folgenden Zustände:
    • Verbunden (grün) — das Gerät ist aktuell verbunden.
    • Verbindbar (blau) — das Gerät signalisiert, dass es Verbindungen akzeptiert.
    • Services: N — die Anzahl der GATT-Services, die das Gerät bewirbt (wird angezeigt, wenn Services vorhanden sind, das Gerät aber noch nicht verbunden ist).
    • (kein Label) — das Gerät ist nicht verbindbar und bewirbt keine Services.
  • Ein Indikator rechts:
    • Ein grünes Häkchen-Symbol, wenn das Gerät verbunden ist.
    • Ein Chevron (>) bei verbindbaren Geräten (Tippen öffnet Details).
    • Nicht verbindbar-Text, wenn das Gerät keine Verbindungen akzeptiert.

Tippen Sie auf eine Gerätezeile, um zum Gerätedetails-Bildschirm zu gelangen.

Leere Zustände

Der Überblick zeigt situationsabhängige leere Zustände:

  • Scannen — ein Lupen-Symbol mit Ladeanimation, solange der initiale Scan läuft und noch keine Geräte gefunden wurden.
  • Bluetooth aus / nicht unterstützt — ein durchgestrichenes Bluetooth-Symbol mit aktuellem Status und einer Aufforderung, Bluetooth zu aktivieren.
  • Scannen gestoppt — ein Bluetooth-Symbol mit Scannen starten-Button, wenn Bluetooth eingeschaltet ist, aber das Scannen manuell gestoppt wurde und keine Geräte in der Liste sind.

Gerätedetails-Bildschirm

Das Tippen auf eine Gerätezeile öffnet einen eigenen Detailbildschirm. Der Bildschirm ist in einen Kopfbereich, eine Signalstärke-Anzeige und drei Inhaltstabs unterteilt.

Kopfbereich und Verbindung

Der Kopfbereich enthält:

  • Einen Zurück-Button (< Geräte), um zum Überblick zurückzukehren.
  • Den Gerätenamen prominent dargestellt.
  • Einen Verbindungsstatus-Indikator — ein farbiger Punkt neben einem Label:
    • Verbunden (grün)
    • Verbindet (orange)
    • Getrennt (rot)
    • Trennen (orange)
  • Einen Verbinden- / Trennen-Button (nur bei verbindbaren Geräten sichtbar):
    • Verbinden (blau) — startet eine BLE-Verbindung. Während des Verbindungsaufbaus wird ein Ladeindikator angezeigt.
    • Verbindet... (blau, deaktiviert) — wird während des Verbindungsversuchs angezeigt.
    • Trennen (rot) — beendet die aktive Verbindung.

Nach erfolgreicher Verbindung werden automatisch alle GATT-Services und deren Charakteristiken entdeckt. Lesbare Charakteristiken werden sofort ausgelesen, und Charakteristiken mit Benachrichtigungsfunktion werden automatisch abonniert.

Signalstärke-Anzeige

Der Signalstärke-Bereich bietet eine detaillierte, Echtzeit-Ansicht des Funksignals des Geräts:

  • Kreisförmige Anzeige — ein Bogen, der sich von 0% bis 100% mit einem Winkelverlauf (rot über orange und gelb bis grün) füllt. Der aktuelle RSSI-Wert in dBm wird im Zentrum angezeigt.

  • Ungefähre Entfernung — eine menschenlesbare Schätzung, abgeleitet aus dem RSSI-Wert:

    RSSI-BereichBezeichnung
    -30 bis -50 dBmSehr nah
    -51 bis -65 dBmNah
    -66 bis -80 dBmMittel
    -81 bis -90 dBmWeit
    Unter -90 dBmSehr weit
  • Signalbalken — eine 5-Balken-Anzeige, die sich je nach Signalstärke-Prozentsatz füllt.

  • Signalqualität — ein Textlabel: Ausgezeichnet (>80%), Gut (>60%), Befriedigend (>40%), Schwach (>20%) oder Sehr schwach (<=20%).

  • RSSI — der Rohwert in dBm.

  • TX Power — die Sendeleistung in dBm, sofern vom Gerät beworben. Dieser Wert repräsentiert die Signalstärke in 1 Meter Entfernung vom Sender und kann zur Entfernungsschätzung genutzt werden.

  • Signalverlauf — ein rollierendes Balkendiagramm der letzten 20 RSSI-Messungen, farblich codiert (grün >= -60, gelb >= -75, rot < -75). Dies hilft, die Signalstabilität über die Zeit zu visualisieren.

Info-Tab

Der Info-Tab zeigt allgemeine Informationen zum Gerät als Schlüssel-Wert-Zeilen:

FeldBeschreibung
NameDer beworbene oder Peripherie-Name (oder [Kein Name]).
BezeichnerDie von CoreBluetooth vergebene UUID der Peripherie. Dies ist ein lokaler Bezeichner und nicht die tatsächliche MAC-Adresse des Geräts.
RSSIAktuelle empfangene Signalstärke in dB.
TX PowerSendeleistung in dBm (nur angezeigt, wenn vom Gerät beworben).
VerbindbarOb das Gerät BLE-Verbindungen akzeptiert (Ja / Nein).
StatusAktueller Verbindungsstatus (Verbunden, Verbindet, Getrennt, Trennen).
EntdecktZeitstempel, wann das Gerät in dieser Scan-Session erstmals gesehen wurde.
Zuletzt aktualisiertZeitstempel der letzten Werbe- oder RSSI-Aktualisierung.

Unterhalb der Schlüssel-Wert-Zeilen erscheinen zwei zusätzliche Abschnitte, wenn das Gerät die entsprechenden Daten bereitstellt:

  • Beworbene Services — eine Liste der GATT-Service-UUIDs, die das Gerät in seinen Werbepaketen angibt. Bekannte Standardservices werden mit ihrem Namen neben der UUID angezeigt (z. B. 180F (Battery Service), 180A (Device Information)). Siehe Erkannte Services für die vollständige Liste.
  • Herstellerdaten — die rohen, herstellerspezifischen Werbedaten als Hex-String. Die ersten zwei Bytes kodieren die Bluetooth SIG-Unternehmenskennung (Little-Endian).

Services-Tab

Der Services-Tab ist nur bei verbundenen Geräten verfügbar. Er zeigt den vollständigen GATT-Service- und Charakteristik-Baum, der während der Verbindung entdeckt wurde.

Jeder Service wird als aufklappbare Zeile dargestellt:

  • Ein farbiges Symbol je nach Service-Kategorie:
    • Blau — Generische Services (Generic Access 1800, Generic Attribute 1801)
    • Grün — Battery Service (180F)
    • Orange — Device Information (180A)
    • Lila — Herstellerspezifische Services (UUIDs beginnend mit FE)
    • Grau — Andere / unbekannte Services
  • Service-Name (aus UUID aufgelöst für bekannte Services) und die rohe UUID-Zeichenkette.
  • Ein Badge mit der Anzahl der Charakteristiken dieses Services.
  • Ein Chevron, der sich beim Ausklappen dreht.

Erkannte Services

UUIDService-Name
1800Generic Access
1801Generic Attribute
180ADevice Information
180FBattery Service
1812HID (Human Interface Device)
1813Scan Parameters
1819Location and Navigation
181CUser Data
FE59Apple Notification Center

Das Ausklappen eines Services zeigt dessen Charakteristiken. Jede Charakteristik-Zeile zeigt:

  • Ein farbiges Symbol je nach Haupt-Eigenschaft (lila für Lesen+Schreiben, blau für nur Lesen, grün für nur Schreiben, orange für nur Benachrichtigen, grau sonst).
  • Charakteristik-Name (aus UUID aufgelöst für bekannte GATT-Charakteristiken) und die rohe UUID-Zeichenkette.
  • Eigenschafts-Badges — kleine, farbcodierte Labels für jede unterstützte Eigenschaft:
    • Read (blau) — Wert kann auf Anfrage gelesen werden.
    • Write (grün) — Wert kann mit Bestätigung geschrieben werden.
    • Write No Response (hellgrün) — Wert kann ohne Bestätigung geschrieben werden.
    • Notify (orange) — die Charakteristik kann Updates an das Central senden.
    • Indicate (hellorange) — wie Notify, aber mit Bestätigung.
    • Auth (lila) — die Charakteristik erfordert authentifizierte, signierte Schreibvorgänge.
  • Ein Augen-Umschalter (wird angezeigt, wenn die Charakteristik einen Wert hat). Durch Tippen wird der aktuelle Wert der Charakteristik in mehreren Formaten angezeigt:
    • Hex — die rohe Byte-Sequenz.
    • String — eine UTF-8-Interpretation, falls die Bytes gültigen Text ergeben.
    • Numerisch — automatische Interpretation je nach Bytelänge:
      • 1 Byte: UInt8-Wert
      • 2 Bytes: UInt16-Wert
      • 4 Bytes: UInt32-Wert und Float-Wert

Erkannte Charakteristiken

UUIDCharakteristik-Name
2A00Device Name
2A01Appearance
2A04Peripheral Preferred Connection Parameters
2A05Service Changed
2A19Battery Level
2A23System ID
2A24Model Number String
2A25Serial Number String
2A26Firmware Revision String
2A27Hardware Revision String
2A28Software Revision String
2A29Manufacturer Name String
2A2AIEEE 11073-20601 Regulatory Certification Data List
2A50PnP ID

Daten-Tab

Der Daten-Tab zeigt Live, interpretierte Daten vom verbundenen Gerät. Ist das Gerät nicht verbunden, erscheint eine Aufforderung mit Verbinden-Button (bei verbindbaren Geräten) oder eine Information.

Bei bestehender Verbindung werden bis zu drei Karten angezeigt:

  • Herstellerdaten — die herstellerspezifischen Werbedaten:

    • Hersteller-ID — aus den ersten zwei Bytes (Little-Endian) der Herstellerdaten aufgelöst. Bekannte IDs sind Apple (0x004C), Microsoft (0x0006), Samsung (0x0075), Xiaomi (0x038F) und Bosch (0x01D7). Unbekannte IDs werden als Hex angezeigt (z. B. ID: 0x1234).
    • Rohdaten — der vollständige Hex-Dump der Herstellerdaten-Bytes.
    • Byte-Visualisierung — ein horizontales Balkendiagramm, wobei jeder Balken ein Byte repräsentiert. Die Höhe entspricht dem Bytewert (0–255) und bietet einen schnellen visuellen Fingerabdruck der Daten.
  • Charakteristik-Werte — eine Liste aller Charakteristiken mit lesbarem Wert. Jeder Eintrag zeigt:

    • Den Namen der Charakteristik (oder UUID, falls unbekannt).
    • Den interpretierten Wert (als Byte, UInt16, UInt32/Float, UTF-8-String oder Hex, je nach Datenlänge).
    • Ein kleines Byte-Balkendiagramm für Werte bis zu 8 Bytes, mit farbcodierten Balken je nach Wert (blau < 30%, grün < 60%, gelb < 80%, rot >= 80%).
    • Werte werden bei Charakteristiken mit Benachrichtigungsfunktion automatisch aktualisiert.
  • Verbindungsinfo — Zeit- und Signal-Metadaten:

    • Entdeckt — Zeitpunkt, zu dem das Gerät erstmals gesehen wurde, mit verstrichener Zeit seit Entdeckung.
    • Letztes Update — Zeitpunkt der letzten Datenaktualisierung, mit TX Power falls verfügbar.

Berechtigungen und Anforderungen

  • Bluetooth-Berechtigung — CoreBluetooth erfordert, dass der Benutzer Bluetooth-Zugriff gewährt. Wird die Berechtigung verweigert, zeigt Lirum einen Berechtigungsbildschirm mit Button zum Öffnen der iOS-Einstellungen, damit der Benutzer den Zugriff erneut aktivieren kann.
  • Bluetooth-Funkmodul — ist Bluetooth ausgeschaltet, bleibt das Tool zugänglich, aber die Scan-Steuerung ist deaktiviert und ein leerer Zustand fordert den Benutzer auf, Bluetooth einzuschalten. In diesem Fall wird keine Berechtigungsabfrage angezeigt.
  • Die Bluetooth-Berechtigung wird vom System verwaltet; es gibt keinen expliziten „Berechtigung anfordern“-Button. Die Systemabfrage erscheint automatisch beim ersten Initialisieren von CoreBluetooth.

Technische Details

  • Das Tool agiert als BLE Central mittels CBCentralManager. Es scannt nach allen Peripheriegeräten in der Nähe (scanForPeripherals(withServices: nil)), d. h. es findet Geräte unabhängig von den beworbenen Services.
  • RSSI (Received Signal Strength Indicator) Werte liegen typischerweise zwischen -30 dBm (sehr stark, Gerät sehr nah) und -100 dBm (sehr schwach, Gerät weit entfernt oder abgeschirmt). Das Tool normalisiert diesen Bereich auf eine 0–100%-Skala mit der Formel: (RSSI + 100) / 70.
  • Bei verbundenen Geräten wird der RSSI alle 2 Sekunden mit readRSSI() abgefragt. Ein Rauschfilter unterdrückt Änderungen unter 2 dB, um visuelles Flackern zu reduzieren.
  • Nach Verbindungsaufbau ruft das Tool discoverServices(nil) auf, um alle GATT-Services zu ermitteln, und anschließend discoverCharacteristics(nil, for:) für jeden Service. Lesbare Charakteristiken werden automatisch mit readValue(for:) ausgelesen, und benachrichtigungsfähige Charakteristiken werden mit setNotifyValue(true, for:) abonniert.
  • TX Power (CBAdvertisementDataTxPowerLevelKey) repräsentiert die Signalstärke in 1 Meter Entfernung vom Sender. Sind sowohl TX Power als auch RSSI bekannt, kann die Differenz zur Schätzung des Signalverlusts und der ungefähren Entfernung genutzt werden.
  • Herstellerdaten (CBAdvertisementDataManufacturerDataKey) folgen dem Bluetooth SIG-Format: Die ersten zwei Bytes sind die Unternehmenskennung im Little-Endian-Format, gefolgt von herstellerspezifischen Nutzdaten.
  • Der Peripherie-Bezeichner im Info-Tab ist eine von CoreBluetooth auf dem lokalen Gerät vergebene UUID. Sie bleibt für dasselbe Gerät über App-Starts hinweg stabil, ist aber nicht die tatsächliche Bluetooth-MAC-Adresse (die iOS nicht preisgibt).

Hinweise und Einschränkungen

  • Die angezeigten Informationen hängen davon ab, was das jeweilige Peripheriegerät bewirbt und was iOS über CoreBluetooth bereitstellt. Manche Geräte senden nur minimale Daten.
  • Viele Geräte erscheinen als [Kein Name], da sie keinen lokalen Namen in ihren Werbepaketen angeben.
  • Die ungefähren Entfernungsschätzungen sind grobe Richtwerte auf Basis von RSSI-Schwellenwerten. Tatsächliche Entfernungen variieren stark je nach Umgebung, Hindernissen, Antennenausrichtung und Sendeleistung.
  • Nicht alle verbindbaren Geräte lassen sich erfolgreich verbinden. Manche erfordern eine vorherige Kopplung über die iOS-Einstellungen, andere lehnen Verbindungen von unbekannten Centrals ab.
  • Klassische Bluetooth-Geräte (nicht BLE) sind über CoreBluetooth nicht sichtbar und erscheinen nicht in den Scan-Ergebnissen.
  • RSSI-Werte können durch Mehrwegeausbreitung, Körperabsorption und andere Umwelteinflüsse stark schwanken. Das Signalverlaufsdiagramm hilft, diese Schwankungen optisch zu glätten.

Fehlerbehebung

  • Keine Geräte gefunden — stellen Sie sicher, dass Bluetooth eingeschaltet ist, bleiben Sie einige Sekunden auf dem Bluetooth-Bildschirm und tippen Sie auf Scannen starten, falls das Scannen gestoppt wurde.
  • Berechtigung verweigert — tippen Sie auf den Einstellungen öffnen-Button im Berechtigungsbildschirm und aktivieren Sie den Bluetooth-Zugriff für Lirum in den iOS-Datenschutzeinstellungen erneut.
  • Verbindung schlägt fehl — das Gerät muss eventuell zuerst in den iOS-Einstellungen gekoppelt werden, unterstützt keine Verbindungen von Drittanbieter-Apps oder ist außer Reichweite.
  • Services-Tab ist leer — manche Geräte bieten keine Services an oder verzögern die Service-Erkennung. Warten Sie einige Sekunden nach dem Verbinden. Erscheinen keine Services, unterstützt das Gerät möglicherweise keine Standard-GATT-Profile.
  • Charakteristik-Werte nur als Hex — das Tool versucht, Werte als UTF-8-Text und gängige numerische Typen zu interpretieren. Ist keine Interpretation möglich, wird der rohe Hex-Dump angezeigt.