Sonnenaufgang Leuchtturm in List auf Sylt

(Bild: Fotolia)

| von Joe Tillison

Ein Beacon (wörtlich übersetzt: ein Funkfeuer) ist ein kleiner, batteriebetriebener drahtloser Baustein, der mithilfe der Bluetooth-Low-Energy-Technologie (BLE) seine Anwesenheit und seine Dienstbereitschaft anzeigt. Dies geschieht durch die wiederholte Ausstrahlung oder Bekanntgabe einer Beacon-Kennung an kompatible Geräte, beispielsweise Smartphones, die sich in der Nähe befinden. Daraufhin kann das Smartphone die Informationen des Beacons zur Bestimmung von Standort und Dienstangeboten des aussendenden Geräts, beispielsweise für interaktive Apps, verwenden und entsprechend darauf reagieren.

Als konkrete Lösungen gibt es beispielsweise das iBeacon-Format von Apple, das Open-Source-Projekt Eddystone von Google sowie das AltBeacon-Format von Radius Networks. Diese Lösungen basieren auf einigen der nativen Möglichen von BLE und nutzen den weit verbreiteten Einsatz von Bluetooth. Gedacht ist die Technik beispielsweise für Ladenbesitzer, die Kunden im Vorbeigehen Informationen zu Angeboten unterbreiten können. Andere Anwendungsmöglichkeiten sind auf das Smartphone gesendete Speisekarten in einem Restaurant oder Informationen zu Fahrplänen an einer Bushaltestelle

Räumliche Lokalisierung

Bild 1: Bluetooth-Low-Energy-Signal mit Advertising Packet.

Bild 1: Bluetooth-Low-Energy-Signal mit Advertising Packet. Silicon Labs

Für eine räumliche Lokalisierung ermitteln die Anwendungen, welche Beacons sich in der Nähe befinden. Da die HF-Reichweite eines Beacons jedoch je nach der Sendeleistung von unter einem Meter bis zu 500 Meter schwanken kann, ist die Bestimmung der Nähe zu einem Beacon („proximity-awareness“) ausschließlich auf Basis des Empfangs eines Pakets mit entsprechender Kennung nicht praktikabel.

In der Praxis stützt sich die Beacon-Lokalisierung daher auf den Vergleich eines Empfangssignalstärke-Indikators (RSSI, Received Signal Strength Indicator) mit der Sendeleistung eines Beacons, um so den Abstand annähernd zu bestimmen. Beacons stellen in den Advertising Packets ihres Sendesignals (Bild 1) einen kalibrierten Wert der Sendeleistung zur Verfügung, der zusammen mit dem RSSI einem Empfänger die Einschätzung ermöglicht, wie weit der Beacon entfernt ist. Umgebungs- und andere Faktoren beeinflussen die Signalstärke, doch ein ungefährer Abstand reicht im Allgemeinen für Näherungsanwendungen aus, weil die Anforderung nur darin liegt, zu erkennen, ob sich ein Beacon in der näheren Umgebung befindet. Wo genau, spielt dabei keine Rolle.

Künftige Versionen der Bluetooth-Spezifikation werden voraussichtlich mithilfe von Mehrantennen-Features  – Angle-of-Arrival (AoA) und  Angle-of-Departure (AoD) – die genaue Bestimmung der räumlichen Lage eines anderen Bluetooth-Geräts ermöglichen. Derartige Features sind vor allem für solche Bluetooth-Anwendungen interessant, die eine bis in den Millimeterbereich genaue Standorterfassung benötigen.

Erkennung bestimmter Beacons

Um einen bestimmten Service anzumelden, sendet ein Beacon einen Universally Unique Identifier UUID) im Advertising Packet. Wenn ein Bluetooth-Scanner ein solches Advertising Packet erhält, wird der UUID vom Betriebssystem in einer spezifischen Anwendung registriert, die darauf entsprechend reagieren kann. Beacons senden typischerweise eine kleine Menge kundenspezifisch anpassbarer eingebetteter Daten aus. Ein BLE-Scanner sucht regelmäßig die Umgebung nach Advertising Packets ab und decodiert sie dann, um ihren Inhalt zu entschlüsseln und entsprechend in Aktion zu treten.

