Android Things goes medical

Was steckt hinter Android Things?

Der neueste Streich von Google hört auf den Namen Android Things. Hierbei handelt es sich um ein Betriebssystem, das speziell für den Embedded Bereich mit Schwerpunkt auf das Internet der Dinge (IoT) entwickelt wurde. Google hat hierfür die Architektur von Android leicht abgeändert. Das OS bootet nicht in einen Launcher, wie es bei Smartphones der Fall ist, sondern direkt in eine App. Es sind auch keine weiteren Anwendungen vorinstalliert und auch der Google Play Store ist nicht vorhanden. Das Betriebssystem benötigt auch nicht zwingend einen Bildschirm. Außerdem kann nun auf Standardschnittstellen wie UART, SPI, I2C, usw. zugegriffen werden. Dies ermöglicht Entwicklern, Module an das Gerät anzubinden und mit diesen zu kommunizieren.

Wirft man einen Blick auf die neue Architektur (siehe Abb. 1) und vergleicht diese mit der Standard-Architektur von Android (siehe Google), so fällt das neue Modul “Things Support Bibliothek” (TSL) auf. Was bedeutet dieses zusätzliche Modul? In der dargestellten Schichtenarchitektur wurden von mir bewusst zwei Farben ausgewählt. Blau dargestellt werden Komponenten, die von Google verwaltet werden. Das heißt, Google liefert den Code und wartet diesen auch (monatliche Sicherheitspatches). Dies bedeutet aber auch für den Entwickler, dass er die Hardware Abstraktionsschicht (HAL) nicht modifizieren sollte. Deshalb hat Google die TSL eingeführt. Werden Treiber benötigt, z. B. für ein GPS-Modul, kann der Entwickler diese trotzdem programmieren und einbinden. Orange dargestellt sind also alle Elemente, die vom Entwickler verwaltet werden. Dies hat den Vorteil, dass er sich komplett auf die Applikation konzentrieren kann.

Android Things Architektur

Abb. 1: Android Things Architektur

Besonders positive Auswirkungen hat die Architektur auf die Sicherheit. Das System kann von keinem Hersteller nach Belieben abgewandelt werden. Bei Smartphones besteht oft das Problem, das jeder große Smartphone-Produzent Bloatware vorinstalliert und starke Änderungen vornimmt, sodass Updates nur schwierig durchgeführt werden können. Für ein dauerhaft vernetztes IoT- oder Medizingerät ein Horror-Szenario. Sicherheitsupdates werden deshalb immer direkt installiert, sobald diese von Google verfügbar sind und das Gerät mit dem Internet verbunden ist. Natürlich lassen sich auch Zeitpläne einstellen oder Updates blockieren, wenn sich das Gerät im Einsatz befindet. Eine unschöne Vorstellung, wenn das Gerät mitten im OP-Saal die Meldung bringt, das Gerät ist bald wieder verfügbar, bitte warten.

Ihr Ansprechpartner:
B.Eng. Daniel Saffer, System Architekt
E-Mail: saffer@medtech-ingenieur.de
Tel.:  +49 9131 691 240
Benötigen Sie Unterstützung bei der Entwicklung Ihres Medizingeräts? Wir helfen gerne! MEDtech-Ingenieur bietet Hardware-, Software Entwicklung und Systems Engineering aus einer Hand. Nehmen Sie Kontakt auf.

Kontakt aufnehmen

Features

Google wirbt mit einigen Features, die Android Things von anderen IoT-Betriebssystem abheben soll. Durch die große Anzahl an Bibliotheken und fertigen BSP’s soll ein schneller Einstieg möglich sein und die Entwicklungskosten stark reduziert werden. Man muss sich nicht um das Power-Management wie Low-Power-Modi in inaktiven Zuständen kümmern. Das Betriebssystem verwaltet dies selbstständig. Auch die Internetkommunikation ist bei heutigen Medizinprodukten besonders wichtig. Wi-Fi und Ethernet sind deshalb bereits implementiert und können sofort verwendet werden. Die Android Things Konsole ist eine Online-Plattform, auf der alle Builds und Security-Updates verwaltet werden und diese als OTA-Updates an alle Geräte versendet werden können, die mit dem Internet verbunden sind. Die Entwicklung und Testen des OS ist kostenlos. Wird das Produkt veröffentlicht fallen kleine Lizenzgebühren an.

Toolchain

Wer bereits Android-Apps programmiert hat, weiß die kostenlose IDE zu schätzen. Auch Android Things Applikationen können mit Android Studio, der Android SDK und dazugehörigen GUI-Editor entwickelt werden. Eine sehr komfortable Entwicklungsumgebung, mit der schöne Apps designed werden können. Die Programmierung und das Debugging funktionieren drahtlos per WLAN oder per Ethernet. Durch einen eingebauten Ressourcenmonitor hat man stets im Blick wie viel Arbeitsspeicher benötigt wird und wie stark die CPU ausgelastet ist. Alle Android Bibliotheken können auch in Android Things verwendet werden. Einige Services und Intents sind jedoch weggefallen. Mehr hierzu finden Sie auf der offiziellen Seite von Google.

Android Things in Medizingeräten

Auch für Medizingeräte könnte Android Things verwendet werden. Hierzu haben wir bereits einige Tests durchgeführt. In einem vorherigen Blog-Artikel habe ich bereits gezeigt, wie ein EKG-Monitor mit Android Things realisiert (https://medtech-ingenieur.de/ekg-monitor-mit-android/) werden könnte. Dieser EKG-Monitor wird bei MEDtech-Ingenieur für Tests in der Hardwareentwicklung verwendet. Zum Einsatz kommt vorerst ein Raspberry Pi. Per USB CDC können Daten von einem EKG-Prozessor an den Raspberry Pi übertragen werden. Dieser besitzt einen zuschaltbaren 50 Hz Software-Filter und Graphen zur Darstellung des EKG’s. Möchte der Entwickler besondere Ereignisse aufzeichnen und diese später mit MatLab auswerten, kann die aktuelle Darstellung pausiert und als CSV-Datei auf einen USB-Stick abgespeichert werden.

Dieser erste Test hat uns gezeigt, dass die Realisierung eines Medizingeräts mit Android Things möglich und sinnvoll ist. MEDtech-Ingenieur wird zukünftig den Einsatz von Android Things in Medizingeräten weiter verfolgen, um moderne Benutzeroberflächen mit Multitouch und hochauflösenden Bildschirmen für unsere Kunden realisieren zu können.

Auch interessant:

10 Jahre Medizintechnik. Erfahrungsbericht eines Software Teamleiters

Über 10 Jahre Medizintechnik. Was habe ich hier alles gelernt, welche Empfehlungen kann ich geben? Mit dieser Frage kam Goran Madzar auf…

Daniel Saffer

Daniel Saffer studiert Elektro- und Informationstechnik (Master) an der Hochschule Coburg. Zurzeit arbeitet er als Masterand im Ingenieurbüro Madzar und Bosch. Aktuelle Aufgabengebiete umfassen die hardwarenahe Entwicklung in C und die Entwicklung einer skalierbaren GUI-Plattform für medizinische Geräte.

Getagged mit: , , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.