iBeacon SDK für Android

Inhaltsverzeichnis
ibeacon sdk

Mögliche Anwendungsfälle und Geschäftsmodelle für das Beacon, die eine standortabhängige Benutzerinteraktion auch innerhalb von Gebäuden ermöglichen, werden derzeit heftig diskutiert. In-Store-Werbung und Rabatte, mobile Zahlungen, Navigation, öffentlicher Verkehr, Lokalisierung in öffentlichen Gebäuden und Museen sowie Hausautomation sind nur die Spitzen des Eisbergs. Und natürlich die allgegenwärtige Datenerfassung – jetzt neu und mit präzisen Standortinformationen. Bevor Sie mehr über die iBeacon-Technologie erfahren, Wir werden auch das iBeacon SDK im Artikel erwähnen.

Was ist der Hype??

Das von Apple auf Basis von Bluetooth Low Energy entwickelte iBeacon-Protokoll wird von einer Vielzahl von Geräten unterstützt. Der Artikel erläutert iBeacons und Bluetooth Low Energy und zeigt am Beispiel der Entwicklung einer Android-App für standortabhängige Einkaufslisten die standortabhängige Interaktion einer App mit iBeacons. Die Implementierung basiert auf dem MOKOSmart iBeacon SDK.

iBeacon, Bluetooth 4.0, WURDEN, CLEVER. Wot?

Die Basistechnologie für iBeacon ist Bluetooth. Bluetooth Low Energy (WURDEN), Dies wird oft als Bluetooth Smart-Marketing-Label bezeichnet, wurde in die Version aufgenommen 4.0 des Bluetooth-Standards. BLE ist nicht abwärtskompatibel mit früheren Versionen namens Bluetooth Classic. Bluetooth 4.0 Gibt an, dass standardkonforme Geräte eine oder beide Varianten implementieren müssen, d.h.. Low Energy oder Classic.

BLE ist auf fast allen aktuellen Smartphones wie dem iPhone implementiert 4+ und das Samsung Galaxy 3+. Ein iPhone kann sowohl als Empfänger von iBeacon-Signalen als auch fungieren – im Gegensatz zu Android – haben eine Leuchtfeuer selbst. Android enthält BLE-Treiber aus der API-Version 18, d.h.. Android 4.3. Übrigens, Aktuelle Computer sind auch BLE-fähig. In Windows, jedoch, Die Treiber sind nur unter Windows an Bord 8 und seit etwa Mitte 2011, BLE war 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.

Interessant im Zusammenhang mit iBeacons ist der Sensor

Tag von Texas Instruments, die neben ihrer Funktion als iBeacon auch die Temperatur messen kann, Feuchtigkeit, Druck, und Beschleunigung. Das Sensor-Tag wird auch mit einem Gyroskop geliefert, ein Magnetometer, und zwei Hardware-Tasten. Das ideale Gerät zur Fernsteuerung von Präsentationen, während die Feuchtigkeit und Temperatur der Hände des Sprechers übertragen und angezeigt werden. Ich denke, mein nächstes Sandkastenprojekt wird Lampenfieber sein. Eine detaillierte Liste der Geräte finden Sie auf der offiziellen Bluetooth-Website.

GATT bereit

Das Kommunikationsmodell, mit dem Geräte Daten austauschen, wird als GATT bezeichnet – Generisches Attributprofil. Das GATT definiert die Rollen von Client und Server. Der Client fordert Daten vom Server über Dienste an. Ein Dienst gruppiert mehrere atomare Schlüssel / Wert-Paare, die Eigenschaften genannt werden. Sowohl Dienste als auch Merkmale werden über UUIDs identifiziert und können auch weitere Beschreibungen enthalten. Dienstleistungen und ihre Eigenschaften werden in Form von Profilen katalogisiert; Die Spezifikation definiert eine ganze Reihe von ihnen aus den Bereichen des Gesundheitswesens, Sport und Fitness und – in unserem Fall interessant – Näherungserkennung. Die einzelnen Profile sowie deren Dienste und Eigenschaften finden Sie im Bluetooth-Entwicklerportal unter GATT-Spezifikationen.

gatt ibeacon sdk

Geh zum Leuchtfeuer