Beacons benutzen das übliche Advertising-Packet-Format und betten die Datennutzlast in die vordefinierte Struktur ein, die das jeweilige Beacon-Format verwendet. Auf diese Weise kann das Betriebssystem das Advertising Packet eines bestimmten Beacons erkennen. BLE-Geräte senden Advertising Packets in wählbaren Zeitabständen aus, von 20 ms bis zu mehreren Minuten. Dasselbe Paket wird jedes Mal auf allen drei Advertising-Kanälen ausgestrahlt, sobald sich ein Gerät meldet. Dadurch wird es wahrscheinlicher, dass ein Scanner das Advertising Packet aufnimmt.

Innerhalb des Advertising Packets ist die Datennutzlast als eine oder mehrere Dreiergruppen (Länge, Typ, Daten) strukturiert:

  • Das Feld „Länge“ definiert die kombinierte Größe der nachfolgenden Typ- und Datenfelder.
  • Das Feld „Typ“ benennt, ob es sich bei den Daten um einen Namen, den UUID eines Services, einen Universal Resource Identifier (URI) oder um einen von vielen anderen definierten Datentypen handelt, sowie
  • die Paketdaten selbst.

Die Übertragung eines einzigen Beacon-Pakets kann bis zu 376 µs dauern. Die Frequenz, mit der Pakete übertragen werden, ist ein Kompromiss zwischen der Verlustleistung und der zulässigen Latenzzeit der Anwendung.

Entwicklung eines Beacon-Produkts

Bild 2: Ein BLE-Beacon-Modul von Silicon Labs (links) und ein Referenz-Design für eine SoC-Lösungen (rechts).

Bild 2: Ein BLE-Beacon-Modul von Silicon Labs (links) und ein Referenz-Design für eine SoC-Lösungen (rechts). Silicon Labs

Ein Beacon besteht im Wesentlichen aus einem SoC-Baustein (System-on-Chip) oder einem Modul zusammen mit einer Batterie sowie einem Gehäuse. Häufig enthält ein Beacon auch noch andere Bauelemente, etwa in Form von Sensoren oder für eine funktionale Interaktion mit dem User. Bereits vorab zertifizierte Modullösungen gewährleisten eine kurze Time-to-Market und vermeiden beträchtliche technische Vorlaufinvestitionen und Tests der HF-Konformität. Ein SoC-Design wiederum ermöglicht Einsparungen bei Größe und Kosten (Bild 2).

Bild 3: Beispiel-Code in BGScript für das BLE-Modul BGM111.

Bild 3: Beispiel-Code in BGScript für das BLE-Modul BGM111. Silicon Labs

Die Auswahl eines im Feldeinsatz bewährten BLE-Stacks, der den Ruhebetrieb aktiv verwaltet, ist aus Gründen des Power-Managements von entscheidender Bedeutung. Wenn beispielsweise ein Beacen ein 1 ms dauerndes Signal alle 100 ms sendet, bedeutet das, dass er sich zu 99 Prozent im Schlafzustand befindet. Das gilt auch für einen Stack, der beispielsweise mehre Beacon-Frame-Arten (etwa iBeacon oder Eddystone) zusammen mit ihren Zeittakt-Parametern definieren kann, die der Stack dann autonom verschachtelt, ohne dass der Anwendungs-Code mit seinem hohen Energiebedarf eingreifen muss.

