Bluetooth und Datenkonsistenz im Blick

App-Entwicklung für Wearables

Wearables entwachsen zunehmend dem Gadget-Stadium. Doch die beste tragbare Hardware nutzt nichts ohne passende App auf Smartphone oder Tablet – und die muss nicht immer vom Gerätehersteller stammen. Worauf sollten App-Entwickler achten, die vom Wachstum der neuen Gerätekategorie profitieren wollen? Ein Überblick über wichtige Entwickler-Tools will darauf Antworten geben.

App-Entwicklung für Wearables

Selbst beim Joggen nutzt das beste Wearable nichts ohne passende App auf Smartphone oder Tablet.

Nicht erst seit dem Marktstart der Apple Watch sind Wearables fester Bestandteil der Technikberichterstattung – und zunehmend auch im Handel in immer größerer Zahl vertreten. In vielen Elektromärkten von Media Markt und Saturn finden sich bereits großflächige Präsentationen der mobilen Begleiter. Neben den Klassikern wie Schrittzählern von Fitbit oder Runtastic buhlen Gerätchen wie Waagen, Puls- und Blutdruckmesser, Smartwatches von LG, Samsung oder Motorola sowie die futuristischen Virtual-Reality-Brillen um die Gunst der Käufer.

Doch Wearables spielen nicht nur für Consumer eine Rolle, sondern machen sich auch geschäftlichen Umfeld nützlich: So hat ein Unternehmen eine tragbare Lösung entwickelt, die Diagnosedaten aus Kraftfahrzeugen per Bluetooth übermittelt. Das sonst notwendige Kabel zur Verbindung mit dem Onboard-Diagnostics-System wird durch eine Funkstrecke ersetzt. In den USA verschickt eine Krankenhauskette für ihre Patienten relevante Daten – beispielsweise, wann der Patient bei welchem Arzt zu welchem Zeitpunkt in welchem Raum sein soll – per Push-Nachricht. Umgekehrt werden durch vernetzte Geräte Werte wie Gewicht oder Blutdruck ermittelt und direkt in die Systeme des Krankenhauses überspielt – ohne Übertragungsfehler.

Aufgrund der zukünftig weiten Verbreitung liegt es für Software-Entwickler nahe, sich dieser Hardware-Gattung anzunehmen, um pfiffige Apps zu programmieren, die auf die Wearables zugreifen. Doch welche Punkte gilt es beim Entwickeln zu beachten und was muss die Entwicklungsumgebung – neben der Funktion zur Cross-Plattform-Erstellung – im Hinblick auf Wearables mitbringen?

Die Hardware im Griff halten

Einer der wichtigsten Punkte beim Entwickeln für Wearables ist – offensichtlich – der Zugriff auf die Hardware. Und hier gibt es spürbare Unterschiede, die auch erfahrene Entwickler beachten sollten: Desktop-Anwendungen, die Daten von Sensoren beziehen und verarbeiten, können sich auf die von meist verdrahteten Sensoren gelieferten Angaben verlassen. Bei mobilen Apps für die zumeist per Bluetooth 4.0 LE angebundenen und angesprochenen, gekoppelten, akkubetriebenen Wearables hingegen ist besonderes Augenmerk auf die Stabilität der Verbindung zu legen. Die App muss also laufend prüfen, ob noch Kontakt zur Hardware besteht und entsprechend fehlertolerant sein. Denn die Funkstrecke ist trotz aller Fortschritte rund um Bluetooth fehleranfälliger als verkabelte Verbindungen.

Dazu kommt, dass das auf energiesparende Koppelung ausgelegte Bluetooth 4.0 LE (Low Energy) der Hardware einen besonders energieeffizienten Modus erlaubt, indem sie ihre Präsenz seltener übermittelt als gewöhnlich. Von daher müssen auch die Timeouts in der App länger sein als üblich. Zudem sollten Entwickler bedenken, dass Wearables sich in den Tiefschlaf begeben, wenn sie 30 oder 60 Sekunden lang inaktiv sind. Die Anwendung muss dem Nutzer also die Möglichkeit geben, das Gerät wieder aufzuwecken. Hierfür ist es hilfreich, wenn die Entwicklungsumgebung sich, wie beispielsweise im Fall des Firemonkey-Frameworks von Embarcadero, auf Bluetooth 4.0 versteht und dessen Eigenheiten abbilden kann.

Traue keinem Wearable

Sind die vom Wearable erfassten Daten dann in die App übertragen, muss diese die Validität des Materials prüfen. Die hierfür notwendigen Prüfroutinen müssen Entwickler selbst programmieren, da es derzeit kein entsprechendes Framework gibt. Empfehlenswert sind beispielsweise semantische Checks: Liefert ein Fitness-Armband einen Wert von 250 für die Herzfrequenz, stimmt sehr wahrscheinlich etwas nicht mit der Qualität der Daten. In diesem Fall sollte die App dem Anwender einen entsprechenden Warnhinweis präsentieren – und ihn nicht im Glauben des nahenden Herztods lassen.

