Anzeige
Anzeige
UX & Design

Das Content-Management-System als Backend-Lösung: iBeacons mit TYPO3 steuern und verwalten

Apples Funk-Technologie iBeacon löste im vergangenen Jahr einen kleinen Hype aus. Viele Entwicklungen und Prototypen zeigen seither, was mit den kleinen Sendern in Kombination mit Smartphones alles machbar ist. Mit TYPO3 lassen sich die Sender verwalten und mit Inhalten verknüpfen. Wir zeigen, wie es geht und präsentieren ein funktionsfähiges Setting.

7 Min.
Artikel merken
Anzeige
Anzeige

Eine typische iBeacon-Anwendung zeigt einem Nutzer über eine mobile App in Abhängigkeit zu seiner Position bestimmte Informationen an. Dabei erkennt die Anwendung die Distanz zum iBeacon-Signalgeber und auch die Sender-ID. Je nach Signalstärke und ID löst die Applikation eine zuvor definierte Aktion aus – beispielsweise zeigt sie eine Mitteilung auf dem iPhone an.

Anzeige
Anzeige

Solch eine iBeacon-Anwendung erreicht sehr schnell einen Punkt, an dem die Verwaltung der einzelnen Beacons, also der Sendereinheiten, und die Erstellung sowie Auslieferung der App-Inhalte nur noch mit der Unterstützung einer Server-basierten Lösung sinnvoll ist. Dabei hat eine ideale iBeacon-Architektur die folgenden Komponenten:

Beacons

Die Bluetooth-Low-Energy (BLE)-Sensor-Tags senden im Standard-iBeacon regelmäßig ein Signal aus. Dieses beinhaltet die Universally Unique Identifier (UUDI) des Sensors und zwei ID-Informationen (Major/Minor).

Anzeige
Anzeige

Mobile App

iOS 7 und 8 enthält standardmäßig einen Dienst zum Auslesen eines iBeacon-Signals. iOS-Apps können deshalb iBeacon-Signale auswerten und per Event darauf reagieren.

Anzeige
Anzeige

Beacon-Server-Management

Diese Komponente registriert die Konfigurationswerte für iBeacon-Transmitter (UIDI, Major ID, Minor ID, Proximity) und verknüpft die entsprechenden App-Inhalte mit iBeacons.

Schnittstellen (APIs)

Eine iOS-App kann eine Liste benötigter Beacon-Transmitter vom Server per API beziehen und damit die eigene lokale App-Datenbank updaten. Ebenso lassen sich die Inhalte, die einem Beacon zugeordnet sind, in Echtzeit in die App laden. Alternativ ist es auch sinnvoll, Inhalte in einer lokalen Datenbank vorzuhalten und diese zu bestimmten Zeitpunkten mit dem Server zu synchronisieren. Für den Datenaustausch zwischen App und Server bieten sich JSON und XML an.

Anzeige
Anzeige

Content Management

Möchte man die Darstellung und den Inhalt von Informationen extern in einer App verwalten, ist ein Redaktionssystem hilfreich. Redakteure können hier Texte und Medien anlegen und die Anzeige an Beacons koppeln. Dies steuert dann die Anzeige und App.

TYPO3 als eierlegende Wollmilchsau

TYPO3 deckt als leistungsfähiges Redaktionssystem in dieser Architektur mehrere Aufgaben ab. Es ist sowohl Verwaltungs-Backend für Beacons, als auch Redaktionssystem und Schnittstelle für Apps. Dabei bietet TYPO3 von Haus aus ein umfangreiches Backend mit Benutzer-Management. Die Beacon-Management-Funktionen lassen sich per Extension einbinden.

Diese typische iBeacon-Management-Architektur mit TYPO3 zeigt den Weg, den iBeacon-Signale über die App zum Server und Redaktionssystem nehmen – sowie den Weg der Inhalte vom CMS zur App.
Diese typische iBeacon-Management-Architektur mit TYPO3 zeigt den Weg, den iBeacon-Signale über die App zum Server und Redaktionssystem nehmen – sowie den Weg der Inhalte vom CMS zur App.

Und so funktioniert der Ablauf: Bewegt sich der Nutzer einer mobilen iBeacon-App in die Nähe eines iBeacon-Transmitters, erkennt die iOS-App dies (siehe Abbildung oben, Punkt 1) und gleicht im Online-Modus die Inhalte mit dem Server ab (2). Der Server prüft daraufhin die aktuelle Verknüpfung von iBeacon und Inhalten – zum Beispiel im TYPO3-Redaktionssystem (3). Er bereitet diese Contents für die Übertragung vor (4), übermittelt sie an die App und aktualisiert die iBeacon-Liste (5).

Anzeige
Anzeige

Die Konfiguration der iBeacons

In diesem Beispiel legt der Entwickler die iBeacons über das TYPO3-Backend an und verwaltet sie auch dort. Über TCA speichert er die Konfigurationseinstellungen in MySQL. Für die Verwaltung der iBeacons stellt das TYPO3-Backend folgende Informationen dar:

