<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soziotechnische Integration &#187; iBeacons</title>
	<atom:link href="https://test.soziotech.org/tag/ibeacons/feed/" rel="self" type="application/rss+xml" />
	<link>https://test.soziotech.org</link>
	<description>Ein Projekt mit der Forschungsgruppe Kooperationssysteme an der Universität der Bundeswehr München</description>
	<lastBuildDate>Mon, 15 Jun 2015 15:24:48 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Verwendung von iBeacons unter Android</title>
		<link>https://test.soziotech.org/verwendung-von-ibeacons-unter-android/</link>
		<comments>https://test.soziotech.org/verwendung-von-ibeacons-unter-android/#comments</comments>
		<pubDate>Mon, 01 Jun 2015 10:47:35 +0000</pubDate>
		<dc:creator><![CDATA[Rene Krueger]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mobiles & Handhelds]]></category>
		<category><![CDATA[Tabletops & Tablet PCs]]></category>
		<category><![CDATA[Ubiquitäre Natural User Interfaces]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[iBeacons]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Tablet]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=7950</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/1795_crop_940x198_ibeacons.jpg" width="618" height="130" alt="Verwendung von iBeacons unter Android" /></p>Der folgende Artikel befasst sich mit der Nutzung von iBeacons als Bluetooth Low Energy Lokalisierungshilfsmittel fürAndroid-Geräten. Nach einer kurzen Einführung in die grundsätzliche Funktionsweise von iBeacons werden Installationsanleitungen sowie Codebeispiele zur Verwendung von iBeacons mittels Estimote-SDK und AltBeacon bereitgestellt.  Begriff iBeacons &#8230; <a href="https://test.soziotech.org/verwendung-von-ibeacons-unter-android/">Weiterlesen <span class="meta-nav">&#8594;</span></a><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fverwendung-von-ibeacons-unter-android%2F&amp;action_name=Verwendung+von+iBeacons+unter+Android&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/moderne-android-tablet-devices-im-vergleich/" rel="bookmark" title="Moderne Android Tablet-Devices im Vergleich">Moderne Android Tablet-Devices im Vergleich </a></li>
<li><a href="https://test.soziotech.org/tablet-pilottest-mit-senioren/" rel="bookmark" title="Android Tablet-Computer im Pilottest mit Senioren">Android Tablet-Computer im Pilottest mit Senioren </a></li>
<li><a href="https://test.soziotech.org/surface-bluetooth-mobile-manager/" rel="bookmark" title="Surface Bluetooth Mobile Manager">Surface Bluetooth Mobile Manager </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/1795_crop_940x198_ibeacons.jpg" width="618" height="130" alt="Verwendung von iBeacons unter Android" /></p>
<p><em>Der folgende Artikel befasst sich mit der Nutzung von iBeacons als Bluetooth Low Energy Lokalisierungshilfsmittel fürAndroid-Geräten. Nach einer kurzen Einführung in die grundsätzliche Funktionsweise von iBeacons werden Installationsanleitungen sowie Codebeispiele zur Verwendung von iBeacons mittels Estimote-<a href="https://test.soziotech.org/glossar/sdk/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für SDK zu springen." onmouseover="tooltip.show('Software Development Kit; ist eine Sammlung von Werkzeugen und Anwendungen, um eine Software zu erstellen, meist inklusive Dokumentation. Mit diesem ist es Softwareentwicklern möglich, eigene darauf basierende Anwendungen zu erstellen. Grundsätzlich gibt es zu jeder Programmiersprache auch ein Software Development Kit - bei interpretierten Sprachen kann dies jedoch identisch mit der Laufzeitumgebung sein. ');" onmouseout="tooltip.hide();">SDK</a> und AltBeacon bereitgestellt. </em></p>
<h2>Begriff iBeacons</h2>
<p>Der Begriff iBeacon wurde von Apple 2013 eingeführt und steht als Markenname für ein auf Bluetooth Low Energy (BLE) bzw. Bluetooth 4.0 basierendes Produkt, das z.B. zur Indoor-Navigation genutzt werden kann. Hierbei stellt das iBeacon einen Sender dar, der in kontinuierlichen Zeitabständen Daten an entsprechende Empfangsgeräte (<a href="https://test.soziotech.org/glossar/smartphone/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Smartphone zu springen." onmouseover="tooltip.show('Mobiltelefon, das im Vergleich zu herkömmlichen Mobiltelefonen mehr Computerfunktionalität und -konnektivität zur Verfügung stellt. Aktuelle Smartphones lassen sich meist über zusätzliche Programme (sogenannte Apps) vom Anwender individuell mit neuen Funktionen aufrüsten. Häufig vefügt ein Smartphone über einen Touchscreen. ');" onmouseout="tooltip.hide();">Smartphone</a>, Tablet, …) sendet. Diese Daten können mittels einer speziellen <a href="https://test.soziotech.org/glossar/app/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für App zu springen." onmouseover="tooltip.show('App (englische Kurzform für application) bezeichnet im Allgemeinen jede Form von Anwendungsprogrammen. Im Sprachgebrauch sind damit mittlerweile jedoch meist Anwendungen für moderne Smartphones und Tablet-Computer gemeint, die über einen in das Betriebssystem integrierten Onlineshop bezogen und so direkt auf dem Smartphone installiert werden können.');" onmouseout="tooltip.hide();">App</a> genutzt werden, um beispielsweise die eigene Position zu ermitteln. Ein iBeacon zeichnet sich durch seine lange Laufzeit und vergleichsweise hohen Reichweite aus. Die Technologie wird von verschiedenen Herstellern angeboten, wobei die im Weiteren aufgeführten Tests und Beispiele unter Verwendung von Estimote-iBeacons durchgeführt wurden.</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/ibeacons/tumblr_inline_nceojforam1ssljt8-1.png" title="
			Nutzung von iBeacons mit einem Smartphone, Quelle: http://blog.estimote.com/post/98316374485/introducing-the-estimote-indoor-location-sdk-the.			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/1794__618x_tumblr_inline_nceojforam1ssljt8-1.png" alt="Schematische Darstellung zu iBeacons " title="Schematische Darstellung zu iBeacons " />
