Bluetooth Low Energy (BLE) ist zum vorherrschenden Standard für drahtlose Kurzstreckenkommunikation im Internet der Dinge (IoT), tragbare Technologie und moderne standortbasierte Dienste geworden. Das gesamte Ökosystem hängt von einem einfachen, aber sehr differenzierten Handshake ab: Werbung und Scannen. Der Werbetreibende sendet seine Präsenz und der Scanner hört zu. Während der Bluetooth-Stack einen Großteil dieser Komplexität abstrahiert, können Entwickler und Ingenieure, die diese Prozesse beherrschen, Systeme bauen, die deutlich energieeffizienter, reaktionsschneller und zuverlässiger sind. Dieser Artikel bietet einen technischen Einblick in die Mechanik der Bluetooth-Werbung und Scannen und bietet umsetzbare Strategien zur Optimierung der Geräteerkennung in Produktionsumgebungen.

Die Grundlage der verbindungslosen Kommunikation

Bluetooth-Werbung und Scannen bilden ein asymmetrisches Kommunikationsmodell. Der Werbende überträgt in regelmäßigen Abständen Datenpakete, während der Scanner diese Pakete auf bestimmten Funkkanälen abhört. Entscheidend ist, dass dieser anfängliche Handshake verbindungslos ist — der Werbende weiß nicht, wer zuhört, und der Scanner verbindet sich erst, wenn er sich entscheidet, basierend auf den empfangenen Daten. Diese Grundlage ermöglicht Anwendungsfälle von einfacher Näherungserkennung (iBeacon, Eddystone) bis hin zu komplexen verbindungsorientierten Anwendungen wie drahtlosen Kopfhörern.

Anatomie eines Bluetooth-Werbepakets

Das Verständnis dessen, was sich in einem Werbepaket befindet, ist der erste Schritt zur Optimierung. Eine Legacy Advertising Protocol Data Unit (PDU) besteht aus vier Hauptteilen:

  • Preamble (1 Byte): Eine feste Sequenz (1010 oder 0101), die für die Empfängersynchronisation verwendet wird.
  • Access Address (4 Bytes): Für Legacy Advertising ist dies immer Dedizierte Access-Adressen werden für Datenkanäle verwendet.
  • PDU Header (2 Bytes): Definiert den PDU-Typ (ADV IND, ADV NONCONN IND, SCAN REQ, etc.), die Länge der Nutzlast und Kanalinformationen.
  • Payload (0-37 Bytes): Enthält die Adresse des Werbetreibenden (AdvA) und Werbedaten (AdvData).
  • CRC (3 Bytes): Cyclic Redundancy Check for error detection.

Für Entwickler ist das AdvData Feld die kritischste Komponente. Es ist als eine Folge von AD-Strukturen (Werbedaten) strukturiert, die jeweils ein Längenbyte, ein AD-Typbyte und die tatsächlichen Daten enthalten.

  • Flags: Zeigt LE Limited Discoverable Mode, LE General Discoverable Mode und BR/EDR-Unterstützung an.
  • Lokaler Name: Verkürzter oder vollständiger Gerätename.
  • Service-UUIDs: Eine Liste von 16-Bit-, 32-Bit- oder 128-Bit-UUIDs, die unterstützte Dienste identifizieren.
  • Herstellerspezifische Daten: Benutzerdefinierte Daten, die vom Hersteller verwendet werden (z. B. Apples iBeacon oder Googles Eddystone).

Primäre Werbekanäle

Um eine zuverlässige Erkennung trotz Wi-Fi-Störungen zu gewährleisten, schreibt BLE vor, dass Werbepakete auf drei Hauptkanälen übertragen werden: 37 (2402 MHz), 38 (2426 MHz) und 39 (2480 MHz), die sorgfältig ausgewählt werden, um sich in den Lücken zwischen den Mittenfrequenzen der gängigsten Wi-Fi-Kanäle (1, 6 und 11) zu befinden.

Werbemodi und -typen

