IBeacon SDK auf Android

ibeacon sdk

Mögliche Anwendungsfälle und Geschäftsmodelle für die Bake, die derzeit heiß sind ortsabhängige Interaktion mit dem Benutzer auch innerhalb von Gebäuden ermöglicht werden diskutiert. Instore-Werbung und Rabatte, mobile Zahlungen, Navigation, öffentlicher Verkehr, Lokalisierung in öffentlichen Gebäuden und Museen und Hausautomation sind nur die Spitzen des Eisbergs. Und natürlich die allgegenwärtige Datensammlung – Jetzt neu und mit genauen Positionsangaben. Vor dem Lernen mehr über IBeacon Technologie, wir werden auch die IBeacon SDK in dem Artikel erwähnt.

Was ist der Hype?

Das IBeacon Protokoll von Apple basiert auf Bluetooth Low Energy entwickelt wird durch eine Vielzahl von Geräten unterstützt. Der Artikel erklärt iBeacons und Bluetooth Low Energy und verwendet das Beispiel für einen Android-App für ortsabhängige Einkaufslisten der Entwicklung der ortsabhängigen Interaktion einer App mit iBeacons zu zeigen,. Die Implementierung basiert auf MOKOSmart IBeacon SDK.

IBeacon, Bluetooth 4.0, BLE, CLEVER. Wot?

Die Basistechnologie für IBeacon ist Bluetooth. Bluetooth Low Energy (BLE), die oft bezeichnet als die Bluetooth Smart Marketing-Label, wurde in Version enthalten 4.0 der Bluetooth-Standards. BLE ist nicht rückwärtskompatibel mit früheren Versionen Bluetooth Klassik genannt. Bluetooth 4.0 Legt fest, dass standardkonforme Geräte eine oder beide Varianten umsetzen müssen, d.h.. Low Energy oder Classic.

BLE ist auf fast allen aktuellen Smartphones wie das iPhone umgesetzt 4+ und das Samsung Galaxy 3+. Ein iPhone kann sowohl als Empfänger von Signalen IBeacon Funktion und – im Gegensatz zu Android – haben ein Leuchtfeuer selbst. Android enthält BLE-Treiber von API-Version 18, d.h.. Android 4.3. Übrigens, aktuelle Computer sind auch BLE-fähig. in Windows, jedoch, die Fahrer sind nur an Bord von Windows- 8 und seit etwa Mitte 2011, BLE hat auf Apple-Computern zur Verfügung.

BLE weiterhin eine Vielzahl von Peripheriegeräten wie Herzfrequenzmonitore und Spielzeughubschrauber zur Unterstützung, Thermometer, Fitnessgeräte und Zahnbürsten, Ja, Zahnbürsten und Turnschuhe.

Interessant im Zusammenhang mit iBeacons wird der Sensor

Tag von Texas Instruments, die zusätzlich zu ihrer Funktion als IBeacon kann auch Temperatur messen, Feuchtigkeit, Druck, und Beschleunigung. Der Sensor Tag kommt auch mit einem Gyroskop, ein Magnetometer, und zwei Hardware-Tasten. Die ideale Vorrichtung zur Fernsteuerung Präsentationen während der Übertragung und die Feuchtigkeit und die Temperatur des Sprechers Hand Anzeige. Ich denke, meine nächste Sandkasten Projekt Lampenfieber-o-mat sein. Sie können eine detaillierte Liste der Geräte auf der offiziellen Bluetooth Website.

GATT bereit

Das Kommunikationsmodell von Geräten zum Austausch von Daten verwendet wird, die genannte GATT – Generic Attribute Profil. GATT definiert die Rollen des Client und Server. Der Client fordert Daten vom Server über Service. Ein Dienstgruppe mehr Atom Schlüssel / Wert-Paare, welche Merkmale genannt. Beide Dienste und Merkmale werden über UUID identifiziert und auch weitere Beschreibungen enthalten. Dienstleistungen und ihre Eigenschaften sind in Form von Profilen katalogisieren; Die Spezifikation definiert eine ganze Reihe von ihnen aus den Bereichen Healthcare, Sport und Fitness und – in unserem Fall interessant – Näherungserfassung. Die einzelnen Profile und ihre Leistungen und Eigenschaften finden Sie in dem Bluetooth-Entwickler-Portal im Rahmen der GATT-Spezifikationen finden.

gatt IBeacon sdk

Get to the beacon