</a>
			<p class="wp-caption-text">Schematische Darstellung zu iBeacons  <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-7950-1" href="#note-7950-1" onmouseover="tooltip.show('Bildquelle: http://blog.estimote.com/post/98316374485/introducing-the-estimote-indoor-location-sdk-the.');" onmouseout="tooltip.hide();"><sup>1</sup></a></p>
</div>

<h2>Nutzung</h2>
<p>Im folgenden Abschnitt werden die Vorraussetzungen für die Nutzung sowie die wesentlichen Daten und Begriffe, die für die Arbeit mit iBeacons relevant sind, aufgeführt.</p>
<h3>Voraussetzung</h3>
<p>Die Nutzung von iBeacons kann nur unter bestimmten Voraussetzungen erfolgen. Das jeweilige Mobile Device muss BLE / Bluetooth 4.0 unterstützen, was somit Geräte ab iOS7 und Android 4.3 umfasst.</p>
<p>Entsprechende Bibliotheken werden für IOS von Apple bereitgestellt. Android-Entwickler müssen hingegen auf Bibliotheken der jeweiligen Hersteller zurückgreifen, da Google keine offiziellen zur Verfügung stellt.</p>
<h3>Daten eines iBeacons</h3>
<p>Die Daten, die ein iBeacons sendet, sind im Folgenden Beispielhaft aufgeführt.</p>
<ul style="text-align: justify;">
<li>UUID: B9407F30-F5F8-466E-AFF9-25556B57FE6D</li>
<li>Minor: 1</li>
<li>Major: 2</li>
<li>RSSI: -55</li>
<li>measuredPower: 62</li>
</ul>
<p>Die nachfolgende Abbildung stellt die Funktion der jeweiligen Werte schematisch dar:</p>
<div class="ngg-singlepic ngg-center wp-caption">
<a rel="lightbox" href="https://test.soziotech.org/wp-content/uploads/ibeacons/ibeacons_anwendungsbeispiel.png" title="
			Skizze der Funktionsweise von iBeacons			" 

 >
	<img src="https://test.soziotech.org/wp-content/uploads/cache/1793__618x_ibeacons_anwendungsbeispiel.png" alt="iBeacons Major, Minor und RSSI" title="iBeacons Major, Minor und RSSI" />
</a>
			<p class="wp-caption-text">iBeacons Major, Minor und RSSI</p>
</div>

