Indoor-Navigation und Ortung mit Beacons – Eine Technologie auf der Basis von Bluetooth Low Energy.
Mit Hilfe von GPS und Mobilfunk kann man Ortungsfunktionen außerhalb von Gebäuden durchführen. Um jedoch eine Standortbestimmung innerhalb von Gebäuden zu ermöglichen, braucht es eine andere Technologie. Diese basiert auf Bluetooth Low Energy (BLE). Die Position eines mobilen Devices wird dann mittels Beacons ermittelt, welche an relevanten Stellen in Gebäuden, Museen, Lager- und Messehallen usw. platziert werden.
Table of Contents
Use Cases
Immer mehr Unternehmen erkennen das Potenzial und die Innovationsmöglichkeiten der Beacon Technologie. Die Einsatzmöglichkeiten sind sehr vielfältig und erschließen sich oft erst auf dem zweiten Blick. Einige Beispiel:
- Navigation: Beacons können bei der Navigation durch Gebäude behilflich sein, beispielsweise in Museen, Bahnhöfen, Flughäfen, Sportstadien, etc. Beacons werden an verschiedenen Stellen im Gebäude platziert und senden über Bluetooth Signale an mobile Endgeräte. So kann die Position der mobilen Geräte kontinuierlich geortet und an das Indoor-Navigationssystem weitergegeben werden. Für die Interpretation der Signale wird eine App auf dem Smartphone benötigt. Die Anzahl der Beacons im Gebäude hängt von der Fläche und von der gewünschten Genauigkeit ab.
- Einzelhandel: Mittels Beacons haben Einzelhändler die Möglichkeit mit dem Smartphone der Kunden in Kontakt zu treten. Angebote, Services und Features könnnen direkt auf das Smartphone des Kunden gesendet werden. Durch eine Analyse von Laufwegen von Kunden können Produkte und Angebote optimal platziert und beratungsbedürftige Kunden identifiziert werden. In Filialen können Produktinformationen in verschiedenen Abteilungen eingeblendet werden. Ein Beispiel: Es können weitere interessierende oder passende Produkte dem Kunden alternativ angeboten werden, wenn dieser sich zum Beispiel für eine bestimmte Art von Produkten interessiert.
- Mobile Payment: Es ist möglich den Nutzern am Point of Sale mit sehr wenig Interaktion eine bargeldlose Bezahlung zu ermöglichen.
- Logistik: Durch die Platzierung von Beacons entlang der Versorgungs- und/ oder Logistikkette kann man die Beacon-Technologie mit anderen modernen Ansätze wie RFID, Real Time Fleet Management usw. sinnvoll kombinieren und damit die Prozesse der Logistik optimieren.
- Barriere-Freiheit: Kann man die Position von Kunden oder Besuchern orten, dann kann man diese durch eine gezielte Sprachausgabe und Bildanweisungen (zum Beispiel auf einen seperaten Monitor) an komplexen oder stark frequentierten Plätzen helfen.
Die Technik der Beacons kann immer dann sinnvoll eingesetzt werden, wenn man dem Nutzer einen Mehrwert bieten kann, in dem das System die Position im Raum kennt und auf dieser Weise weitere Aktionen ausgelöst werden. Im Jahr 2013 präsentierte Apple seinen Standard iBeacon und das war ein wahrer Boom. Google zog im Jahr 2015 mit Eddystone nach. Die BLE (Bluetooth Low Energy) -Technologie wurde bereits im Jahr 2006 von Nokia vorgestellt und zeichnet sich dadurch aus, dass sie weitaus weniger Energie verwendet als herkömmliche Bluetooth-Geräte. Heutzutage sind Beacons in aller Munde und dessen Potenzial ist noch nicht erschöpft.
Was sind Beacons und wie funktionieren diese?
Beacon (deutsch: Signalstation, Leuchtfeuer) ist eine Technologie, welche auf dem Übertragungsprinzip Bluetooth Low Energy (BLE) basiert. Ursprünglich wurden Beacons als eine ortsfeste oder mobile Funkstelle gedacht. Beacons ermöglichen eine energiesparende und automatisierte Kommunikation zwischen Sender, d.h. den Beacons und dem Empfänger, i.d.R. einem mobilen Endgerät wie einem Tablet oder einem Smartphone. Auf dem mobilen Gerät werden – je nach Position und Anwendungsfall – ortsangepasste Inhalte angezeigt und Services geboten. Erhältlich sind Beacons in verschieden Größen, Designs und von unterschiedlichen Herstelllern.
Ein Beacon sendet in regelmäßigen Zeitabständen Bluetooth-Signale aus. Aus dieser Perspektive können beliebige Smartphones, Tablets oder eine Smarth Watch – mit angepasster Software – als Beacon fungieren. Eigens als Beacons konzipierte Hardware sind diese jedoch für das Senden von BLE-Signalen konzipiert und können nicht als Empfänger agieren. Sie senden einen regelmäßigen Datenstrom, welcher durch die Empfänger dazu genutzt wird, um eine Ortsbestimmung durchzuführen. Die Singale werden in einem sehr kurzen Zeitintervall gesendet. Ein Beacon baut eine eine Signalregion auf. Wenn ein mobiles Gerät sich in der Signalregion befindet, kann es diese erkennen und die BLE-Signale auswerten. Der Signalgeber wird identifiziert und die Abstände zwischen Sendern und Empfängern im Raum gemessen. Mindestens drei Beacons sind notwendig, um die Messung in einem dreidimensionalen Raum exakt durchführen zu können. Die Abstände zwischen den Einheiten werden, ähnlich wie bei GPS, nach dem Laterations-Prinzip gemessen (Bild 1).
Bild 1: Das Prinzip der Indoor-Navigation mittels Beacons.
Anders als bei GPS ist es jedoch so, dass die Datenübertragung auf den Nahbereich ausgelegt ist. Über BLE werden die folgenden Daten von einem Beacon übermittelt:
- Universally Unique Identifier (UUID): Ein Identifikator des Beacons. Jedes Beacon hat eine eigene UUID. Es handelt sich um eine Zeichenfolge aus Zahlen und Buchstaben, welche 16 Byte groß ist. Die UUID dient dazu, dass eindeutige Informationen in einem verteilten System von mehreren Komponenten versendet werden können.
- Die Major-ID: Dieser Wert hat die Funktion, Signalregion und Use-Cases zu definieren. Der Major Wert ist 2 Byte groß.
- Die Minor-ID: Die Minor-ID gibt einen weiteren Unterbereich in einer Major-ID an.
Über die Software wird die so genannte TxPower auf dem Empfangsgerät festgestellt. Dies ist die gemessene Leistung in einem Meter Entfernung. Mit TxPower und dem Indikator für die Stärke des empfangenen Signals (Received Signal Strength Indicator, RSSI) wird die ungefähre Entfernung zu einem Beacon berechnet.
Die Reichweite des Signals eines sendenden Beacons kann konfiguriert werden. Man unterscheidet die folgenden Kategorien: Immidiate (weniger als 50 cm), Near (bis drei Meter), Far (mehr als zehn Meter) und Unknown. Leistungsstarke Beacons können Signale in einer Reichweite bis zu 450 Meter senden. Durch Hindernisse kann sich die Reichweite verkürzen. Die Stärke der Sendeleistung wirkt sich auf die Lebensdauer der Batterie/ des Akkus aus. In typischen Anwendungsfällen hält die Energie durchaus für einen mehrere Monate andauerenden ununterbrochenen Betrieb.
Beacon-Technologie mit RAD Studio
Um Anwendungen in der Praxis zu realisieren, ist i.d.R. der Einsatz von individueller Software angezeigt. Mit RAD Studio gelingt es auf sehr einfache Art und Weise die BLE-Technik, zur Nutzung in Beacons zu verwenden. Durch den Einsatz von fertigen Komponenten muss sich der Entwickler keine Gedanken über die Nutzung der Technik und die Protokolle machen. Die Komponenten werden in der Entwicklungsumgebung konfiguriert und stehen dann unmittelbar im Programmcode zur Verfügung. RAD Studio bietet für die Arbeit mit der Beacon-Technologie die Komponenten (Bild 2):
Bild 2: Die Komponenten TBeacon und TBeaconDevice kapseln die gesamte Komplexität.
- TBeacon: Diese überwacht eine Liste der angegebenen Beacon-Regionen und verwaltet die Informationen über die zugehörigen Ereignisse der Beacons, u.a. werden Änderungen in der Entfernung erkannt.
- TBeaconDevice: Damit kann ein BLE-Gerät als reguläres Beacon verwendet werden. Sie können eine TBeaconDevice-Komponente in einer Anwendung konfigurieren, die auf einem BLE-Gerät ausgeführt wird, so dass dieses Gerät Proximity-Daten sendet. Die Werte für die Näherungsdaten können in den folgenden Eigenschaften UUID, Major, Minor und TxPower angegeben werden.
Um also externe Beacons zu finden, verwendet man die TBeacon-Komponente. Mit der Komponente TBeaconDevice kann dagegen ein Smartphone zu einem aktiven Beacon gemacht werden.
Wichtig: Diese Komponenten sind ausdrücklich für eine geräteübergreifende Programmierung geeignet. Sie stehen für Windows 10 und natürlich auch für die mobilen Systeme iOS und Android zur Verfügung. Eine Applikation zur Nutzung der Beacon-Funktionaliät muss daher nur einmal erstellt werden und kann auf allen relevanten Systemem gestartet werden.
In wenigen Schritten kann man die Funktionsweise demonstrieren. Auf GitHub findet man unter https://github.com/Embarcadero/RADStudio10.4Demos geeignete Quellcodebeispiele. Klonen Sie dazu das komplette Repository auf Ihren Rechner und wechseln Sie in das Unterverzeichnis: RADStudio10.4Demos/Object Pascal/Multi-Device Samples/Device Sensors and Services/Bluetooth/Beacons/ExtendedBeaconScanner/. Öffnen Sie das Projekt in RAD Studio. Konfiguration und Vorgehen bei der Programmierung kann man hier sofort erkennen.
Es wird die Komponente TBeacon so konfiguriert, dass diese alle Arten von Beacons (iBeacon, AltBeacon und Eddystone) erkennt (Bild 3).
Bild 3: Konfiguration der Komponente TBecon.
Der Scannnvorgang wird lediglich über die Prozedure StartScan aufgerufen. Untersuchen Sie dazu den Quellcode (Bild 4).
Bild 4: Mittels StartScan wird der Suchvorgang nach Beacons gestartet.
Sofern sich aktive Beacons in der näheren Umgebung befinden, werden diese auf der Oberfläche nach dem Start des Programms angezeigt (Bild 5).
Bild 5: Die Durch TBeacon ermittelten Beacons werden angezeigt.
Zu Umsetzung einer eigenen Anfoderung (Use Case) können die Daten entsprechend ausgewertet werden.
Weitere Unterstützung von fachlichen Anfoderungen durch RAD Studio
RAD Studio bietet neben den Komponenten TBeacon und TBeaconDevice weitere Werkzeuge für die Umsetzung von spezifischen Anforderungen auf der Basis von Beacons. In vielen Szenarien sind die räumlichen Gegebenheiten in Zonen (Fence) einzuteilen. Dazu gibt es einen grafischen Editor, welcher direkt in RAD Studio integriert werden kann (Bild 6). Über diesen BeaconFence-Karteneditor können Sie ein Projekt erstellen, in dem Sie verschiedene Karten entwerfen, laden und bearbeiten können. Für jede Karte lässt sich das Layout der physischen Räume und die Anordnung der folgenden Objekte festlegen und ändern: Beacons, Zonen und Pfade (zum Beispiel der Laufwege der Kunden).
Bild 6: Der Beacon-Fence-Map-Editor ermöglicht die grafische Definition von Regionen.
Auf diese Weise können Aktionen definiert werden, welche ausgelöst werden, wenn ein BLE-fähiges Endgerät in eine Zone eintritt. Dieses grafische Vorgehen erleichtert die Umsetzung von Business Cases um ein Vielfaches.
Zusammenfassung
Die Funktionsweise von Beacons basiert auf der BLE-Technik und bietet die Möglichkeit die Position von Kunden, Nutzern, Besuchern oder bewegten Gegenständen in einem Raum zu bestimmen. Es bieten sich vielfältige Anwendungsfälle u.a. aus Industrie und einer verbesserten Kundenansprache. Dank der leistungsfähigen Komponenten von RAD Studio (TBeacon, TBeaconDevice) lässt sich die Technologie sehr einfach in der eigenen Anwendung nutzen. Es werden alle wichtigen Systeme, d.h. Windows 10, macOS, iOS und Android unterstützt. Der Vorteil: Als Entwickler können Sie sich sofort auf die Umsetzung der spezifischen Use Cases Ihrer Kunden konzentrieren. Fortschrittliche und benutzerfreundliche Tools, wie der Beacon-Fence-Map-Editor unterstützten Sie.
Links zum Weiterlesen und für den Einstieg in die Arbeit mit Beacons und RAD Studio
Komponenten
http://docwiki.embarcadero.com/Libraries/Rio/en/System.Beacon.Components.TBeacon
http://docwiki.embarcadero.com/Libraries/Rio/en/System.Beacon.Components.TBeaconDevice
Beispiele
https://github.com/Embarcadero/RADStudio10.4Demos
https://github.com/Embarcadero
BeaconFence
http://docwiki.embarcadero.com/IoT/de/BeaconFence
http://docwiki.embarcadero.com/IoT/de/BeaconFence-Karteneditor
Wissenschaftliche Artikel
https://link.springer.com/article/10.1007/s11623-014-0329-9
https://link.springer.com/chapter/10.1007/978-3-662-43782-7_33
https://ieeexplore.ieee.org/abstract/document/7503001
https://www.pdl.cmu.edu/PDL-FTP/associated/CMU-PDL-16-109.pdf
https://www.academia.edu/25939706/Beacon_for_Proximity_Target_Marketing
Weitere Texte
https://developers.google.com/beacons/
https://www.indoornavigation.de/
Bezugsquellen für Beacons
https://www.beaconshop24.de/?language=de
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition