iBeacon Android mit dem MOKOSmart SDK
Das von Apple entwickelte iBeacon-Protokoll, basierend auf Bluetooth Low Energy, wird von einer Vielzahl von Geräten unterstützt. Der Artikel erläutert iBeacons und Bluetooth Low Energy und demonstriert anhand der Entwicklung einer Android-App für standortbezogene Einkaufslisten die standortabhängige Interaktion einer App mit iBeacon Android. Die Implementierung basiert auf MokoBeacon und dem zugehörigen SDK.
iBeacon, Bluetooth 4.0, BLE, SMART. Was?
Die Basistechnologie für iBeacon ist Bluetooth. Bluetooth Low Energy (BLE), oft auch als Bluetooth Smart bezeichnet, ist in Version 4.0 des Bluetooth-Standards enthalten. BLE ist nicht abwärtskompatibel zu früheren Versionen namens Bluetooth Classic. Bluetooth 4.0 legt fest, dass standardkonforme Geräte eine oder beide Varianten, also Low Energy oder Classic, implementieren müssen.
BLE ist auf fast allen aktuellen Smartphones wie dem iPhone 4+ und dem Samsung Galaxy 3+ implementiert. Ein iPhone kann sowohl als Empfänger von iBeacon-Signalen als auch – anders als iBeacon bei Android – selbst als Beacon fungieren. Android bringt BLE-Treiber ab API-Version 18, also Android 4.3, mit. Aktuelle Computer sind übrigens auch BLE-fähig. Unter Windows sind die Treiber allerdings erst ab Windows 8 an Bord und seit etwa Mitte 2011 ist BLE auf Apple-Computern verfügbar.
BLE unterstützt weiterhin eine Vielzahl von Peripheriegeräten wie Herzfrequenzmesser und Spielzeughubschrauber, Thermometer, Fitnessgeräte und Zahnbürsten, ja, Zahnbürsten und Turnschuhe.
iOS und Android mit den ersten iBeacon-Apps
iOS 7 bietet Entwicklern aktuell beste Voraussetzungen, iBeacon in Apps zu integrieren. Seit iOS 7 startet das Betriebssystem sogar Apps, die nicht mehr im Speicher sind, wenn es einen von ihnen registrierten iBeacon entdeckt oder dessen Signal verliert. Die Registrierung hierfür erfolgt über das Core Location Framework, das einfacher zu bedienen ist als Core Bluetooth. Die bekannteste iBeacon-App für Android und iOS ist MokoBeacon. Sie reagiert auf ausgewählte Ereignisse und erstellt beispielsweise einen Kalendereintrag, wenn man nach Hause kommt.
Android unterstützt iBeacon ab Werk nicht. Mehrere Drittanbieter buhlen mit ihren Lösungen um die Gunst der Entwickler, darunter Radius Networks und Sensorberg. Die kostenlose Lösung von Radius Networks besteht aus einer Programmbibliothek, die Android mit einem iBeacon-Dienst und der notwendigen API bereitstellt.
Sensorberg setzt auf ein Komplettpaket aus Hardware, Software Development Kit und Software für das Management der iBeacons, der App-Inhalte und der Nutzerinteraktionen. Die Sensorberg-Lösung kam beispielsweise in der App zur Cebit 2014 zum Einsatz, die für iBeacon Android und iBeacon iOS verfügbar ist. Die App lieferte Ausbildungsplätze, Praktika und Jobangebote an ausgewählten Messestandorten auf das Smartphone.
Informationsqualität und Datenschutz sind entscheidend für den Erfolg
Auf Konsumentenseite weckt iBeacon die Angst vor einem mit Werbung zugespammten Smartphone, vor aufdringlicher, individualisierter Kundenansprache wie im Minority Report. Manche dieser Sorgen sind unbegründet, wie die unweigerlich als Referenz dienende iBeacon-Android-Funktion zeigt. iBeacon nutzt ein Opt-in-Modell. Erst durch die Installation einer iBeacon-App wird man zum Nutzer; alle anderen Smartphone-Besitzer bleiben verschont.
Auch iOS zeigt die vom iBeacon ausgelösten Informationen nur dezent an. Sie erscheinen, sobald der Nutzer sein Smartphone in Reichweite des Beacons einschaltet und verschwinden, sobald er sich davon entfernt. Keine Störungen durch Pieptöne und Vibrationen oder gar eine überquellende Nachrichtenzentrale nach dem Besuch eines Einkaufszentrums.
Wann Nutzer eine iBeacon-App nützlich finden und wann sie sie nervt, entscheidet maßgeblich über die Qualität der bereitgestellten Informationen und Funktionen. Oelling erklärt: „Standortdienste, nicht Standortmarketing.“ Erfolgreich seien demnach nur Apps mit Nutzen. Nervige Apps verschwinden vom Handy, negative Bewertungen tun ihr Übriges.
Was kann ich mit einem iBeacon Android machen?
Mithilfe des iBeacons lassen sich beispielsweise bestimmte Positionen wie „Arbeit“ oder „Zuhause“ identifizieren. Anschließend können im Smartphone vordefinierte Aktionen ausgelöst werden. So kann beispielsweise das WLAN automatisch ein- und ausgeschaltet werden, wenn der Nutzer sein Zuhause verlässt oder betritt.
Mit verschiedenen Apps lassen sich diese Funktionen auch auf Basis von GPS-Daten oder Mobilfunkmasten realisieren, doch beide Alternativen haben Nachteile. GPS-Tracking verbraucht viel Energie und funktioniert nicht in Gebäuden. Auch die Ortung mit Mobilfunkmasten ist nicht ganz genau. Auf dem Land ist ein Mobilfunkmast unter Umständen mehrere Kilometer weit sichtbar. Mit iBeacons sind es nur wenige Meter. Selbst einzelne Räume innerhalb eines Hauses lassen sich damit identifizieren. Als letzte Möglichkeit bliebe noch WLAN, da auch dieses regelmäßig seine SSID sendet. Leider scheitert dies daran, dass die Handys zwar die WLAN-Hardware abschalten, um Energie zu sparen, nicht aber den Bluetooth-Empfänger.
MkiBeacon-Parameter konfigurieren
Für diesen Artikel verwenden wir MkiBeacon. Der iBeacon wird einfach an einen beliebigen USB-Anschluss angeschlossen. Es muss kein PC sein, da lediglich die Spannung benötigt wird.
Zur Konfiguration wird folgende App auf dem Smartphone installiert:
Nach dem Start der App werden alle iBeacons in der Nähe angezeigt. Sind es mehrere, ist es vermutlich der mit der kürzesten Distanz. Nach einem Klick auf den eigenen iBeacon öffnet sich die Konfigurationsansicht:
![]()
Folgende Einstellungen können angepasst werden:
UUID:
Die eigentliche ID des iBeacons. In der Praxis haben z.B. alle Vodafone Beacons die gleiche UUID. Dadurch entfällt die Notwendigkeit, eine Liste gültiger Beacons in der App zu pflegen. Der Shop kann dann z.B. über Major und Minor identifiziert werden.