<p>Ein beispielhafter Anwendungsfall ist die Kennzeichnung von Bereichen in einem Unternehmen mit mehreren Standorten. So würde jedes iBeacon des Unternehmens mit der gleichen UUID initialisiert werden. Jeder Standort erhält einen entsprechenden Major-Wert und ein eine Abteilung an einem Standort einen Minor-Wert. Unternehmen X verwendet also die UUID „B9407F30-F5F8-466E-AFF9-25556B57FE6D“ und Standort A und B jeweils die Major-Werte  „1“ bzw. „2“. Die Abteilung „I“ und „J“ werden jeweils mit den Minor „1“ und „2“ verknüpft. So ist nun Abteilung I an Standort B des Unternehmens X mit den entsprechenden Werten(UUID: „B9407F30-F5F8-466E-AFF9-25556B57FE6D“, Major: „2“, Minor: „1“) eindeutig identifizierbar. Die Distanz zu einem iBeacon lässt sich aus den Werten RSSI und measuredPower berechnen</p>
<h3>Monitoring, Ranging und Region</h3>
<p>Die Begriffe Monitoring und Ranging beschreiben die zwei Kommunikationsweisen zwischen iBeacons und Empfangsgeräten. Eine Region ist ein Bereich, der sich durch festgelegte Werte (UUID, Major und Minor) definiert. Eine Region umfasst je nach Initialisierung ein bis beliebig viele iBeacons.</p>
<p>Beim Monitoring wird überprüft, ob ein bestimmter Bereich (Region) betreten oder verlassen wurde. Hierbei wird in zeitlichen Abständen getrackt, ob bzw. ob keine iBeacons einer Region empfangen werden; dementsprechend können Programmabschnitte aufgerufen werden. Monitoring ist speziell für Hintergrundprozesse geeignet, da nur beim Eintreten der zuvor erwähnten Ereignisse ein Aufruf entsprechender Methoden erfolgt.</p>
<p>Im Gegensatz zum Monitoring handelt es sich beim Ranging um einen kontinuierlichen Aufruf von entsprechenden Methoden, da dauerhaft eine Aktualisierung der empfangenen iBeacons erfolgt. Ranging eignet sich daher für Vordergrundprozesse, in denen eine Aktualisierung der entsprechenden Daten (z.B. Distanz zum iBeacon) erforderlich ist.</p>
<h2>Verwendung unter Android</h2>
<p>Wie zu Beginn dieses Beitrags erwähnt, müssen bei für Android-Anwendung die SDKs der jeweiligen Hersteller verwendet werden, z.B. das von <a href="http://estimote.com/" target="_blank" class="link-external">Estimote</a>. Alternativ dazu wird mit dem OpenSource-Projekt <a href="http://altbeacon.org/" target="_blank" class="link-external">AltBeacon</a> ein entsprechendes SDK zur allgemein gültigen Nutzung bereitgestellt, das weiter unten ebenfalls betrachtet wird.</p>
<h3>Estimote</h3>
<p>Eine Beispielanwendung, die Monitoring und Ranging verwendet, ist im Folgenden dokumentiert.</p>
<p>Zunächst muss die estimote-sdk-preview.jar in das /libs Verzeichniss des Projekts kopiert werden. Im build.gradle File muss nun folgende Abhängigkeit hinzugefügt werden:</p>
<pre class="brush:jfx"> dependencies {
   compile files('libs/estimote-sdk-preview.jar')
 }