Also, was sind iBeacons? IBeacon ist eine sehr einfache Technik (und eine Marke von Apple, das ermöglicht, ortsabhängige Interaktion mit Anwendungen. Ein Beacon sendet ein Signal, das mit BLE-kompatibelen Geräten und verarbeitet die von Anwendungen installierten darauf Signal enthält die Identifikation der Bake und die Empfangsstärke empfangen werden kann,. iBeacons selbst, deshalb – im Gegensatz zu ungenauen Aussagen in der Presse – nicht in der Lage die Inhalte oder die Spur Kundenverhalten zu liefern. Dies liegt in der Verantwortung der Aufnahmeanwendungen und damit Entwickler.

IBeacon IRL

Größere Einsätze von iBeacons in Deutschland werden wahrscheinlich eine lange Zeit kommen, aber es gibt einige Beispiele aus den USA und den Niederlanden. Beispielsweise, Major League Baseball hat ausgerüstet 28 Stadien mit iBeacons und nutzt sie,, unter anderem, für die Check-In in der MLB App “Im Stadion”.

Eine Vitrine wurde im Rubenshaus in Antwerpen realisiert, die Angebote Hintergrundinformationen wie Röntgenstrahlen von Gemälden und geocaching Spiele für Kinder.

Das beste Beispiel in Bezug auf die Größe kommt von Apple selbst. Über 250 Apple Stores wurden mit iBeacons ausgestattet. In Kombination mit dem Apple Store App, ortsabhängige Nachrichten werden an Käufer, die im Laden sind geschickt. jedoch, die möglichen Wechselwirkungen scheinen derzeit recht begrenzt zu sein: Erste Bewertungen berichten nur zwei verschiedene (und ganz generic) Nachrichten, die sie erhalten hätten,. Sonderangebote oder spezielle Informationen zu den einzelnen Produkten wurden in der Nähe nicht angeboten.

Funktionalität

IBeacon SDK kein separates BLE-Profil verwenden, sondern Bluetooth Werbepakete, d.h.. Broadcast-Pakete, die verwendet werden, Bluetooth-Geräte zu entdecken. Wenn Sie in der genauen Struktur des Pakets interessiert sind, Sie dieses lesen können, beispielsweise, auf Adam Warski Blog.

Ein solches Paket wird in regelmäßigen Intervallen gesendet, die über GATT konfiguriert werden kann,. Es enthält die UUID der Bake, die vom Hersteller typischerweise vorkonfiguriert. So alle MOKOSmart Baken senden die gleiche UUID. Dur- und Moll-IDs werden auch die einzelnen Baken zu identifizieren. Wichtige IDs können vertreten, beispielsweise, eine Niederlassung von einem Geschäft oder ein Restaurant in einer Franchise-Kette, die kleineren IDs ein einzelnes Regal oder einen Tisch.

Außerdem, die Signalstärke in dem Werbepaket enthält, der den Abstand des Empfängers zu messen, von der Bake verwendet werden,. jedoch, Sie können keine hohe Genauigkeit erwarten hier, da das Signal durch räumliche Hindernisse wie Möbel oder Menschen behindert wird.

IBeacon SDK bietet zwei Konzepte für die Interaktion einer App mit diesen Informationen: hin und Region Überwachung. wenn im Bereich, Der Abstand zur Bake bestimmt wird,. Wegen der Ungenauigkeit oben erwähnt, dies erfolgt in nur drei Stufen. “Sofortig” ist ein Abstand von wenigen Zentimetern, “In der Nähe von” ist ein paar Meter und “Weit” ist eine Entfernung von mehr als zehn Metern. Ranging ist nur möglich, wenn die empfangende Anwendung ist aktiv.

Dies ist nicht notwendig für den Bereich Überwachung. In diesem Modus, eine inaktive Anwendung kann auch benachrichtigt werden, wenn die Eingabe oder eine Region durch eine oder mehr Baken definiert Verlassen. Spätestens jetzt wird deutlich, was diese Technologie attraktiv für die Werbung macht und Einzelhandel. Zusätzlich, für die meisten Baken, die Übertragungsstärke und das Intervall können konfiguriert werden, um die Batterielebensdauer zu optimieren, basierend auf lokale Bedingungen.

“Die meisten Baken” bedeutet, dass es mehr als einen Hersteller von iBeacons auf dem Markt. Eigentlich, es gibt ganz wenige: MOKOSmart, Kontakt.io, Eis, Estimote, und Gimbal. Neben der Hardware, diese Hersteller auch IBeacon SDK Service und Cloud-Lösungen für das Management von Baken bieten. Die Bastler unter uns einrichten können sie IBeacon Sender mit relativ geringen Aufwand mit Raspberry Pi oder Arduino.

Flashing Liste

Lassen Sie uns die folgende Situation für die Umsetzung Beispiel übernehmen: Der Entwickler ist im Supermarkt am Samstagmorgen. Hungrige Kinder sind zu Hause warten, und am Nachmittag gibt es einen Kuchenverkauf in der Schule. Erst dann beginnt das Wochenende wirklich. So gute Gründe, sich zu beeilen. Unglücklicherweise, Die Einkaufsliste ist lang und nicht auf das Layout des Supermarktes angepasst. Wenn der Supermarkt wurde mit iBeacons in den verschiedenen Abteilungen ausgestattet, ein Einkaufslisten-App könnte die entsprechenden Einträge markiert und den Stress der deutlich reduzieren (natürlich völlig fiktiven) Entwickler.

Da unsere App hat mit Bluetooth kommunizieren, benötigen wir zunächst BLUETOOTH und BLUETOOTH_ADMIN Berechtigungen im Android Manifest. Um den Dienst nutzen zu können durch die Estimote API zur Interaktion nutzen mit iBeacons, wir müssen es auch bekannt machen und die heruntergeladene API in unserem libs / Verzeichnis speichern.

Unser Prototyp besteht aus einem einfachen, vorgefüllter Liste und vordefinierten Regionen, d.h.. Abteilungen in unserem Supermarkt. Ein Listeneintrag weiß, welche Region sie zugeordnet ist. In unserem Beispiel, wir nur ein assign Bake zu jedem Bereich. Es ist auch möglich, eine Liste von Baken in eine Region zu kombinieren. Die Hauptaktivität ist für die aktuelle Region zu erkennen und diese Information an einen Adapter, was ist verantwortlich für die Hervorhebung der Listeneinträge. Zusätzlich, fügen wir die Möglichkeit, den aktiven Bereich ohne Baken auszuwählen unsere UI prüfbar ohne zusätzliche Hardware zu machen.

In der Tätigkeit ist auf Verfahren erstellen, wir instanziiert einen Beacon-Manager von MOKOSmart für unsere App. Wir verwenden einen Hörer für die Region Überwachung durch die aktuelle Region machen zu unseren Adapter bekannt ist und das Intervall für den Beacon-Scans. Im Beispiel, wir definieren, dass eine Sekunde gescannt werden sollen und dann 250 ms sollte warten. Diese Werte sind so gewählt, relativ aggressiv schnelle Ergebnisse in den Tests zu erhalten. In Wirklichkeit, die schwierige Balance zwischen Ansprechbarkeit vs. Gerecht zu werden Batterie-Lebensdauer. In diesem Prototyp, wir unsere Einkaufsliste auch mit Dummy-Werten füllen. Wir starten oder stoppen die Überwachung in der auf () Start oder OnStop () Verfahren der Haupttätigkeit.

die ItemList

Der Adapter wird als Derivat von android.widget.Array Adapter implementiert und überschreibt die get-Ansicht () Methode, die aufgerufen wird, für jede Zeile angezeigt werden,. Der Titel des Artikels in der ersten Zeile der im Layout definiert Bewertung geschrieben, in der zweiten der zugewiesenen Region.

Wie in Listing zu sehen 1, der eingegebene Region befindet sich in der auf Eingegebene Region an den Adapter übertragen () Rückruf des MonitoringListener, die unseren BeaconManager zugeordnet: Artikelliste Adapter. Trennung (Region). Beim Aufruf getView (), Diese prüft, ob der Bereich des Eintrags in der Zeile entspricht den aktuellen Bereich. Wenn dies der Fall ist, es färbt den Hintergrund der Linie. Zusätzlich oder alternativ, man könnte auch durch die Sortierung der Liste zu Beginn die Einträge für die aktuelle Zone setzen.

Der Code der Anwendung ist klar,; es braucht nicht viele Implementierungen Aufwand IBeacon Signale zu empfangen und sie in den App Griff. Die IBeacon Konzepte hin und Überwachung sind in dem MOKOSmart IBeacon SDK abgebildet, so dass sie intuitiv genutzt werden kann. Der vollständige Quellcode der App kann auf GitHub finden.

Fazit und Ausblick

Wir sahen, dass mit iBeacons der Interaktion mit dem MOKOSmart IBeacon SDK ist einfach zu tun. So erwarte ich keine großen Hürden in der Technologie der Umsetzung, sondern in der Bereitstellung der Baken und die Abstimmung der Sendeleistung. Diese Parameter haben einen direkten Einfluss auf das Ansprechverhalten der Anwendung, wenn die Lage ändert. Auf jeden Fall, der Ausgleich sollte schwierig sein,.

Für besonders interessant, z.B.. B. im Bereich der Hausautomation, Ich halte die Kombination von iBeacons mit Sensoren, wie im Sensor Tag von Texas Instruments oben erwähnt. Estimote startet auch mobile Baken mit Bewegungs- und Temperatursensoren auf dem Markt mit Estimote Aufklebern. Die erste Entwickler-Vorschau sollte am Ende Oktober geliefert wurde 2014, aber keine Kits wurden bis Ende versandt von 2014.

Es bleibt abzuwarten, ob der „Indoor Navigation“ Einsatzbereich robust mit dieser Technologie abgebildet werden kann. Aufgrund der Empfindlichkeit des Bluetooth-Signal-Interferenz-Faktoren, starke Beleuchtung mit IBeacon Signalen des entsprechenden Bereichs und Berechnungen Position Triangulation mit Raumplänen Verwendung wäre notwendig. Entsprechende Lösungen werden angeboten von MOKOSmart (Indoor Navigation IBeacon SDK) und verschiedene andere Hersteller wie LabWerk, aber der Autor ist nicht bekannt, dass Berichte aus der Praxis.

Mit der Entwicklung einer App mit iBeacons der Interaktion, Aspekte der Sicherheit und der Datenschutz muss auch berücksichtigt werden,. Aufgrund der Einfachheit des Signals, IBeacon ist anfällig für Spoofing, die bei der Entwicklung sollte nicht vergessen. Daten wie die aktuelle Position und das Bewegungsprofil, das auf dem Benutzerverhalten auf Basis gesammelt werden kann auch einen hohen Schutzbedarf haben.

MOKOSMART iBeacon SDK

ibeacon sdk lösung