Informationen zur Verwaltung von iBeacons in TYPO3
UUID Die individuelle Kennung der Beacon-Hersteller
Major ID Integer-Wert zur Gruppierung von Beacons
Minor ID Integer-Wert zur Kennung eines Beacons
Area Unter iBeacon sind drei Zonen zum Auslösen eines iBeacon-Events definiert:
Inmediate (0-0,5 Meter) / Near (0,5-2 Meter) / Far (>2 Meter)
RSSI Die Kenngröße der individuellen Bluetooth-Sendestärke eines Beacons
Content ID Die Verknüpfung eines Beacons mit TYPO3-Inhaltselementen

Über das TYPO3-Backend können Redakteure neue Beacons anlegen oder die Konfigurationswerte bestehender Beacons ändern. Über das TYPO3-Rechte-Management lässt sich zudem der Zugriff auf Beacons und Konfigurationswerte gezielt über Rechtegruppen steuern.

So kann man beispielsweise Beacons für verschiedene Kunden oder Apps in einem System getrennt verwalten. Damit eine App diese Konfigurationseinstellungen nutzen kann, gibt es mehrere Möglichkeiten:

Anzeige
Anzeige
  • Die iBeacon-Konfiguration startet eine Echtzeit-Abfrage in Abhängigkeit des Benutzerkontextes. Für viele mobile Apps sind nur ausgewählte Beacons in einer Region von Bedeutung – etwa nur solche im Radius von 200 Meter um den Benutzer. Für ein solches Szenario ist es sinnvoll, dass die App je nach Nutzerstandort eine Konfigurationen der Beacons in unmittelbar Umgebung nachladen kann. Über eine JSON-Abfrage kann die App dann dynamisch je nach GPS-Koordinate alle iBeacons in der Umgebung abfragen und den dafür nötigen Content aktualisieren.
  • Die App synchronisiert ihre iBeacon-Konfiguration mit Hilfe der von TYPO3 verwalteten Datenbank. Dazu baut die App zu definierten Zeitpunkten eine Verbindung zum Server auf und prüft, ob ein Redakteur eine neue iBeacon-Konfiguration erstellt hat. Dann aktualisiert die App ihre Datenbank.

Die XML-Schnittstelle zur Konfiguration

In beiden Fällen stellt eine TYPO3-Extension eine JSON- oder XML-Schnittstelle bereit, über die die App die iBeacon-Konfiguration abruft. Zusätzlich kann sie Inhalte aus TYPO3-Content-Elementen als XML bereitstellen.

Die Verknüpfung einer Content-ID mit einem Beacon erfolgt dazu ebenfalls in TYPO3, die App ruft sie per XML oder JSON ab. Die per XML übermittelte iBeacon-Konfiguration speichert die mobile App in ihrer lokalen Datenbank. Folgende Informationen gehen in XML beispielsweise an eine App:

XML Schema (vereinfacht dargestellt)
<ibeaconsdata version="1.1"encoding="utf8" language="DE">
	<ibeacon id="12">
		<uuid>EBEFD083-70A2-47C8-9837-E7B5634DF524</uuid>
		<contentid>12</contentid>
		<major>10</major>
		<minor>2</minor>
		<rssi>80</rssi>
		<area>near</area
	</ibeacon>
	<ibeacon id="13">
		<uuid>EBEFD083-70A2-47C8-9837-E7B5634DF524</uuid>
		<contentid>13</contentid>
		<major>10</major>
		<minor>1</minor>
		<rssi>80</rssi>
		<area>immediate</area>
	</ibeacon>
</ibeacondata>

Listing 1

Da die Verfügbarkeit und Qualität von Internet-Verbindungen bei einem mobilen Anwendungsszenario nicht vorhersehbar ist, sollte die App auch im Offline-Modus mit iBeacon vernünftig funktionieren. Das heißt, die Informationen zu Beacons müssen auch lokal in der App gespeichert sein. Im Offline-Fall kann die App alle Informationen von dort abrufen.

Anzeige
Anzeige

Herausforderung Skalierung

Mobile iBeacon-Applikationen für den Point-of-Sale (POS) müssen skalierbar sein. Zum Beispiel sollte eine Anwendungsarchitektur für Coupon-Aktionen im Einzelhandel die Beacon-Verwaltung in unterschiedlichen Filialen und Verkaufsflächen berücksichtigen. Der Status der am POS installierten Beacons muss sich hierbei über einen zentralen Service überwachen lassen, um den Ausfall oder Verlust eines Beacons zu erkennen und ihn austauschen zu können.

Das Monitoring von Sensoren ist eine Standardherausforderung im Internet der Dinge und wird in der Regel über Knotenpunkte (Nodes) organisiert. Ein Knoten ist dabei eine vollwertige Rechnereinheit – beispielsweise ein Linux-System, das per WLAN/LAN mit dem Internet verbunden ist und mit Hilfe von Bluetooth 4.0 Beacons in der Umgebung erkennt und überwacht. Ein Node übermittelt in regelmäßigen Abständen den Zustand dieser Beacons an den Management-Server.