Die Bluetooth Core Specification definiert mehrere Werbe-PDU-Typen, die jeweils auf spezifische Anwendungsfälle zugeschnitten sind. Die Wahl des richtigen Typs ist von grundlegender Bedeutung für die Optimierung von Leistung und Erkennungsverhalten.

  • ADV IND (Connectable Undirected Advertising): Der häufigste Modus. Der Werbetreibende ist auffindbar und akzeptiert Verbindungsanfragen von jedem Scanner. Wird für die allgemeine Geräteerkennung (z. B. Kopplung eines Smartphones) verwendet.
  • ADV DIRECT IND (Connectable Directed Advertising): Gezielt auf ein bestimmtes Gerät. Das Paket enthält die Adresse des Werbetreibenden und die Adresse des Ziels. Dieser Modus hat eine sehr geringe Latenz für die Wiederverbindung und wird normalerweise verwendet, wenn eine Verbindung vorübergehend verloren geht.
  • ADV NONCONN IND (Nicht anschließbare ungerichtete Werbung): Das Gerät sendet rein und kann keine Verbindungen akzeptieren. Ausgiebig für Beacons und Broadcast-Sensoren verwendet, da es weniger Strom verbraucht, indem es den Verbindungs-Overhead eliminiert.
  • ADV SCAN IND (Scannbare Ungerichtete Werbung): Das Gerät ist auffindbar, aber nicht verbindbar. Es kann auf Scananforderungen reagieren, so dass Scanner zusätzliche Daten sammeln können, ohne eine vollständige Verbindung herzustellen.

Jeder Modus hat einen entsprechenden Duty-Zyklus. Verbindbare Modi verwenden typischerweise einen höheren Duty-Zyklus, um eine schnelle Verbindungsherstellung zu gewährleisten, während nicht-verbundene Modi einen niedrigeren Duty-Zyklus verwenden können, um Strom zu sparen.

Deep Dive in den Bluetooth Scan-Prozess

Scannen ist das aktive oder passive Abhören von Werbepaketen. Die Scanner-Zeitpläne erhalten Fenster auf den primären Werbekanälen. Der Erfolg der Entdeckung hängt vollständig von der Überlappung zwischen dem Sendeplan des Werbenden und dem Abhörplan des Scanners ab.

Passives Scannen: Abhören für Effizienz

Beim passiven Scannen öffnet der Scanner einfach ein Empfangsfenster und hört auf Werbe-PDUs, sendet keine Anfragen, dies ist der niedrigste Leistungsscanmodus, da das Radio im Sendemodus (der typischerweise 10-20 mA zeichnet) nur minimale Zeit verbringt. Passives Scannen ist ideal für Anwendungen, die nur die bereits im Werbepaket vorhandenen Daten lesen müssen, wie z. B. einen Beacon-Empfänger mit URL oder einer Temperaturmessung.

Scanner, die nur eine Handvoll Service-UUIDs oder eine Hersteller-ID erkennen müssen, können vollständig im passiven Modus arbeiten, wodurch der Systemstrombedarf erheblich reduziert wird.

Aktives Scannen: Reicherer Kontext gewinnen

Wenn der Scanner mehr Informationen benötigt als die anfängliche 31-Byte-Werbenutzlast, führt er einen aktiven Scan durch. Beim Empfang eines Werbepakets (speziell ein ADV IND oder ADV SCAN IND) sendet der Scanner eine SCAN REQ PDU. Der Werbende antwortet mit einer SCAN RSP PDU, die bis zu 31 zusätzliche Datenbytes enthalten kann.

Aktives Scannen ist leistungsstark, da es dem Scanner ermöglicht, den vollständigen lokalen Namen des Geräts oder detaillierte Servicedaten zu erhalten, bevor er sich für die Verbindung entscheidet.

  • Erhöhter Stromverbrauch: Der Scanner muss seinen Sender für den SCAN REQ mit Strom versorgen.
  • Erhöhter Flugverkehr: Der SCAN REQ/SCAN RSP-Austausch fügt Overhead hinzu und erhöht möglicherweise die Kollisionswahrscheinlichkeiten in dichten Umgebungen.
  • Datenschutz Implikationen: Aktives Scannen zeigt dem Werbetreibenden die Präsenz des Scanners und die MAC-Adresse an.

Bei passiven Beacons, die ihren vollständigen Namen erst dann freilegen müssen, wenn ein Benutzer auf sie tippt, ist ein aktives Scannen angemessen.

Scannen von Filtern und doppelter Erkennung

