Dienstag, 19. Juli 2011

OSGi und OSAMi auf dem Galaxy SII - erster Teil


Wie man für Android entwickelt, werde ich hier nicht vorstellen. Ich denke, es gibt genug Seiten, die einem Tips und Tricks oder einen Einstieg gewähren - allen voran hilft googeln, Wikipedia, AndroidPit oder aber schlicht auch die Entwicklerseite. Viel mehr beschreibe ich hier den Versuch, eine bestehende App des OSAMi Projekts auf das Galaxy SII zu übertragen.

Worum geht es: Das OSAMi Projekt (Open Source Ambient Intelligence Commons for an Open and Sustainable Internet) ist ein Itea 2 Projekt mit dem Ziel, ambiente Technologien zu entwickeln und Open Source bereit zu stellen. Das deutsche Teilkonsortium testet diese am Beispiel der häuslichen Rehabilitation von Infarktpatienten in einem betreuten Trainingsszenario.

Die Motivation hinter der Idee des deutschen Teilkonsortiums ist, dass die meisten Patienten nach einem Herzinfarkt nicht am Herzsport teilnehmen. Dieser ist jedoch wichtig, um das Herz zu trainieren und Nachhaltigkeit der stationären Rehabilitation zu schaffen. Beim Ausbleiben des Sports befindet sich der Körper sonst innerhalb kürzester Zeit wieder in dem gesundheitlichen Zustand wie vor dem Herzinfarkt. Aus diesem Grund entwickelt das Projekt einen Heimtrainer, der die Trainingspläne des Patienten direkt von der Klinik auf den Heimtrainer hoch lädt und so den Herzsport in den eigenen vier Wänden erlaubt. Der Patient trägt dabei verschiedene medizinische Sensoren wie EKG, Blutdruckmanschette und Pulsoximeter, so dass die sogenannten Vitalparameter permanent überwacht werden. Per Termin verabredet man sich mit dem begleitenden Arzt, der das Training aus der Klinik heraus überwacht und anpasst. Damit wird Verbindlichkeit und Sicherheit geschaffen.

Was hat das nun mit dem Galaxy zu tun? Eine Teilbereich des Projekts hat sich auch damit beschäftigt, den Herzsport nach draußen zu verlegen. Manche Menschen mögen lieber draußen spazieren gehen oder wandern als drinnen auf einem Rad zu strampeln. Das ist für das Herz genauso gut. Aus diesem Grund wurden die medizinischen Sensoren an ein Smartphone gebunden, um dann per Smartphone den Gesundheitszustand zu überwachen und bei Überanstrengung zu warnen.

Die Entwicklung auf dem Smartphone für Android 2.2 wurde auf dem HTC Desire und dem Vorgängermodell des SII getestet. Das Problem bei diesen Geräten war, dass es vor allem bei der grafischen Anzeige von den vielen EKG Daten nicht hinterher gekommen ist. Ein super Testfall für das Galaxy SII mit den zwei Prozessoren.

Die gesamte Entwicklung und Anbindung der Sensoren erfolgt über OSGi. OSGI ist eine hardwareunabhängige dynamische Softwareplattform, die Komponenten basierte Entwicklung erlaubt. Die einzelnen Komponenten laufen innerhalb eines Frameworks. Folglich war der erste Schritt, dass Framework auf dem SII zum Laufen zu bringen. Dazu haben wir das SII an einen Linux-Rechner angeschlossen. Während Kies der Vorgängerversion noch Probleme mit dem Anschluss an Linux hatte, funktioniert das dieses Mal ohne Probleme und das SII wird auch unter Linux ohne Murren angezeigt. Schnell lässt sich das SII mit Eclipse verbinden, nachdem wir das USB Debugging auf dem SII aktiviert haben. Anschließend wird OSGi Framework und die OSAmi-Grund App auf das Gerät übertragen.

Als nächstes wird das OSGi Framework gestartet. Hier warnt mich der Kollege aus dem Projekt, dass ihm sein altes Gerät beim ersten Start immer ohne einen konkreten Grund abgestürzt ist. Das Framework startet auf dem Galaxy SII jedoch fix und ohne Probleme. Der Dienst lässt sich beliebig starten und beenden. Der Service Status ist bequem abfragbar.

Da OSGi die Komponenten basierte Entwicklung erlaubt, werden nun die Komponenten nach installiert, die für ein minimales Setup ausreichen. Immerhin wollen wir kein komplettes Training mit dem Gerät absolvieren, sondern nur die Ansicht des EKGs testen. Auch das kann direkt per USB Verbindung über Eclipse erfolgen. Die Ausgabe von Exceptions ist verbessert worden und leichter nachvollziehbar - jede Komponente wirft eine Ausnahme (Exception), sollte ihr eine andere Komponente zur Ausführung fehlen.


















Am Ende habe ich sowohl den OSGi Dienst als auch die OSAmi App auf dem Gerät installiert und bin gespannt auf das erste Starten! Leider endet hier auch direkt der Test. Die App startet zwar, der Bildschirm bleibt jedoch schwarz. Auf dem Linux Rechner bekommen wir die Exception angezeigt, dass eine Textausgabe nicht ordnungsgemäß erfolgen kann. Scheinbar hat sich zwischen Android 2.2 und 2.3 etwas in der OSGi Framework-Bibliothek getan. Diese Bibliothek ist für uns nicht zugänglich, so dass wir den Fehler so erstmal nicht beheben können. Wir haben aber bei den Entwicklern von OSGi nachgefragt und warten gespannt auf eine Antwort.

Keine Kommentare:

Kommentar veröffentlichen