18. Januar 2012

Android in der Industrie

Smartphone-Technik in rauer Umgebung

Nachdem das Betriebssystem Android im privaten und geschäftlichen Bereich die Smartphone-Welt erobert hat, dringt es als Betriebssystem nun auch in industrielle Anwendungen ein. Starke Hardware sorgt für grafische Benutzeroberflächen, die den heutigen Sehgewohnheiten für moderne Schnittstellen entsprechen.
Das Betriebssystem Android ist im Bereich der Smart Phones führend. Je nach Marktforschungsinstitut liegt der Marktanteil mittlerweile bei über 60%. Dies ist dem Umstand zu verdanken, dass – aufgrund des Open Source-Gedanken – jeder das System nutzen kann, ohne bei einem Hersteller nach einer Erlaubnis fragen zu müssen. Das weckt auch Begehrlichkeiten in der Industrie. Das Betriebssystem oder Operating System (OS) ist im Prinzip ein Software-Stack für mobile Endgeräte, das ein Betriebssystem, Middleware und die wichtigsten Applikationen enthält. Android basiert auf dem Linux-Kernel 2.6, der grundsätzliche Dienste wie Speicher- und Prozessverwaltung, Netzwerk-Stack und Gerätetreiber bereitstellt. Das OS wird von der Open Handset Alliance spezifiziert und entwickelt, deren wichtigstes Mitglied Google ist. Mussten sich Entwickler in den vergangenen Jahren optisch nicht besonders schönen oder recht umständlichen Betriebssystemen und Oberflächen auseinandersetzen, verspricht Android eine schnelle Umsetzung ansprechender Benutzeroberflächen: Während Programme für Linux-Systeme meist in C oder C++ geschrieben werden, erstellt man fast alle Programme für Android in Java. Diese werden bei dem OS von der virtuellen Maschine (VM) Dalvik ausgeführt. Im Gegensatz zur normalen Java-VM kann Dalvik allerdings keinen Java Byte Code interpretieren, sondern braucht noch einen Zwischenschritt: Der Dalvik Cross-Assembler (dx) erzeugt den notwendigen Dalvik Byte Code. Dalvik wurde speziell auf Geschwindigkeit und kleinen Speicherbedarf getrimmt, da Prozessorleistung und Speichergröße der Ziel-Hardware meist recht eingeschränkt ist.

Klonen für mehr Systemsicherheit

Es ist zwar auch möglich direkt C-Code für Android zu programmieren, dieser wird allerdings in der Praxis nur für geschwindigkeitskritische Programme wie Bibliotheken angewandt. Um nativen Code der Bibliotheken in der VM auszuführen gibt es das Java Native Interface (JNI). Jede Android-Applikation läuft als einzigartiger Linux-User in ihrem eigenen Prozess und in ihrer eigenen Instanz der Dalvik VM. Dabei wird aber Dalvik nicht jedes Mal neu gestartet, sondern von einem Prozess namens Zygote geklont. Dadurch erhöht sich die Sicherheit des Systems, da jede Applikation nur auf ihre eigenen Komponenten zugreifen kann. Es ist zwar auch möglich, auf Gerätedaten wie die Kontakte, SD-Karte oder die Kamera zugreifen, allerdings müssen die Rechte hierfür bereits bei der Installation der Anwendung eingeholt und erteilt werden. Zur Inter-Applikationskommunikation hat das OS eine angepasste Version von Binder an Bord, die sich um diese Belange kümmert. Einen großen Vorteil von Android gegenüber Embedded Linux bietet die mitgelieferte Grafikfähigkeit: In der Vergangenheit mussten ansprechende Benutzeroberflächen mit Hilfe von GTK+ oder Qt umständlich selbst gebaut werden. Android nimmt den Programmierern diese Arbeit komplett ab. Dennoch gilt es, die grafische Oberfläche der eigenen Anwendung zu designen.

Hardware sucht Anschluss

Ein grafisches Betriebssystem wie Android lebt von leistungsstarker Hardware. Es existieren zwar Implementierungen auf älteren ARM Prozessoren mit wenig Speicher – viel Vergnügen haben die Anwender damit aber nicht. Digis ConnectCore Wi-i.MX53 Plattform basiert auf einem Freescale i.MX53 ARM Cortex-A8 Chip, der mit bis zu 1GHz getaktet ist. 2GB DDR-SDRAM und bis zu 8GB NAND-Flash ergänzen das Modul. Eine Besonderheit der Module von Digi sind das integrierte WLAN. Durch die direkte Anbindung auf dem Modul und die damit verbundene treiberseitige Integration in das Android-Image, ist für gutes Zusammenspiel zwischen Hard- und Software gesorgt. Aber nicht nur der WLAN-Treiber wurde extra angepasst: Da Android ein ‚drahtloses Betriebssystem‘ ist, entwickelte Digi für die Ethernet-Schnittstelle einen eigenen Treiber. Es werden aber auch alle weiteren Kommunikationsschnittstellen sowie bis zu zwei Displays unterstützt. Damit die Software-Entwicklung reibungslos funktioniert, hat Digi in die eigene Eclipse-basierte IDE (Digi ESP) in das Android Software Developement-Kit integriert. Zusätzliche Hilfeseiten und Beispielprojekte sorgen für einen schnellen Einstieg in die Android-Programmierung.

Seiten: 1 2Auf einer Seite lesen

Ausgabe:
www.atlantik-elektronik.com

Das könnte Sie auch interessieren