In einer dichten BLE-Umgebung kann ein Scanner mit Tausenden von Paketen pro Sekunde überfordert werden. Um dies zu bewältigen, implementieren moderne Bluetooth-Stacks eine ausgeklügelte Filterung.

  • Gerätefilterung: Der Scanner kann so konfiguriert werden, dass er nur Pakete aus einer Whitelist bestimmter MAC-Adressen oder einer Reihe von Dienst-UUIDs verarbeitet. Dies ist für das Hintergrundscannen auf mobilen Geräten von entscheidender Bedeutung, um die Batterie zu schonen.
  • Duplicate Filtering: Der Stack kann doppelte Pakete automatisch vom selben Gerät verwerfen. Dadurch wird verhindert, dass die Anwendungsschicht mit wiederholter Werbung überflutet wird. Der -Parameter in Androids oder dem in iOS steuert dieses Verhalten. Das Filtern von Duplikaten ist für ein energieeffizientes Scannen unerlässlich.
  • RSSI Filterung: Einige fortschrittliche Scanner erlauben Filterung basierend auf Signalstärke, wobei Geräte ignoriert werden, die zu weit weg (oder zu nah) sind, um relevant zu sein.

Optimierung des Werbe- und Scan-Ökosystems

Der Schlüssel zur effizienten Geräteerkennung liegt in der Abstimmung der Parameter sowohl des Werbetreibenden als auch des Scanners auf die spezifischen Anwendungsanforderungen. Der Kompromiss besteht fast immer zwischen Stromverbrauch und Entdeckungslatenz.

Tuning Werbeparameter

Der wirkungsvollste Parameter ist das Werbeintervall (), definiert als ein Vielfaches von 0,625 ms, das von 20 ms bis 10,24 Sekunden reicht.

Schnelle vs. langsame Werbung

Bluetooth Core Specification empfiehlt zwei hochrangige Dienstzyklen für Werbetreibende:

  • Fast Advertising: Verwendet Intervalle von 30 ms bis 60 ms. Dieser Modus ist für eine schnelle Erkennung gedacht, z. B. wenn ein Gerät gepaart wird oder wenn ein Benutzer aktiv mit dem Gerät interagiert. Er bietet eine Entdeckungslatenz von unter 100 ms, verbraucht aber erhebliche Energie.
  • Langsame Werbung (oder erweiterte Werbung): Verwendet Intervalle von 1 Sekunde bis 2 Sekunden oder länger. Diese wird für Hintergrundübertragungen (z. B. ein Leuchtfeuer in einem Geschäft) verwendet. Es verlängert die Akkulaufzeit auf Monate oder Jahre, kann aber mehrere Sekunden dauern, bis ein Scanner das Gerät erkennt.

Entwickler sollten eine dynamische Werbestrategie implementieren, z. B. könnte ein Sensor nach einem Tastendruck (um eine schnelle Verbindung zu ermöglichen) 30 Sekunden lang schnell werben und dann für den Rest des Tages in ein langsames Intervall zurückkehren, um Batterie zu sparen.

Abstimmparameter für das Scannen

Das Verhalten des Scanners wird durch zwei Parameter bestimmt: scanfenster () und scanintervall ().

  • Scan Window: Die Dauer einer Hörperiode auf einem bestimmten Kanal.
  • Scan-Intervall: Die Gesamtzeit zwischen zwei Scan-Fensteröffnungen.

Das Verhältnis definiert den Scan-Tastzyklus. A 100% Duty Cycle bedeutet, dass der Scanner ständig zuhört ( = ). Dies liefert die schnellste Entdeckung, entleert aber die Batterie schnell. A 10% Duty Cycle bedeutet, dass der Scanner nur 10% der Zeit zuhört, was Strom spart, aber möglicherweise Pakete auslässt.

Moderne mobile Betriebssysteme bieten vordefinierte Scan-Profile, um diesen Kompromiss zu bewältigen:

  • SCAN MODE LOW POWER (Android): ~10% Duty Cycle, 0,5s Intervall.
  • SCAN MODE BALANCED (Android): ~25% Duty Cycle.
  • SCAN MODE LOW LATENCY (Android): ~100% Duty Cycle, 2s Intervall.

Bei iOS verwaltet das System Scanparameter dynamisch basierend auf dem Zustand der App (Vordergrund vs. Hintergrund).

Advanced Filtering und Datenstrukturen