Sollen iBeacon-Konfigurationen in mehreren Filialen verwaltet werden, sind sogenannte Nodes notwendig, um alle Beacons zu kontrollieren.
Sollen iBeacon-Konfigurationen in mehreren Filialen verwaltet werden, sind sogenannte Nodes notwendig, um alle Beacons zu kontrollieren.

Nodes zur Überwachung von Beacons

Die Konfiguration eines Beacons ist in einem solchen Setting eine Herausforderung. Da Beacons über keine IP-Adresse und direkte Internet-Anbindung verfügen, muss ein Node eine Verbindung zu einem Beacon über das Bluetooth-GATT-Protocol aufbauen. Der Node kann dann per GATT auf die Firmware des Beacons zugreifen, dort Werte auslesen oder setzen. Damit lässt sich das Sendeintervall eines iBeacons ändern oder der Ladestatus der Batterie auslesen. Erst der Node kann per Internet mit dem zentralen Management-System kommunizieren. Dies erschwert die zentrale Verwaltung einzelner Beacons an unterschiedlichen Standorten.

Anzeige
Anzeige

Neben der Überwachung der Beacons ist es auch notwendig, die Zustände der dazwischen geschalteten Nodes zu überwachen. Auch hier kann TYPO3 zur Darstellung und Verwaltung der gesammelten Monitoring-Informationen genutzt werden. Ein NAGIOS-System lässt sich dagegen für die aktive Überwachung der Nodes einsetzen.

iBeacon im Prototypen-Stadium

Die meisten iBeacon-Installationen, die derzeit im Einzelhandel zum Einsatz kommen, befinden sich noch im Prototypen-Status. Denn noch kämpft die Technologie mit einigen Herausforderungen. So ist die Stromversorgung der Beacons etwa mehrheitlich von Batterien abhängig – und die müssen die Einzelhändler, je nach Hersteller-Typ und Beacon-Konfiguration, etwa alle sechs Monate bis zwei Jahre austauschen. Dazu kommt, dass die Entwickler die kleinen Funksender vor Ort und mit Hilfe einer App neu konfigurieren müssen, wenn sich die Sendereinstellung ändert. Damit so ein System mit zahlreichen Beacons an mehreren hundert verteilten Standorten jedoch wirtschaftlich sinnvoll ist, braucht es eine permanente Stromversorgung, ein Vor-Ort-Monitoring und eine Fernkonfiguration einzelner Sender.

Bewegt sich der Nutzer einer iBeacon-App in die Nähe eines iBeacon, erkennt die iOS-App dies und gleicht im Online-Modus die Inhalte mit dem Server ab.
Bewegt sich der Nutzer einer iBeacon-App in die Nähe eines iBeacon, erkennt die iOS-App dies und gleicht im Online-Modus die Inhalte mit dem Server ab.

Nodes für die Verwaltung der Beacons einzusetzen ist daher sinnvoll – aber auch eine Herausforderung. Ein einfacher Node beinhaltet beispielsweise ein Linux-Betriebssystem, eine LAN/WLAN/3G-Schnittstelle und einen Bluetooth-4.0-USB-Dongle. Zur Steuerung durch den zentralenen Management-Server braucht ein solcher Node außerdem eine Remote-Command-And-Control-Architektur, die die Möglichkeiten eines Redaktionssystems übersteigen. TYPO3 spielt an dieser Stelle nur eine untergeordnete Rolle.

Anzeige
Anzeige

Fazit

Die volle Stärke von TYPO3 liegt in diesem Umfeld in der redaktionellen Verwaltung der Beacon-Konfigurationen. Über den komplexeren Umweg lokaler Nodes lassen sich dann auch einzelne Beacons verwalten. Doch die Informationen zu den Beacons und die Verteilung der Inhalte an mobile Apps müssen auch in hoher Skalierung funktionieren. Für diese Aufgabe lässt sich TYPO3 beispielsweise im Umfeld einer hochverfügbaren Amazon-Elastic-Compute-Cloud (EC2) betreiben. Das Server-System kann dann mit dem Grad der Nutzung von mobilen Apps und verwalteten Beacons mitwachsen. TYPO3 ist dieser Aufgabe gewachsen. Wer zudem im Rahmen von agiler Software-Entwicklung zügig ein einfaches Beacon-App-Management-System aufbauen möchte, dem bietet TYPO3 eine gute Ausgangsbasis.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Kommentare

Community-Richtlinien

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Kommentar abgeben

Melde dich an, um Kommentare schreiben und mit anderen Leser:innen und unseren Autor:innen diskutieren zu können.

Anmelden und kommentieren

Du hast noch keinen t3n-Account? Hier registrieren

Anzeige
Anzeige