</pre>
<p>Folgende Zeilen müssen im Manifest (AndroidManifest.xml) ergänzt werden:</p>
<pre class="brush:jfx">&lt;uses-permission android:name="android.permission.BLUETOOTH" /&gt;
&lt;uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /&gt;
</pre>
<p>Anschließend muss der Service in der selben Datei deklariert werden. Dies geschieht innerhalb des Application Tags.</p>
<pre class="brush:jfx">&lt;service android:name="com.estimote.sdk.service.BeaconService" android:exported="false" /&gt;
</pre>
<p>Nun wird eine neue Activity erstellt und eine neue Region erzeugt, die alle Estimote-iBeacons umfasst. Außerdem wird ein BeaconManager erzeugt:</p>
<pre class="brush:jfx">private static final String ESTIMOTE_PROXIMITY_UUID = "B9407F30-F5F8-466E-AFF9-25556B57FE6D";
private static final Region ALL_ESTIMOTE_BEACONS = new Region("regionId",ESTIMOTE_PROXIMITY_UUID, null, null);
private BeaconManager beaconManager = new BeaconManager(this);
</pre>
<p>Als nächstes wird in der onStart()-Methode der BeaconManager mit dem Service verbunden und je nach Bedarf das Ranging bzw. Monitoring gestartet.</p>
<pre class="brush:jfx">@Override
protected void onStart() {
  super.onStart();
  beaconManager.connect(new BeaconManager.ServiceReadyCallback() {
    @Override public void onServiceReady() {
      try {
        beaconManager.startRanging(ALL_ESTIMOTE_BEACONS);
      } catch (RemoteException e) {
      }
    }
  });
}
</pre>
<p>Nun kann ein entsprechender Listener erzeugt und dem BeaconManager zugewiesen werden:</p>
<pre class="brush:jfx">beaconManager.setRangingListener(new BeaconManager.RangingListener() {
  @Override public void onBeaconsDiscovered(Region region, List&lt;Beacon&gt; beacons) {
    System.out.println(beacons);
  }
});
</pre>
<h3>AltBeacon</h3>
<p>Radius-Networks stellt mit <a href="http://altbeacon.org/" target="_blank" class="link-external">AltBeacon</a> eine gut dokumentierte Open-Source Lösung zu Apples iBeacons zur Verfügung. Standardmäßig erkennt die Bibliothek nur iBeacons, die nach dem AltBeacon Standard spezifiziert sind. Zur Interaktion mit z.B. iBeacons von Estimote oder anderer Hersteller muss der enthaltene BeaconParser <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-7950-2" href="#note-7950-2" onmouseover="tooltip.show('Vgl. https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/BeaconParser.html.');" onmouseout="tooltip.hide();"><sup>2</sup></a> verwendet werden. Beispiele zur Verwendung der Bibliothek können auf der entsprechenden <a href="https://altbeacon.github.io/android-beacon-library/samples.html" target="_blank" class="link-internal">GitHub-Seite</a> eingesehen werden.</p>
<h3>Vergleich der Frameworks</h3>
<p>Die Konfiguration des Estimote-SDK <a class="simple-footnote" title="Klicken Sie, um zur Fußnote zu springen oder Links in der Fußnote zu folgen." id="return-note-7950-3" href="#note-7950-3" onmouseover="tooltip.show('Vgl. https://github.com/Estimote/Android-SDK.');" onmouseout="tooltip.hide();"><sup>3</sup></a> ist im Gegensatz zur Alternative AltBeacon einfacher, jedoch nur auf die entsprechenden iBeacons ausgelegt, sodass für den Einsatz anderer Hardware zusätzliche Bibliotheken eingebunden werden müssen. Zudem fehlen Methoden zur Entfernungsbestimmung, sodass die Berechnung selbst durchgeführt werden muss.</p>
<p>AltBeacon zeichnet sich durch seine Flexibilität und guten Dokumentation aus, jedoch muss zunächst der entsprechende BeaconParser erzeugt werden (siehe oben).</p>
<h2>Probleme der Technologie</h2>
<p>Die RSSI-Werte variieren sehr stark. Zum einen wird das empfangene Signal durch die Haltung des Device (Tablet, Smartphone) beeinträchtigt und zum anderen ist die Position des jeweiligen iBeacons entscheidend. Positioniert man dieses beispielsweise zwischen Regalen, so leidet das Signal je nach Position des Empfängers.</p>
<p>Aufgrund der Ungenauigkeit des Signals, sollten mehrere iBeacons möglichst mit größerem Abstand eingesetzt werden, um mögliche Störungen oder Überscheidungen der Signale zu vermeiden.</p>
<h2>Fazit</h2>
<p>Die Verwendung von iBeacons unter Android ist mit den entsprechenden Frameworks, die von den Herstellern bereitgestellt werden, mit geringem Aufwand möglich. Jedoch umfasst der Funktionsumfang der SDKs, die in diesem Beispiel zum Einsatz gekommen sind, nicht den der iOS-Bibliotheken.</p>
<p>Die Technologie könnte beispielsweise für die Kennzeichnung von bestimmten Bereichen in Gebäuden verwendet werden, sofern die iBeacons bzw. die Bereiche einen ausreichenden Abstand zu einander haben. Eine zufriedenstellende Indoor-Navigation ist jedoch nur schwer umsetzbar, da die Signale bisher zu störanfällig sind.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fverwendung-von-ibeacons-unter-android%2F&amp;action_name=Verwendung+von+iBeacons+unter+Android&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class="simple-footnotes"><h2 class="notes">Quellen und Fußnoten:</h2><ol><li id="note-7950-1">Bildquelle: <a class="link-external" href="http://blog.estimote.com/post/98316374485/introducing-the-estimote-indoor-location-sdk-the" title="Go to external Source" >http://blog.estimote.com/post/98316374485/introducing-the-estimote-indoor-location-sdk-the</a>. <a class="simple-footnote-backlink" href="#return-note-7950-1">&#8617;</a></li><li id="note-7950-2">Vgl. <a href="https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/BeaconParser.html" target="_blank" class="link-internal">https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/BeaconParser.html</a>. <a class="simple-footnote-backlink" href="#return-note-7950-2">&#8617;</a></li><li id="note-7950-3">Vgl. <a href="https://github.com/Estimote/Android-SDK" target="_blank" class="link-internal">https://github.com/Estimote/Android-SDK</a>. <a class="simple-footnote-backlink" href="#return-note-7950-3">&#8617;</a></li></ol></div><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/moderne-android-tablet-devices-im-vergleich/" rel="bookmark" title="Moderne Android Tablet-Devices im Vergleich">Moderne Android Tablet-Devices im Vergleich </a></li>
<li><a href="https://test.soziotech.org/tablet-pilottest-mit-senioren/" rel="bookmark" title="Android Tablet-Computer im Pilottest mit Senioren">Android Tablet-Computer im Pilottest mit Senioren </a></li>
<li><a href="https://test.soziotech.org/surface-bluetooth-mobile-manager/" rel="bookmark" title="Surface Bluetooth Mobile Manager">Surface Bluetooth Mobile Manager </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/verwendung-von-ibeacons-unter-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
