Framework für Embedded-BLE-App-Kommunikation

Mobile Endgeräte in Form von Tablets und Smartphones haben mittlerweile unseren Alltag so sehr durchdrungen, dass sie zu unseren ständigen Wegbegleitern geworden sind. Damit haben sie auch für Embedded-Applikationen zunehmend an Bedeutung gewonnen.

Aufgrund ihrer Leistungsfähigkeit, den hochauflösenden Displays und komfortabler Entwicklungsumgebungen für die App-Entwicklung lassen sich mit mobilen Endgeräten deutlich kostengünstiger komfortable grafische Bedienoberflächen realisieren als mit fest verbauten Touch-Displays.

Typische Anwendungsbeispiele:

  • Bedienschnittstellen für Servicetechniker zur Parametrierung von Embedded-Applikationen
  • Erweiterung der normalen Bedienschnittstelle. In manchen Anwendungen lässt sich ein im Gerät verbautes Display vollständig durch eine Smartphone-App ersetzen.

Und über ihre ständige Verbindung zum Internet können die mobilen Endgeräte von der Embedded-Anwendung als Kommunikations-Gateway genutzt werden. Das ermöglicht z.B. folgende Funktionen:

  • bequemes Firmware-Update per App
  • Auslesen und Transfer von Diagnosedaten bei Fehlfunktionen der Embedded-Applikation an den Hersteller
  • Live-Datenübertragung von Messdaten in die (Firmen-) Cloud (z.B. bei industriellen Messgeräten)

In den meisten Fällen wird zur Datenübertragung zwischen der Embedded-Applikation und dem mobilen Endgerät Bluetooth Low Energy (BLE) verwendet. Die redlogix GmbH hat ein Software-Framework entwickelt, mit dem sich folgender Anwendungsfall sehr einfach und effizient umsetzen lässt:

Häufig wird die Embedded-Hardware in der ein beliebiger Mikrocontroller die Embedded-Software-Anwendung ausführt (in der folgenden Abbildung „Main µC“) um einen weiteren Mikrocontroller erweitert (z.B. ein ESP32 oder ein Chip der Nordic nRF52 Serie bzw. ein darauf basierendes Modul), der die BLE-Kommunikation übernimmt (in der Abbildung „BLE µC“). Die beiden Mikrocontroller sind meist mittels UART oder SPI-Schnittstelle verbunden.

RX.BApp Overview

Mit der von redlogix entwickelten Lösung lassen sich die per Bluetooth mit der App auf dem Smartphone / Tablet auszutauschenden Daten bequem über eine einfache auf dem „Main µC“ zur Verfügung stehende C-API versenden und empfangen. Die eigentliche Embedded-Software-Applikation auf dem „Main µC“ kann unverändert bleiben.

Die folgende Abbildung zeigt die beteiligten Softwaremodule. Sämtliche rot markierte Teile existieren als fertige Komponenten. Die gelben werden applikationsspezifisch entwickelt.

RX.BApp Software Stack

Im Einzelnen sind das:

  • „Main µC“:
    • Die Embedded-Software-Applikation tauscht alle Daten mit der App (z.B. Messwerte, Parametrierwerte, Kommandos für Aktionen, die über die App gestartet werden) über eine für die Applikation spezifische C-API aus.
    • Die applikationsspezifische C-API verwendet eine generische Remote BLE-Firmware C-API, mit der z.B. BLE Services und Charakteristiken definiert werden können, das Pairing und die Kopplung angestoßen wird, usw.
    • Die Remote BLE-Firmware C-API steht als portable C Quellcode-Library zur Verfügung, die praktisch auf jedem Mikrocontroller integriert werden kann und nicht applikationsspezifisch angepasst werden muss. Es ist lediglich ein Treiber für die Datenkommunikation via UART oder SPI-Schnittstelle zu integrieren.
  • „BLE µC“:
    • Die auf dem „BLE µC“ eingesetzte Firmware wurde von redlogix als generische Software für den beschriebenen Einsatzzweck entwickelt und kann entweder in Binärform oder im Quellcode lizenziert werden.
    • Sie steht als fertige Out-of-the-Box-Lösung für die BLE-Chips ESP32 und Nordic nRF52 (sowie BLE-Module verschiedener Hersteller auf Basis dieser Chips) zur Verfügung.
  • „Smartphone / Tablet App“:
    • In der App kommt ein vorgefertigtes „BLE Framework“ für den Datenaustausch mit dem „BLE µC“ zum Einsatz. Dadurch muss lediglich die für die Anwendung spezifische App-Funktionalität (z.B. Datenaufbereitung und die GUI) entwickelt werden.
    • Das „BLE Framework“ steht für verschiedene Entwicklungsplattformen zur Verfügung, so dass sich mit ihm effizient Apps für sowohl Android als auch iOS-Geräte entwickeln lassen.

Warum ist redlogix der richtige Partner für diese Aufgabenstellung?

  • Wir bieten unseren Kunden sehr viel mehr als nur die Umsetzung der App für das Smartphone oder Tablet: Neben der App-Entwicklung können wir auch die Implementierung und Target-Integration einer bequem zu verwendenden C-API für den Datenaustausch zwischen der Embedded-Software und der App übernehmen. Das ermöglicht Ihren Entwicklern, sich voll auf die Applikationsfunktionalität des „Main µC“ zu konzentrieren, ohne sich mit Details zur Datenübertragung via BLE (mittels Services und Characteristics) auseinandersetzen zu müssen.
  • Da die BLE-Datenkommunikation mit der Smartphone-App durch die C-API vollständig abstrahiert wird, ergibt sich eine saubere Programmierschnittstelle. Durch sie lassen sich die beiden Teile (die eingebettete Softwareanwendung und die BLE / App-Funktionalität) völlig unabhängig voneinander entwickeln und testen.
  • Durch den Einsatz wiederverwendbarer vorgefertigter Softwaremodule zur Realisierung der BLE-Kommunikation sind wir in der Lage, Prototypen in extrem kurzer Zeit umzusetzen. Auch schon lange bevor die Embedded Software Applikation auf dem „Main µC“ zur Verfügung steht.
  • Anders als die Lösung vieler BLE-Modul-Anbieter, wird die auf dem „BLE µC“ eingesetzte Firmware nicht durch AT-Befehle kommandiert, sondern über ein extrem effizientes Remote Procedure Call (RPC) Protokoll für Embedded Software. Das spart Laufzeit und Codespeicher und erlaubt eine wesentlich effizientere Implementierung als wenn ASCII-AT-Kommandos erzeugt / geparst werden müssen.
  • Mit den von uns vorzugsweise für die App-Entwicklung eingesetzten Frameworks Flutter oder Xamarin lassen sich mit wenig Aufwand sowohl Android als auch iOS-Geräte unterstützen. Bei der grafischen Umsetzung sind dabei keine Grenzen gesetzt.
  • Wir besitzen langjährige Erfahrung in der Entwicklung hardwarenaher Embedded-Softwareanwendungen. Anders als reine App-Entwickler verstehen unsere Mitarbeiter daher die besonderen Herausforderungen in diesem Umfeld und können die Software-Teams unserer Kunden bei Bedarf auch über die Realisierung der Smartphone / Tablet App hinaus unterstützen.

Wenn Sie mehr über diese Lösung erfahren wollen, kontaktieren Sie uns bitte. Wir beraten Sie gerne persönlich - völlig kostenlos und unverbindlich.