Über die grundlegende MAC- und UUID-Filterung hinaus können Entwickler die Erkennung optimieren, indem sie die Werbedaten sorgfältig strukturieren. Angesichts der 31-Byte-Nutzlastgrenze zählt jedes Byte.

  • Service-UUIDs: Verwenden Sie, wann immer möglich, 16-Bit-Bluetooth-SIG-zugeordnete UUIDs anstelle von 128-Bit-Benutzerdefinierten UUIDs. Sie passen effizienter in das Paket.
  • Manufakturspezifische Daten: Verwenden Sie die ersten 2 Bytes für den Company Identifier (wie von der Bluetooth SIG zugewiesen) und die restlichen Bytes für benutzerdefinierte Daten.
  • Eddystone und iBeacon: Dies sind bekannte Frame-Typen, die das Feld Herstellerspezifische Daten verwenden. Scanner suchen speziell nach diesen Frame-Typen, was eine extrem gezielte Filterung auf Funkebene ermöglicht.

Erweiterte Werbung mit Bluetooth 5.x und Auracast

Bluetooth 5.0 führte zu einer bedeutenden Weiterentwicklung der Werbemöglichkeiten und ging über die alten 31-Byte-Kanäle hinaus.

Erweiterte Werbung

BLE 5.0 erweiterte die Werbekanäle von den ursprünglichen 3 Primärkanälen auf 39 Kanäle (Kanäle 37-39 plus 40-47 werden für Sekundärwerbung verwendet).

  • Größere Payloads: Bis zu 255 Bytes in einem einzigen Werbepaket.
  • Höhere Datenraten: Mit dem 2M PHY (2 Mbps).
  • Längere Reichweite: Mit dem Coded PHY (125 kbps oder 500 kbps), der unter idealen Bedingungen über einen Kilometer Reichweite erreichen kann.
  • Primär-/Sekundärkanäle: Der Scanner entdeckt das Gerät auf den Primärkanälen (37, 38, 39) und erfährt, welchen Sekundärkanal der Werbetreibende verwenden wird, um die tatsächlichen Daten zu senden.

Erweiterte Werbung ist für moderne IoT-Gateways und Asset-Tracking-Tags unerlässlich, die große Datenmengen (wie Sensorprotokolle oder Firmware-Images) übertragen müssen, ohne eine vollständige Verbindung herzustellen.

Periodische Werbung (PAwR und PAST)

Periodic Advertising bringt den BLE-Sender auf die nächste Stufe. Der Werbende sendet Pakete in einem festen Intervall. Der Scanner kann mit dem Werbenden synchronisieren, indem er diese periodischen Züge hört. Um zu synchronisieren, erkennt der Scanner zuerst das Gerät über erweiterte Werbung und lernt den Zeitpunkt des periodischen Zuges.

PAwR (Periodic Advertising with Responses) ist ein Game-Changer für die Zwei-Wege-Kommunikation. Es ermöglicht einem Gateway, effizient mit Tausenden von Endknoten zu kommunizieren, indem spezifische Antwortschlitze für jeden Knoten definiert werden. Dies bildet die Grundlage für hochdichte Sensornetzwerke wie Electronic Shelf Labels (ESLs).

PAST (Periodic Advertising Sync Transfer) ermöglicht es einem Gerät, das bereits mit einem periodischen Werbetreibenden synchronisiert ist, diese Synchronisationsinformationen mit einem anderen Gerät zu teilen. Dies ist das technische Rückgrat von Auracast, dem neuen Bluetooth Broadcast Audio Standard.

Auracast: Connectionless Audio

Auracast nutzt periodische Werbung, um Audiostreams zu senden. Hörgeräte, Ohrhörer und Lautsprecher scannen nach Auracast-Streams. Der Scanner (z. B. ein Telefon oder ein Hörgerät) synchronisiert sich mit dem periodischen Zug und empfängt die Audiodaten. Dies unterscheidet sich grundlegend vom klassischen A2DP-Streaming, da es unbegrenzten Empfängern erlaubt, gleichzeitig zu hören und Funktionen wie das Teilen von Audio von einem Fernseher zu mehreren Kopfhörern unterstützt.

Praktische Überlegungen für Robuste Discovery-Systeme

Der Aufbau eines produktionsbereiten BLE-Systems erfordert die Navigation durch die realen Einschränkungen der Radiophysik, der Batteriechemie und der Einschränkungen des Betriebssystems.

Stromverbrauchsanalyse

