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.

Seite 1 von 212