Zu weiteren wichtigen Software-Features zählen ein Watchdog-Timer als Fail-Safe-Mechanismus, Echtzeit-Takte um die Ein/Aus-Zyklen des Beacons so einzustellen, dass Energie gespart wird, sowie die Möglichkeit, Firmware-Updates zu unterstützen. Der Anwendungs-Code eines Beacons kann verhältnismäßig einfach sein und mit einer höheren Programmiersprache wie etwa BGScript implementiert werden. Der Vorteil dieser Methode liegt darin, dass sich der Entwickler auf die Applikation selbst konzentrieren kann, ohne dass er sich mit dem Zeittakt sowie den Komplexitäten des darunterliegenden Protokoll-Stacks befassen muss.

Der in Bild 3 gezeigte Code unterstützt das Bluetooth-Modul BGM111 von Silicon Labs. Das Advertising Packet des Codes wird so aufgebaut, dass es den Apple AirLocate Service UUID von 74278bda-b644-4520- 8f0c-720eaf059935 verwendet. Der kalibrierte Sendeleistungswert (Tx) von 0xD0 entspricht -48 dBm bei einem Meter Entfernung.

Reichweite und Genauigkeit

Bild 4: Die durchschnittliche Batterielebensdauer eines Beacons wird durch die Sendeleistung und das gewählte Sendeintervall bestimmt.

Bild 4: Die durchschnittliche Batterielebensdauer eines Beacons wird durch die Sendeleistung und das gewählte Sendeintervall bestimmt. Silicon Labs

Die Sendeleistung des Beacons und sein Sendeintervall spielen eine wesentliche Rolle für die Batterielebensdauer und für den Kompromiss zwischen gewünschter Reichweite und Genauigkeit der Nähebestimmung, wie in Bild 4 dargestellt. Eine höhere Sendeleistung ergibt eine längere Reichweite sowie einen breiteren Abdeckungsbereich, doch wird der Sender bei jedem Beacon-Event der Batterie mehr Energie entnehmen.

Hinsichtlich der Performance bedeutet ein kürzeres Beacon-Intervall, dass mehr Beacon-Events zu erfassen sind. Daraus ergibt sich eine höhere Bewegungsauflösung und deshalb eine bessere Standortgenauigkeit. Bei einem längeren Intervall hat der Beacon eine längere Batterielebensdauer, jedoch weniger Chancen, erfasst zu werden, besonders von einem in Bewegung befindlichen Smartphone.

Beacons arbeiten nach dem Rundfunk-Prinzip und sammeln keine Daten, sie versorgen stattdessen ein Smartphone innerhalb ihrer Reichweite mit Services, durch welche dann eine Verbindung über WLAN oder Mobilfunknetze erfolgt. Die Beacons selbst bieten damit keine Angriffsfläche und stellen daher keine zusätzliche Bedrohung der Sicherheit dar.

Wer jedoch Beacons etwa im Rahmen eines geldwerten Bonussystems einsetzen will, sollte unbedingt darauf achten, dass permanente Anfragen von ein und demselben Gerät zurückgewiesen werden, um Missbrauch zu vermeiden. Technisch ist dies etwa durch die Verwendung von Zeitstempeln möglich. Um einen unbefugten Zugriff auf interne Funktionen zu verhindern, kommen Standard-BLE-Sicherheits-Features wie Pairing und Authentifizierung zum Einsatz.

Eck-DATEN

Bluetooth-Beacons gelten als mögliche Killer-Applikation, doch Probleme bei der Reichweitenbestimmung und anspruchsvolle Vorgaben beim Energieverbrauch stellen Entwickler vor Herausforderungen. Bereits vorab zertifizierte Modullösungen gewährleisten hier eine kurze Time-to-Market und vermeiden beträchtliche technische Vorlaufinvestitionen und Tests der HF-Konformität. Ein SoC-Design wiederum ermöglicht Einsparungen bei Größe und Kosten.

Joe Tillison

(Bild: Silicon Labs)
Senior Manager Field Marketing bei Silicon Labs

(ku)

Kostenlose Registrierung

*) Pflichtfeld

Sie sind bereits registriert?