Wichtig ist, dass sich die Kernfunktionen der App ohne Einsatz der Hände (Handsfree ohne Touchbedienung) steuern lassen. Ideal geeignet sind hierfür die Sprachsynthese-Funktionen der mobilen Betriebssysteme wie Apples Siri, OK Google oder Microsofts Cortana. Damit aus den Sprachkommandos aber für die App verwertbarer Text entsteht, benötigt das Smartphone eine Datenverbindung. Denn die Sprachanalyse findet ja fast ausschließlich in der Cloud statt – auch Cortana greift früher oder später aufs Netz zu. Aufgabe des Entwicklers ist es, möglichst viele Synonyme für gängige Wörter – wie beispielsweise „Frequenz“ oder „Herzschlag“ für „Herzfrequenz“ – als Textbausteine in der Anwendung zu hinterlegen. Aufgabe einer Entwicklungsumgebung ist es, auf diese im Betriebssystem hinterlegen Funktionen zugreifen zu können.

Bluetooth profiliert sich

Das von den Wearables verwendete Bluetooth 4.0 kennt hunderte vordefinierte Attribute für die verschiedensten Sensorklassen in den Gerätschaften. Die Attribute sagen beispielsweise, ob die Hardware Lichtstärken, Temperaturen, Herzschläge oder eine Mischung aus diversen Werten übermittelt. Um diese Werte fehlerfrei in der Anwendung zu verarbeiten, muss diese mit der Liste der Attribute vertraut sein. Besser fahren Entwickler mit einem Framework, dass nicht nur den Universally Unique Identifier (UUID) des Geräts ausliest und dem Programmierer anschießend die Zuordnung zu den Attributen überlässt, sondern von vornherein mit den spezifischen Produktklassen (GATT, Generic Attribute Profile) arbeitet.

Ist ein Wearable nicht in eine Bluetooth-Geräteklasse eingeteilt, dann muss der App-Entwickler aus der Dokumentation des Geräts ermitteln, welche Inhalte – Werte in Lux, Grad Celsius, Schlägen pro Minute und so weiter – die von der Hardware übermittelten Zeichenfolgen genau transportieren. Folgt der Hersteller aber den Spezifikationen, kann man sich diesen Aufwand sparen, da sich die Werte dann herstellerübergreifen leicht auslesen lassen.

Darüber hinaus ist es wichtig, dass die Entwicklungsumgebung neben dem energiesparenden Bluetooth 4.0 LE auch Classic Bluetooth unterstützt. Andernfalls sind keine Transfers von größeren Datenmengen möglich, wie sie beispielsweise beim Streaming von Audiodateien zu einem Lautsprecher oder Autoradio anfallen: Die von Bluetooth 4.0 LE gebotene Datenrate ist mit unter 100 Kilobit pro Sekunde hierfür zu niedrig. Zum Vergleich: Classic Bluetooth überträgt zirka zwei Megabit pro Sekunde.

Überblick: Tools für App-Entwickler

Verschiedene Anbieter haben diverse Tools im Angebot, mit deren Hilfe App-Entwickler die passende Software für Wearables bzw. Internet of Things (IoT) programmieren können. Der folgende Überblick erhebt keinen Anspruch auf Vollständigkeit:

Embarcadero liefert im RAD Studio/Delphi/C++Builder die Basistechnik:
www.embarcadero.com/solutions/internet-of-things

Die Eclipse Foundation hat Tools für Java-Entwickler im Angebot; dazu gehören Dienste und Frameworks, um M2M- und IoT-Anwendungen zu erstellen.
iot.eclipse.org/frameworks.html

Microsoft bietet in seinem Cloud-Dienst Azure Schnittstellen zum IoT an:
www.microsoft.com/de-de/server-cloud/internet-of-things.aspx

Oracle stellt die Datenbank als zentralen Speicherort für die Unmengen an Daten als wichtigste Komponente in den Mittelpunkt:
www.oracle.com/us/solutions/internetofthings/overview/index.html

Apple hat für die Apple Watch eigene Entwickler-Tools parat:
developer.apple.com/watchkit/

Auch Google bietet wichtige Werkzeuge zum Programmieren für Android Wear:
developer.android.com/wear/index.html

Samsung unterteilt seine Gear-Wearables in zwei Kategorien (Gear Companion sowie Gear Standalone) und hat die passenden Tools im Angebot:
developer.samsung.com/gear

Ein eher abstrakter Ansatz ist die Bestrebung der Europäischen Union, eine komplette IoT-Architektur aufzustellen:
ec.europa.eu/digital-agenda/en/news/putting-interoperability-internet-things
www.iot-a.eu

Bildquelle: Thinkstock/iStock

©2019Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok