So entwickelst du erstklassige Bluetooth-Apps

Bluetooth connected mobile Apps at ElevateX

Inhalte

Gehören Sie zu den Menschen, die eine Hassliebe zu Bluetooth haben? Es fühlt sich magisch an, sobald Ihr Smartphone automatisch eine Verbindung zu Ihrem drahtlosen Headset herstellt. In anderen Fällen ist das Einrichten der Bluetooth-Verbindung jedoch viel umständlicher als das Anschließen des Audiokabels. Für solche Funktionen benötigt es Bluetooth-Apps.

 
Warum funktionieren manche Bluetooth-Geräte besser als andere, insbesondere unter dem Gesichtspunkt, dass die Technologie bereits seit über 20 Jahren existiert? 
 

Bei der Implementierung mehrerer mobiler Bluetooth-Apps haben wir viele Herausforderungen mit allen Arten von Geräten bewältigt – vom Auto bis zur Kaffeemaschine. Wir haben endlose Hardware-Konfigurationen getestet, Hand in Hand mit Hardware-Herstellern und Chip-Anbietern gearbeitet und unseren Kunden unzählige Fallstricke bei der Entwicklung von Begleit-Apps für ihre Hardware oder ihren Anwendungsfall erspart.
Wenn Sie in Erwägung ziehen, Ihr(e) Produkt(e) Bluetooth-fähig zu machen und Ihren Nutzern eine herausragende App zur Verfügung zu stellen, dann lesen Sie weiter: Wir werden unsere Gedanken, Einsichten und Erkenntnisse mit Ihnen teilen und erläutern, warum wir der festen Überzeugung sind, dass Bluetooth für Ihr Unternehmen eine entscheidende Rolle spielen kann.
Als Einstieg finden Sie ein kurzes Video über die Funktionsweise von Bluetooth und Bluetooth Low Energy (BLE):

YouTube

By loading the video, you agree to YouTube's privacy policy.
Learn more

Load video

Gelegenheit

In der aktuellen Ära des Internet of Things (IoT) wird alles mit dem World Wide Web verbunden. Mit den kollektiven Daten, die über Sensoren, Tracker und tragbare Geräte gesammelt werden, können – in Kombination mit der Leistungsfähigkeit des maschinellen Lernens – neue, intelligente Dienste geschaffen werden. Das kann so einfach sein wie ein Bluetooth-fähiges Herzfrequenzmessgerät, das Ihre Messwerte auf Ihrem Mobilgerät protokolliert, oder ein KI-gestütztes Bewässerungssystem, das Ihre Pflanzen je nach Wettervorhersage und aktuellen Bodenbedingungen bewässert.

Oft verhindern jedoch Beschränkungen wie Geräteabmessungen, Herstellungskosten oder Stromverbrauch, dass Geräte über WIFI oder LTE mit dem Internet verbunden werden können. Die Nutzung von Bluetooth – insbesondere Bluetooth Low Energy (BLE) – ermöglicht es Entwicklern, diese Probleme zu entschärfen und dennoch drahtlose Verbindungen über unsere Mobiltelefone ohne zusätzliche Kosten zu ermöglichen.

Bluetooth Classic vs. Bluetooth Low Energy (BLE)

Bluetooth gibt es seit mehr als zwanzig Jahren und es entwickelt sich immer noch weiter. Mit der Bluetooth-Version 4.0, die 2014 veröffentlicht wurde, wurde Bluetooth Low Energy (BLE) eingeführt. BLE unterscheidet sich deutlich von Bluetooth Classic.

Bluetooth Classic

Bluetooth Classic eignet sich gut für Anwendungsfälle, die die Übertragung großer Datenmengen mit schnellen Datenraten erfordern, wie z. B. Audio-Streaming. Nach dem Scannen nach verfügbaren Geräten kann eine End-to-End-Verbindung hergestellt und aufrechterhalten werden, und Daten können kontinuierlich übertragen werden.

Bluetooth Low Energy (BLE)

Bluetooth Low Energy (BLE) hingegen wurde speziell für Geräte mit geringem Stromverbrauch entwickelt, wie z. B. Temperatursensoren oder Fitnessgeräte, die in Bezug auf die Datenübertragungsgeschwindigkeit weniger Einschränkungen haben.

Vorteile von Bluetooth Low Energy

BLE basiert auf dem Konzept eines generischen Attributprofils (GATT). Ein Profil ist ein strukturierter Ansatz, wie ein Bluetooth-Gerät Daten für einen bestimmten Anwendungsfall z. B. an ein Mobiltelefon weitergibt. Im Wesentlichen ist ein Profil ein definierter Satz von Diensten, und jeder Dienst umfasst eine Sammlung von Merkmalen zur Übertragung von Daten (Lesen, Schreiben oder Abonnieren von Benachrichtigungen) – ähnlich wie eine API. Die Merkmale können auch geschützt werden und erfordern eine vorherige Gerätekopplung und einen Schlüsselaustausch, bevor Daten übertragen werden können.

Es gibt viele vordefinierte Profile und Dienste für verschiedene Anwendungsfälle – wie z. B. das „Health Device Profile (HDP)“. Wenn sich die Hardware-Hersteller an diese Spezifikationen halten, sollte die Integration z. B. eines Herzfrequenzmessers in Mobiltelefone mühelos sein. Leider führen kleine Unstimmigkeiten in beiden Implementierungen oft zu Inkompatibilität und damit zu frustrierten Nutzern.

Ein weiterer Vorteil von BLE besteht darin, dass die Geräte regelmäßig ihre Anwesenheit „ankündigen“, indem sie einige Daten aussenden, die von „hörenden“ Bluetooth-Geräten aufgefangen werden können. Im Gegensatz zu Bluetooth Classic kann BLE den Werbedaten eine kleine Nutzlast hinzufügen – zum Beispiel den letzten Temperaturwert. So müssen die empfangenden Geräte nicht einmal aktiv eine Verbindung mit dem Sender herstellen, um relevante Informationen zu erhalten. Dies wird gemeinhin auch als „Beacon-Anwendungen“ bezeichnet.

ElevateX Logo

Auf der Suche nach Top App Entwicklern?
Wir helfen dir weiter.

Erfolgsrezept für Bluetooth-Apps: Unsere 7 Tipps

Wir sind bestrebt, ein herausragendes App-Erlebnis für die Benutzer zu schaffen. Vor allem mit Blick auf die Bluetooth-Konnektivität kann das Projekt zum Erfolg geführt werden, indem grundlegende Design- und Prozessentscheidungen getroffen werden, bevor eine Zeile Code geschrieben wird.

Mit dem Hardware-Anbieter arbeiten

Die meisten Frustrationen bei Bluetooth-Projekten lassen sich vermeiden, wenn der Hardwarehersteller – derjenige, der das Bluetooth-fähige Gerät baut und programmiert – und die Anwendungsentwickler eng zusammenarbeiten. In einigen Fällen kann eine enge Zusammenarbeit sogar mit dem Hersteller des Bluetooth-Chips von Vorteil sein und Zeit sparen, da bereits kleine Unterschiede zwischen den Versionen des Chips oder des Bluetooth-Stacks erhebliche Auswirkungen auf die Kommunikation zwischen Ihren Geräten haben können.

Wenn Sie also verschiedene Geräte bauen und erwarten, dass sie sich mit derselben App verbinden, sollten Sie sicherstellen, dass Sie in allen Geräten denselben Bluetooth-Chip verwenden, damit Sie sich unzählige Stunden ersparen, in denen Sie verschiedene Hardwarekonfigurationen immer wieder testen müssen.

Bluetooth Spezifikation

Machen Sie sich mit Bluetooth Classic und BLE vertraut. Wenn möglich, verwenden Sie BLE, da es sich als viel zuverlässiger, einfacher zu handhaben und weniger batterieintensiv erwiesen hat, was zu einer besseren Benutzererfahrung führt.

Unterstützte Version der mobilen Plattform

Obwohl Android schon seit sehr frühen Versionen Bluetooth Classic unterstützt und in der Android-Version 4.3 offizielle Unterstützung für BLE hinzugefügt hat, wird dringend empfohlen, Bluetooth-fähige Apps nur für Android 5.0 „Lollipop“ oder spätere Versionen (>85 % aller Android-Nutzer) zu entwickeln. In späteren Versionen ist die Implementierung des Bluetooth-Stacks der Plattform wesentlich stabiler.

Mit iOS 5 wurde die Unterstützung für BLE eingeführt. Da Apple bei seiner Update- und Supportstrategie viel radikaler vorgeht, sollten Sie sich nicht mit Geräten herumschlagen müssen, die Bluetooth nicht unterstützen.

Android vs. iOS

Beide Plattformen haben ihre eigene Interpretation des Bluetooth-Standards implementiert, um die Bluetooth-Integration für ihre jeweilige Entwicklergemeinschaft zu vereinfachen. Leider führt dies zu einem Verhalten, das man nicht unbedingt erwarten würde. Unter iOS können Sie beispielsweise viele aufeinanderfolgende Schreibanfragen stellen, ohne dass Sie warten müssen, bis eine davon abgeschlossen ist, bevor Sie eine weitere Schreibanforderung auslösen. Wenn Sie das Gleiche unter Android tun, werden Sie feststellen, dass einige Nachrichten verloren gehen können. Unter Android ist es wichtig, Nachrichten in eine Warteschlange zu stellen und sie nacheinander zu schreiben.

Wir empfehlen daher ein auf Bestätigungen basierendes Kommunikationsprotokoll, um sicherzustellen, dass die Nachrichten erfolgreich zugestellt/empfangen wurden und eine Übertragung bei Bedarf einfach wiederholt werden kann.

Testen, Testen, Testen,...

Da Android-Geräte sehr zersplittert sind, es sie in allen Formen und Ausprägungen gibt und sie sich erheblich von Apple-Geräten unterscheiden, müssen Sie ständig verschiedene Hardware-Kombinationen testen, um die Kompatibilität Ihrer Änderungen sicherzustellen. Darüber hinaus empfehlen wir Ihnen, Ihre Tests auch in realen Situationen durchzuführen, z. B. mit anderen Bluetooth-Geräten und Signalen in der Nähe, mit mehreren Geräten desselben Typs, mit Telefonen, die die Verbindung unterbrechen, weil sie in den Akkusparmodus wechseln, und mit jedem anderen Szenario, das Sie sich vorstellen können.

Bitte beachten Sie, dass einige Android-Geräte falsch-positive Bluetooth-Kopplungsprobleme verursachen können, wenn Sie Fehlerszenarien immer wieder testen. Aufgrund eines Fehlers im Android-System wird ihr Bluetooth-Fehlerstapel nicht gelöscht, weshalb sie von Zeit zu Zeit neu gestartet werden müssen, um einen Reset auszulösen.

Bluetooth Debugging

Die Bluetooth-Kommunikation ist im Allgemeinen sehr zeitkritisch, so dass eine schrittweise Fehlersuche nicht sehr sinnvoll ist, da sie das tatsächliche Verhalten und die Ausführungszeiten verändert. Daher sollten Sie in Ihrer Anwendung eine feingranulare, isolierte Protokollierung für Bluetooth implementieren. Wenn Sie außerdem Zugriff auf die Bluetooth-Geräteprotokolle haben, können Sie die gesendeten/abgerufenen Daten vergleichen und feststellen, ob sie mit den Spezifikationen übereinstimmen, um die Fehlerursache zu ermitteln.

Ein weiteres praktisches Tool ist ein Bluetooth-Sniffer. Es zeichnet den Bluetooth-Datenverkehr auf – ähnlich wie ein Man-in-the-Middle-Proxy – und kann Aufschluss über die tatsächlich übertragenen Daten geben.

Schließlich empfehlen wir die Verwendung von Tools wie BLE Scanner, um zu überprüfen, ob Ihr Bluetooth-Gerät tatsächlich verfügbar ist und sich wie erwartet verhält, unabhängig von Ihrer eigenen App-Implementierung.

Trennen der Bluetooth-Implementierung von der Geschäftslogik

Sie haben vielleicht schon gemerkt, dass die Bluetooth-Kommunikation sehr anfällig ist, wenn sie nicht richtig implementiert wird. Es hat sich als sehr effektiv erwiesen, die Bluetooth-Implementierung in eine eigene Bibliothek auszulagern und diese Bibliothek von Ihrer eigentlichen Anwendung und Geschäftslogik aus aufzurufen, um die Verantwortlichkeiten und Bedenken zu trennen. Jetzt können Sie Ihre Bluetooth-Implementierung ohne Einschränkungen testen und umgekehrt Ihre Geschäftslogik, ohne sich auf die Bluetooth-Kommunikation zu verlassen.

Bei der Implementierung einer solchen Bibliothek könnten Sie auch die Erstellung eines Datentypkonverters in Betracht ziehen. Bluetooth überträgt Daten als Bytes, während die Datentypen in Ihrer Anwendung wahrscheinlich Texte und Zahlen sind. Ein einziger Konvertierungspunkt zwischen den jeweiligen Datendarstellungen kann Ihnen eine Menge Kopfzerbrechen ersparen.

Zusammengefasst

Die Entwicklung von Bluetooth-fähigen Geräten mit Begleit-Apps kann einschüchternd sein – muss es aber nicht. Wenn Sie sich ganz darauf einlassen und unsere Empfehlungen befolgen, werden Ihre Nutzer begeistert sein.

Wir sind gerne bereit, unsere Erfahrungen mit Ihnen zu teilen oder Sie bei Ihren Bluetooth-Anwendungen zu unterstützen. Was ist das Wichtigste für Sie? Bitte geben Sie uns Feedback und schreiben Sie uns eine E-Mail an info@elevatex.de. 

Sind Sie daran interessiert, Experten für die Entwicklung mobiler Anwendungen zu finden? Hier können Sie weitere Informationen finden.

Informiert bleiben?

Nie mehr Neuigkeiten verpassen.
Folge uns auf LinkedIn oder melde dich für den Newsletter an.

Sören Elser ElevateX GmbH

Dein Ansprechpartner

Sören Elser

Co-Gründer ElevateX GmbH und dein Ansprechpartner für den Einsatz von Freelancern. 

Baue auf Expertise.
Arbeite mit qualifizierten Experten.