Dur / Moll:
Die Idee ist, dass alle Shops die gleiche UUID erhalten. Major könnte zur Identifizierung der Abteilung (Elektronik, Bekleidung, Feinkost, …) verwendet werden. Minor würde dann beispielsweise zur Identifizierung des Regals (Regal „Tastaturen“ in der Abteilung „Elektronik“) verwendet werden.

Getriebeabstand:

Übertragungsleistung:
Hier lässt sich die Sendestärke in 7 Stufen einstellen. Am besten probiert ihr ein bisschen aus. Die Entfernungen sind natürlich Schätzwerte.

Sendeintervall:
Gibt an, wie oft der iBeacon seine ID sendet. 1 bedeutet in diesem Fall 100 Millisekunden.

Serien-ID:
Seriennummer. Kann angepasst werden.

iBeacon-Name:
Name und Seriennummer bilden zusammen den Namen, mit dem der iBeacon identifiziert werden kann. Wichtiger ist jedoch die UUID.

Verbindungsmodus:
Dies kann Sie daran hindern, die Einstellungen zu ändern. Wenn der Wert 1 ist, haben Sie sich ausgesperrt, der Beacon funktioniert aber weiterhin.

Kennwort ändern:
Hier kann ein Passwort festgelegt werden.

iBeacon neu starten:
Nach dem Ändern von Einstellungen muss der iBeacon neu gestartet werden. Hierzu wird das alte Passwort benötigt.
Nach der Änderung eines Wertes klickt man oben rechts auf Speichern. Bei mir hat es immer ca. 1 Sekunde gedauert, obwohl die Änderung noch nicht auf den iBeacon übertragen wurde. Wenn alles geändert wurde, öffnet ein Klick auf iBeacon neu starten folgenden Dialog:
![]()
Dieser Schritt ist wichtig, da die Änderungen sonst nicht übernommen werden. Ich weiß nicht, wo der Haken ist, aber ich habe ihn gesetzt. Beim ersten Mal muss hier das werkseitig eingestellte Moko4321-Passwort eingegeben werden. Andernfalls schlägt der Vorgang ohne Fehlermeldung fehl. 🙁 Beim zweiten Mal wird natürlich dein eigenes Passwort verwendet.
Die iBeacon-Technologie bietet eine ideale Möglichkeit, ortsabhängige Aktionen auf dem Mobiltelefon auszulösen. Aufgrund der geringen Kosten und des geringen Energieverbrauchs können mehrere Beacons problemlos eingesetzt werden. Da die Beacons zwischen drei Entfernungsbereichen unterscheiden, können Aktionen auch dann ausgelöst werden, wenn sich das Smartphone direkt neben dem Beacon befindet (z. B. am Bett).
Auch wenn die App etwas dürftig ist, macht der Beacon einen guten Eindruck. Die App funktioniert und wird nur einmalig für die Ersteinrichtung benötigt. Je nach Anwendung muss die Sendeleistung zu Beginn gegebenenfalls angepasst werden.
Für zu Hause würde ich eine batterielose Lösung wählen, da diese weniger Reichweitenprobleme hat, da der Akku nicht geschont werden muss. Wer sein Handy nach dem Betreten des Waldes automatisch auf lautlos stellen möchte, sollte natürlich auf batteriebetriebene Geräte zurückgreifen. Diese halten meist länger als ein Jahr.
iBeacon-Technologie: Mikroortungs-Apps für Smartphones und Tablets
Wie der Name schon vermuten lässt, wurde die iBeacon-Technologie 2013 von Apple vorgestellt. Beacons sind kleine Funksender, die beispielsweise in einem Geschäft oder Museum installiert werden können und bestimmte Informationen an Kunden oder Besucher senden. Zum Einsatz kommt dabei BLE (Bluetooth Low Energy). Diese Technologie ist nicht neu, sondern kommt beispielsweise bereits in Pulsuhren vor. Allerdings haben Funksender keine sehr große Reichweite. Beacons enthalten jedoch keine weitere Technologie, die das mobile Endgerät bzw. der Nutzer persönlich erkennen oder gar überwachen kann. Zudem ist eine App erforderlich, die iBeacon unterstützt. Ist auf dem mobilen Endgerät keine App für die Technologie installiert, reagiert das Smartphone beispielsweise nicht auf einen im Geschäft installierten iBeacon.
So funktionieren iBeacons / Beacons
Ist eine entsprechende App installiert und kommt das Gerät in die Nähe eines Beacons, aktiviert das System die App. Dazu empfängt die App ein Signal der Beacons und weiß so, dass sich ein bestimmter iBeacon in der Nähe befindet. Was im Detail passiert, ist je nach App und Betreiber immer unterschiedlich. In manchen Fällen wird beispielsweise nur eine Nachricht angezeigt, in anderen werden Angebote oder Gutscheine präsentiert. Jeder iBeacon verfügt über eine spezifische Kennung, im Fachjargon auch UUID (Universally Unique Identifier) genannt. Mit dieser kann die App auch über das Internet nach weiteren Informationen suchen und diese dem Nutzer anzeigen.
Die Apps können jedoch nicht nur die Beacons in ihrer Umgebung erkennen, sondern auch deren Entfernung zum jeweiligen Handheld bestimmen. Dabei gibt es drei verschiedene Entfernungen:
1. Weit (Entfernung „weit“)
Dies bedeutet eine Distanz von ca. 2m – 20m. So werden beispielsweise Informationen zu Geschäften in der Nähe an das Smartphone gesendet.
2. Nah (Entfernung „nah“)
Der Abstand beträgt hier ca. 0.5m – 2m. Betritt man beispielsweise ein Geschäft, begrüßt die App den Nutzer.
3. Direkt (Entfernung „unmittelbar“)
Damit ist unmittelbare Nähe gemeint. Steht der Nutzer beispielsweise in einem Museum direkt vor einem Gemälde, kann die App gezielt Informationen zu dem Kunstobjekt liefern.
Zudem muss man sagen, dass die Bestimmung der Entfernung zwar schon relativ gut ist, jedoch nicht exakt. Die genaue Position kann einige Meter vom exakten Standort abweichen.
iBeacons = Apple – Was gibt es im Vergleichkompatibel mit iBeacon Android?
Wie bereits erwähnt, hat Apple iBeacon eingeführt. Für Entwickler bietet iOS8 die beste Umgebung, um iBeacons in Apps zu integrieren. iBeacon kann aber auch auf Android-Geräten genutzt werden. Dies ist jedoch nicht selbstverständlich. Es gibt jedoch verschiedene Anbieter, die hierfür unterschiedliche Lösungen anbieten.
Eine bekannte und kostenlose Lösung kommt beispielsweise von Radius Networks. Hier wird eine Programmbibliothek bereitgestellt, bestehend aus der für die Nutzung von iBeacon benötigten API und einem iBeacon-Dienst.
Eine weitere Lösung stellt Sensorberg vor. Mit dem Paket aus Hardware, Software Development Kit und Software für das Management der iBeacons, den Inhalten der App und der Interaktion der Nutzer ist alles enthalten, was für die Umsetzung benötigt wird.
Allerdings muss darauf geachtet werden, dass das Smartphone oder Tablet die BLE-Technologie unterstützt und über einen kompatiblen Chip verfügt. Dies ist bei Apple bereits ab dem iPhone 4S gewährleistet. Aber auch viele der Android-Geräte tragen bereits einen solchen Chip. So etwa das HTC One, das Google Nexus 4, 5, 7 und 10 sowie das Samsung Galaxy S3.
Allerdings ist nicht nur die Hardware entscheidend, sondern auch die Software. Unter iOS wird BLE ab Version 5 unterstützt. Unter Android erst ab Version 4.3. Stimmt die Hardware, die Software aber nicht, gibt es Lösungen wie Custom-ROMs, um das Smartphone oder Tablet aufzurüsten.