Was sind iBeacons?? iBeacon ist eine sehr einfache Technologie (und eine Marke von Apple, die eine standortabhängige Interaktion mit Anwendungen ermöglicht. Ein Beacon sendet ein Signal aus, das mit BLE-kompatiblen Geräten empfangen und von darauf installierten Anwendungen verarbeitet werden kann. Das Signal enthält die Identifikation des Beacons und die Empfangsstärke. iBeacons selbst sind, deshalb – entgegen ungenauen Aussagen in der Presse – Es ist nicht möglich, Inhalte zu liefern oder das Kundenverhalten zu verfolgen. Dies liegt in der Verantwortung der empfangenden Anwendungen und damit der Entwickler.

iBeacon IRL

Größere Bereitstellungen von iBeacons in Deutschland werden wahrscheinlich lange auf sich warten lassen, Es gibt jedoch einige Beispiele aus den USA und den Niederlanden. Beispielsweise, Major League Baseball hat ausgerüstet 28 Stadien mit iBeacons und nutzt sie, unter anderem, zum Einchecken in die MLB App “Im Stadion”.

Im Rubenshaus in Antwerpen wurde ein Schaufenster eingerichtet, Hier finden Sie Hintergrundinformationen wie Röntgenbilder von Gemälden und Geocaching-Spiele für Besucher.

Das beste Beispiel für die Größe stammt von Apple. Über 250 Apple Stores wurden mit iBeacons ausgestattet. In Kombination mit der Apple Store App, Standortabhängige Nachrichten werden an Käufer gesendet, die sich im Geschäft befinden. jedoch, Die möglichen Wechselwirkungen scheinen derzeit recht begrenzt zu sein: Erste Bewertungen berichten nur über zwei verschiedene (und ziemlich allgemein) Nachrichten, die sie erhalten hätten. Sonderangebote oder spezifische Informationen zu einzelnen Produkten in der Nähe wurden nicht angeboten.

Funktionalität

Das iBeacon SDK verwendet kein separates BLE-Profil, sondern Bluetooth-Werbepakete, d.h.. Broadcast-Pakete, die verwendet werden, um Bluetooth-Geräte zu erkennen. Wenn Sie an der genauen Struktur des Pakets interessiert sind, Sie können dies lesen, beispielsweise, auf Adam Warskis Blog.

Ein solches Paket wird in regelmäßigen Abständen gesendet, die über das GATT konfiguriert werden können. Es enthält die UUID des Beacons, Dies wird normalerweise vom Hersteller vorkonfiguriert. Alle MOKOSmart-Beacons senden also dieselbe UUID. Haupt- und Neben-IDs werden auch verwendet, um die einzelnen Beacons zu identifizieren. Haupt-IDs können darstellen, beispielsweise, eine Filiale eines Geschäfts oder eines Restaurants in einer Franchise-Kette, Die Minor-IDs sind ein einzelnes Regal oder ein Tisch.

Außerdem, Die Signalstärke ist im Werbepaket enthalten, Hiermit kann die Entfernung des Empfängers von der Bake gemessen werden. jedoch, Sie können hier keine hohe Genauigkeit erwarten, da das Signal durch räumliche Hindernisse wie Möbel oder Personen behindert werden kann.

Das IBeacon SDK bietet zwei Konzepte für die Interaktion einer App mit diesen Informationen: Reichweiten- und Regionsüberwachung. Bei der Reichweite, Die Entfernung zum Leuchtfeuer wird bestimmt. Aufgrund der oben genannten Ungenauigkeit, Dies erfolgt in nur drei Schritten. “Sofortig” ist ein Abstand von wenigen Zentimetern, “In der Nähe von” ist ein paar Meter und “Weit” ist eine Entfernung von über zehn Metern. Das Rangieren ist nur möglich, wenn die empfangende App aktiv ist.

Dies ist für die Regionsüberwachung nicht erforderlich. In diesem Modus, Eine inaktive App kann auch benachrichtigt werden, wenn eine von einem oder mehreren Beacons definierte Region betreten oder verlassen wird. Spätestens jetzt wird klar, was diese Technologie für Werbung und Einzelhandel attraktiv macht. Zusätzlich, für die meisten Leuchtfeuer, Die Übertragungsstärke und das Intervall können konfiguriert werden, um die Batterielebensdauer basierend auf den örtlichen Bedingungen zu optimieren.

“Die meisten Leuchtfeuer” impliziert, dass es mehr als einen Hersteller von iBeacons auf dem Markt gibt. Eigentlich, es gibt ziemlich viele: MOKOSmart, Kontakt.io, Eis, Ich schätze Sie, und Gimbal. Neben der Hardware, Diese Hersteller bieten auch iBeacon SDK-Service- und Cloud-Lösungen für die Verwaltung von Beacons an. Die Hobbyisten unter uns können mit Raspberry Pi oder Arduino mit relativ geringem Aufwand iBeacon-Sender selbst einrichten.

Blinkende Liste

Nehmen wir für das Implementierungsbeispiel die folgende Situation an: Der Entwickler ist am Samstagmorgen im Supermarkt. Zu Hause warten hungrige Kinder und am Nachmittag gibt es in der Schule einen Kuchenverkauf. Nur dann beginnt das Wochenende wirklich. Also gute Gründe, sich zu beeilen. Unglücklicherweise, Die Einkaufsliste ist lang und nicht an das Layout des Supermarkts angepasst. Wenn der Supermarkt in den verschiedenen Abteilungen mit iBeacons ausgestattet wäre, Eine Einkaufslisten-App könnte die entsprechenden Einträge hervorheben und den Stresspegel der (natürlich völlig fiktiv) Entwickler.

Da muss unsere App mit Bluetooth kommunizieren, Wir benötigen zuerst die Berechtigungen BLUETOOTH und BLUETOOTH_ADMIN im Android-Manifest. Um den von der Estimote-API angebotenen Service für die Interaktion mit iBeacons nutzen zu können, Wir müssen es auch bekannt machen und die heruntergeladene API in unserem libs / -Verzeichnis ablegen.

Unser Prototyp besteht aus einem einfachen, vorgefüllte Liste und vordefinierte Regionen, d.h.. Abteilungen in unserem Supermarkt. Ein Listeneintrag weiß, welcher Region er zugeordnet ist. In unserem Beispiel, Wir weisen jeder Region nur ein Leuchtfeuer zu. Es ist auch möglich, eine Liste von Beacons in einer Region zu kombinieren. Die Hauptaktivität ist dafür verantwortlich, die aktuelle Region zu erkennen und diese Informationen an einen Adapter weiterzuleiten, welches für das Hervorheben der Listeneinträge verantwortlich ist. Zusätzlich, Wir fügen die Option hinzu, die aktive Region ohne Beacons auszuwählen, um unsere Benutzeroberfläche ohne zusätzliche Hardware testbar zu machen.

In der Aktivitätsmethode "Erstellen", Wir instanziieren einen Beacon Manager von MOKOSmart für unsere App. Wir verwenden einen Listener für die Regionsüberwachung, indem wir die aktuelle Region unserem Adapter bekannt machen und das Intervall für die Beacon-Scans definieren. Im Beispiel, Wir definieren, dass eine Sekunde gescannt werden soll und dann 250 ms sollte warten. Diese Werte werden relativ aggressiv gewählt, um schnelle Testergebnisse zu erzielen. In Wirklichkeit, das schwierige Gleichgewicht zwischen Reaktionsfähigkeit vs.. Batterielebensdauer einhalten. In diesem Prototyp, Wir füllen unsere Einkaufsliste auch mit Dummy-Werten. Wir starten oder stoppen die Überwachung im Ein () Start oder OnStop () Methode der Hauptaktivität.

Die ItemList

Der Adapter ist als Ableitung von android.widget.Array Adapter implementiert und überschreibt die get View () Methode, Dies wird aufgerufen, damit jede Zeile angezeigt wird. Der Titel des Elements wird in die erste Zeile der im Layout definierten Überprüfung geschrieben, in der zweiten die zugewiesene Region.

Wie in Listing zu sehen ist 1, Die eingegebene Region wird an den Adapter in der eingegebenen Region übertragen () Rückruf des MonitoringListener, welches unserem BeaconManager zugeordnet ist: Artikelliste Adapter. Trennung (Region). Beim Aufruf von getView (), Dadurch wird geprüft, ob der Bereich des Eintrags in der Zeile mit dem aktuellen Bereich übereinstimmt. Wenn dies der Fall ist, es färbt den Hintergrund der Linie. Zusätzlich oder alternativ, man könnte auch die Einträge für die aktuelle Zone am Anfang setzen, indem man die Liste sortiert.

Der Code der Anwendung ist klar; Es sind nicht viele Implementierungsarbeiten erforderlich, um iBeacon-Signale zu empfangen und in der App zu verarbeiten. Die Reichweite und Überwachung der iBeacon-Konzepte werden im MOKOSmart iBeacon SDK abgebildet, damit sie intuitiv verwendet werden können. Den vollständigen Quellcode der App finden Sie auf GitHub.

Fazit und Ausblick

Wir haben gesehen, dass die Interaktion mit iBeacons mithilfe des MOKOSmart iBeacon SDK einfach ist. Ich erwarte daher keine größeren Hürden bei der Implementierungstechnologie, sondern beim Einsatz der Beacons und der Abstimmung der Sendeleistung. Diese Parameter wirken sich direkt auf die Reaktionsfähigkeit der Anwendung aus, wenn sich der Standort ändert. Auf jeden Fall, Das Auswuchten sollte schwierig sein.

Für besonders interessant, z.B. B.. im Bereich der Hausautomation, Ich betrachte die Kombination von iBeacons mit Sensoren, wie im oben erwähnten Sensor-Tag von Texas Instruments. Estimote wird auch mobile Beacons mit Bewegungs- und Temperatursensoren mit Estimote-Aufklebern auf den Markt bringen. Die ersten Entwicklervorschauen sollten Ende Oktober geliefert worden sein 2014, Bis Ende wurden jedoch keine Kits verschickt 2014.

Es bleibt abzuwarten, ob der Anwendungsbereich „Indoor Navigation“ mit dieser Technologie robust abgebildet werden kann. Aufgrund der Anfälligkeit des Bluetooth-Signals für Störfaktoren, Eine starke Beleuchtung mit iBeacon-Signalen der entsprechenden Flächen- und Positionsberechnungen mittels Triangulation mit Raumplänen wäre erforderlich. Geeignete Lösungen bietet MOKOSmart an (Indoor Navigation iBeacon SDK) und verschiedene andere Hersteller wie LabWerk, Dem Autor sind jedoch keine praktischen Berichte bekannt.

Mit der Entwicklung einer App, die mit iBeacons interagiert, Sicherheits- und Datenschutzaspekte müssen ebenfalls berücksichtigt werden. Aufgrund der Einfachheit des Signals, iBeacon ist anfällig für Spoofing, was während der Entwicklung nicht vergessen werden sollte. Daten wie der aktuelle Standort und das Bewegungsprofil, die basierend auf dem Benutzerverhalten erfasst werden können, haben ebenfalls ein hohes Schutzbedürfnis.

MOKOSMART iBeacon SDK

ibeacon sdk lösung

 

Geschrieben von --
Nick He
Nick He
Nick, ein erfahrener Projektmanager in unserem R&D Abteilung, bringt einen großen Erfahrungsschatz zu MOKOSMART mit, Zuvor war er als Projektingenieur bei BYD tätig. Seine Expertise in R&D bringt umfassende Fähigkeiten in sein IoT-Projektmanagement ein. Mit einem soliden Hintergrund 6 Jahre im Projektmanagement und erhalten Zertifizierungen wie PMP und CSPM-2, Nick zeichnet sich dadurch aus, dass er die Bemühungen im gesamten Vertrieb koordiniert, Ingenieurwesen, testen, und Marketingteams. Zu den IoT-Geräteprojekten, an denen er teilgenommen hat, gehören Beacons, LoRa-Geräte, Gateways, und intelligente Stecker.
Nick He
Nick He
Nick, ein erfahrener Projektmanager in unserem R&D Abteilung, bringt einen großen Erfahrungsschatz zu MOKOSMART mit, Zuvor war er als Projektingenieur bei BYD tätig. Seine Expertise in R&D bringt umfassende Fähigkeiten in sein IoT-Projektmanagement ein. Mit einem soliden Hintergrund 6 Jahre im Projektmanagement und erhalten Zertifizierungen wie PMP und CSPM-2, Nick zeichnet sich dadurch aus, dass er die Bemühungen im gesamten Vertrieb koordiniert, Ingenieurwesen, testen, und Marketingteams. Zu den IoT-Geräteprojekten, an denen er teilgenommen hat, gehören Beacons, LoRa-Geräte, Gateways, und intelligente Stecker.
Teile diesen Beitrag
Stärken Sie Ihre Verbundenheit Bedarf mit MOKOSmart loT-Gerätelösungen!