Das Radio ist die leistungshungrigste Komponente eines BLE-Geräts. Ein typischer BLE-SoC zeichnet 10-20 mA während des aktiven Sendens oder Empfangens. Die durchschnittliche Leistung wird berechnet als:

Avg Power = (TX/RX Current) x Duty Cycle + (Sleep Current) x (1 - Duty Cycle)

Bei 1-Sekunden-Werbeintervallen ist der Duty-Zyklus winzig (etwa 0,5-1 ms Radio pro Sekunde = 0,1% Duty-Zyklus). Dies ermöglicht es einer CR2032-Münzenzellenbatterie, ein Baken für mehr als ein Jahr zu betreiben. Wenn man auf ein 100-Ms-Intervall wechselt, erhöht sich der Duty-Zyklus auf ~1%, was die Batterielebensdauer auf einige Monate reduziert. Berechnen Sie immer den Duty-Zyklus, bevor Sie sich an eine Batteriequelle binden.

Betriebssystem- und Plattformbeschränkungen

Mobile Betriebssysteme setzen dem BLE-Scannen strenge Grenzen, um die Akkulaufzeit und die Privatsphäre der Benutzer zu schützen.

  • iOS (Apple): Im Hintergrund werden Core Bluetooth-Scans viel seltener durchgeführt. Die -Option wird im Hintergrund weitgehend ignoriert. Apps müssen ihre Hintergrundmodi in Info.plist angeben. Darüber hinaus werden iOS Geräte aggressiv zwischengespeichert und das Scannen nach bestimmten Service-UUIDs wird dringend empfohlen, um den Akkuverbrauch zu reduzieren.
  • Android (Google): Android 8+ hat die Ausführungsgrenzen für Hintergrund-Anwendungen eingeführt. Apps, die im Hintergrund scannen, müssen einen Vordergrund-Dienst verwenden (wenn Hintergrund-Scans anvisiert werden) oder mit entsprechendem verwenden. Android 12+ benötigt die Berechtigung, was eine Laufzeitberechtigung wie Location ist.

Ingenieure müssen ihre Discovery-Logik auf beiden Plattformen unter Hintergrundbedingungen testen, da sich das Verhalten oft deutlich vom Vordergrundbetrieb unterscheidet.

Koexistenz und Interferenzmanagement

Das 2,4 GHz ISM-Band ist ein überfüllter Raum. Wi-Fi, Zigbee, Thread und sogar Mikrowellenherde stören BLE. Der Bluetooth-Stack behandelt dies durch Adaptive Frequency Hopping (AFH) auf Datenkanälen. Die drei primären Werbekanäle (37, 38, 39) hüpfen jedoch nicht. Wenn die Wi-Fi-Aktivität auf den Kanälen 1, 6 und 11 hoch ist, können Werbepakete verloren gehen.

Entwickler können dies abmildern durch:

  • Verwendung von Extended Advertising (BLE 5.x), die mehr Kanäle für die sekundäre Datenübertragung nutzt.
  • Sicherzustellen, dass das Werbeintervall lang genug ist, um eine anhaltende Kollision mit Wi-Fi-Beacons zu vermeiden.
  • Implementierung von Software-Level-Retransmission oder Bestätigung, wenn kritische Daten gesendet werden.

Fazit: Den Discovery Handshake meistern

Effiziente Bluetooth-Geräteerkennung ist kein binärer Zustand, in dem "verbunden" oder "getrennt" wird. Es ist ein kontinuierliches Optimierungsproblem, das Paketdesign, Energiemanagement und Parameterabstimmung beinhaltet. Der Werbetreibende muss seine Präsenz auf eine Weise übertragen, die für den beabsichtigten Anwendungsfall erkennbar ist, ohne Batterie zu verschwenden. Der Scanner muss intelligent zuhören, Rauschen filtern und sich auf relevante Signale konzentrieren.

Durch die Beherrschung des Zusammenspiels zwischen Werbeintervallen, Scannen von Pflichtzyklen und Datenfilterung können Entwickler Systeme erstellen, die nicht nur zuverlässig und reaktionsschnell, sondern auch energieeffizient genug sind, um jahrelang mit einer einzigen Batterie zu laufen. Da sich die Bluetooth-Technologie mit Auracast und Channeling mit hoher Dichte weiterentwickelt, werden die Prinzipien der effizienten Werbung und des Scannens im Herzen des drahtlosen Ökosystems bleiben.

Weiteres Lesen und Ressourcen