Steuerung eines 3D-Druckers mit mobilen Endgeräten

Größe: px
Ab Seite anzeigen:

Download "Steuerung eines 3D-Druckers mit mobilen Endgeräten"

Transkript

1 Steuerung eines 3D-Druckers Bachelorarbeit vorgelegt von: Fachbereich: Robert Bremer Elektrotechnik und Informatik Matrikelnummer: Erstgutachter: Zweitgutachter: Prof. Dr. Christian Bunse Prof. Dr. Michael Koch 2013 Dieses Werk einschließlich seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtgesetzes ist ohne Zustimmung des Autors unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen sowie die Einspeicherung und Verarbeitung in elektronischen Systemen.

2 Inhaltsverzeichnis Inhaltsverzeichnis Abkürzungsverzeichnis Glossar Abbildungsverzeichnis Tabellenverzeichnis Verzeichnis der Listings IV VI VII VIII IX 1. Einleitung 1 2. Stand der Technik Mobile Computing Anwendungen und Fähigkeiten Ähnliche Lösungen Grundlagen D-Drucker Aufbau Elektronik Kommunikation Printersoftware Printrun Google Android Grundlagen Android Technologie Analyse Auswahl der mobilen Plattform Verbreitung und Verfügbarkeit Schnittstelle Fazit Robert Bremer I

3 Inhaltsverzeichnis 4.2. Anforderungsdefinition Funktionale Anforderungen Nichtfunktionale Anforderungen Architektur und Implementierung Klassenstruktur Paket GUI Klasse MainActivity Klasse SettingsActivity Paket printer Klasse Printer Klasse Printcore Paket webserver Paket helper Berechtigungen Externe Bibliotheken UsbSerialLibary FileExplorer DropboxChooserSdk Konfiguration der Entwicklungsumgebung und SDK Anwendungstest Oberflächentest Funktionstest Stresstest Fazit und Ausblick 46 Literaturverzeichnis 48 Eidesstattliche Erklärung 51 A. Anhang i B. Bilder und Listings ii C. Aufzählungen und Tabellen iii C.1. Vom Autor verwendete Software iii C.2. Endgeräte Kompatibilität iv Robert Bremer II

4 Inhaltsverzeichnis D. Quellcode v Robert Bremer III

5 Abkürzungsverzeichnis Abkürzungsverzeichnis API Application Programming Interface CAD Computer Aided Design CDC/ACM Communications Device Class / Abstract Control Model DDMS DTR DVM Dalvik Debug Monitor Server Data Terminal Ready Dalvik Virtual Machine FDM Fused Deposition Modeling I 2 C Inter-Integrated Circuit IC Integrated Circuit IDE Integrated Development Environment KiB Kibibyte MiB Mibibyte NC Numerical Control OHA Open Handset Alliance RAMPs RepRap Arduino Mega Pololu Shield RepRap Replicating Rapid-prototyper Robert Bremer IV

6 Abkürzungsverzeichnis SDK Software Development Kit UART Universal Asynchronous Receiver Transmitter USB Universal Serial Bus USB OTG USB On-The-Go XML Extensible Markup Language Robert Bremer V

7 Glossar Glossar Communications Device Class / Abstract Control Model Ein herstellerunabhängiges, öffentlich dokumentiertes Protokoll zur Emulation von seriellen Schnittstellen über USB. IV, 38 Dalvik Debug Monitor Server Werkzeug zum Analysieren und Steuerndes Verhaltens von Android Apps als Teil des Android SDK. IV, 45 Dalvik Virtual Machine Laufzeitumgebung für Geräte mit geringen Hardwareressourcen wie z. B. mobile Endgeräte. Die DVM wurde von Google entwickelt um in Android Verwendung zu finden. IV, 16 USB On-The-Go Eine Host-Funktion mit eingeschränkten Fähigkeiten, die die Kommunikation des Gerätes mit Peripherie ermöglicht.vgl. [Axelson 2007] Die Rolle von Host und Slave kann je nach Anwendungsfall von den Komponenten ausgehandelt werden. V, 20 Robert Bremer VI

8 Abbildungsverzeichnis Abbildungsverzeichnis 3.1. ArduinoMega Printrun Benutzerschnittstelle Schichtenarchitektur Projektstruktur MainActivity auf Smartphone MainActivity auf Tablet USB Verbindungsanfrage SettingsActivity auf Smartphone und Tablet Aktivitätsdiagramm Druckverlauf File Explorer Auswahldialog Dropbox Chooser Drop-in Klassendiagramm ProDroid Robert Bremer VII

9 Tabellenverzeichnis Tabellenverzeichnis 3.1. G-code Beispielzeile Betriebssysteme Marktanteil IDC Q Robert Bremer VIII

10 Verzeichnis der Listings Verzeichnis der Listings 3.1. Antwort auf Prüfsummenfehler Geräte-Id aus device_filter.xml Verbindungsaufbau zu USB mit UsbManager FileDialog Aufruf Dropbox Chooser Instanziierung Dropbox Chooser Aufruf B.1. Serielle Daten lesen mit SerialInputOutPutManager ii B.2. Verbindungsaufbau zu USB mit UsbManager ii Robert Bremer IX

11 1. Einleitung 1. Einleitung Mit der zunehmenden Verbreitung des Mobile Computing entwickelt sich auch der Wunsch, Anwendungen und Funktionen die bisher dem PC vorenthalten waren auf Mobilen Endgeräten zu nutzen. Geräte wie Tablet-Computer und Smartphones mit großen Bildschirmen bieten den Nutzern heute die Möglichkeit, weitestgehend als Ersatz eines herkömmlichen PC oder Laptop zu dienen. Überwiegend werden diese Endgeräte zur Kommunikation, zum Medienkonsum, als persönliche Assistenten oder einfach als Spielplattform genutzt, jedoch existieren im professionellen Umfeld heute immer mehr Anwendungen wie z. B. vollständige Entwicklungsumgebungen für Tablet-Computer, Büroanwendungen oder Diagnoseschnittstellen und -systeme für Fahrzeugsteuergeräte. Sie bringen heutzutage viele Ressourcen und Schnittstellen mit, welche die Integration mit anderen Systemen sowie Komponenten ermöglichen und so zur Erweiterung der Anwendungsoptionen beitragen. Die Nutzung von Smartphones und Tablet-Computern ist daher nicht nur für Privatanwender sondern auch für Technikenthusiasten und das Small Business von großem Interesse. In ebendieser Anwendergruppe entwickelten sich etwa zeitgleich mit der Verbreitung der mobilen Endgeräte auch die Open Source Rapid Prototyper, auch 3D-Drucker genannt, wie der Replicating Rapidprototyper (RepRap) oder der Makerbot. Mit 3D-Druckern ist die Entwicklung und Fertigung von komplexen Werkstücken aus vielfältigen Materialien für fast jedermann erschwinglich und populär geworden. Üblicherweise muss solch ein 3D-Drucker, wie der im Fachbereich vorhandene Mendel Prusa, von einem PC oder Laptop mit Daten zum Drucken gespeist werden. Hierzu muss ein Rechner dezidiert im Labor betrieben werden um diese Aufgabe zu übernehmen. Jedoch wäre es möglich, diese Rolle von einem mobilen Gerät erfüllen zu lassen um Ressourcen zu sparen und den Einsatz des Druckers flexibler zu gestalten. Robert Bremer 1

12 1. Einleitung Mobile Betriebssysteme und Frameworks bringen interessante Funktionen zur Integration und Verwendung von Cloud- und Netzwerkdiensten mit, die zur Unterstützung des Nutzers eingesetzt das Ausdrucken vereinfachen können. Durch den Einsatz eines kostengünstigen und stromsparenden mobilen Endgerätes ist es möglich, den zum Steuern genutzten PC einzusparen, dadurch können Ressourcen gespart und der Platzbedarf des 3D-Druckers deutlich reduziert werden. Durch eine einfache Benutzeroberfläche kann die Anwendung helfen, den Prozess des Ausdruckes zu vereinfachen und für neue Benutzergruppen zu erschließen. Ziel dieser Bachelorarbeit soll es demnach sein, nachzuweisen, dass mit Hilfe eines Tablet-Computers bzw. Smartphones Objekte auf 3D-Druckern gefertigt werden können. Hierbei sind die Anforderungen an mobile Anwendungen und die Besonderheiten der mobilen Betriebssysteme zu beachten, um korrekte Druckergebnisse zu erzeugen sowie eine gute Benutzererfahrung zu bieten. Es sollen die Varianten der Verbindung zwischen einem mobilem Gerät und Drucker evaluiert, als auch aus den unterschiedlichen Plattformen eine geeignete ausgewählt werden. Danach soll in einer Implementation die Funktionen zum Drucken, Konfigurieren und Überwachen des Drucks die Machbarkeit gezeigt werden. Angestrebt ist, die Kompatibilität zu möglichst vielen mobilen Geräten zu ermöglichen und Veränderungen oder Erweiterungen an Hard- und Software des 3D-Druckers zu vermeiden. Wesentliche Teile der Arbeit sind die Evaluierung der zu Grunde liegenden Technologien, die Ableitung und Analyse der Anforderungen aus der Zielsetzung, Konzeption und Entwurf einer mobilen Applikation sowie eine Implementation die sich aus den gewonnenen Ergebnissen ableitet. Es wird angestrebt, die Anwendung zu einem späteren Zeitpunkt zu veröffentlichen und die Quellen der Entwicklergemeinde zur Verfügung zu stellen, um der Open Source Orientierung des RepRap zu folgen. Robert Bremer 2

13 1. Einleitung Um die Umsetzung der Ziele und Anforderungen zu verdeutlichen, wurde die Arbeit in 7 Kapitel aufgeteilt. Nach dem einleitenden Teil wird im Kapitel 2 Stand der Technik ein Überblick über die derzeit verfügbaren Anwendungen von mobilen Endgeräten und dem Mobile Computing gegeben und schließlich bereits vorhandene oder geplante Lösungen für ähnliche Problemstellungen wie die vorliegende erläutert. Daraufhin wird mit dem Kapitel 3 Grundlagen der Unterbau der zu Grunde liegenden Technologien ausgearbeitet und vorgestellt. Dabei wird beschrieben, wie 3D-Druck funktioniert und welche Hard- und Software dabei eingesetzt wird. Besonderes Augenmerk liegt dabei auf der Art der Kommunikation mit dem Computer. Daraufhin wird die mobile Plattform Android und einige Besonderheiten bei der Entwicklung von Anwendungen dafür vorgestellt. Nach den Grundlagen werden im Kapitel 4 Analyse die Rahmenbedingungen und die Anforderungen an die Anwendung erarbeitet und formuliert. Dabei soll zunächst ein Überblick über die verfügbaren mobilen Plattformen entstehen, und die Fähigkeiten der vorgestellten Plattformen gegenübergestellt werden. Daraufhin werden die Funktionalen und Nichtfunktionalen Anforderungen an die Anwendung aus den Zielen abgeleitet. Die Umsetzung der Anforderungen wird in Kapitel 5 Architektur und Implementierung anhand der Architektur der Anwendung vorgestellt. dabei wird zunächst ein Überblick über die Struktur gegeben, um im Folgenden die einzelnen Programmkomponenten und ihre Aufgaben erläutern zu können. Es werden sowohl Programmfunktionen, als auch die Nutzeroberfläche anhand ihrer Implementation vorgestellt. Ebenso werden die verwendeten externen Komponenten in Form von Bibliotheken einzeln im Detail erläutert und ihre Integration in die Anwendung beschrieben. Das Kapitel 6 Anwendungstest beschreibt die Prüfung der Anwendung auf Erfüllung der Anforderungen und allgemeine Qualitätsmerkmale sowie welche Testarten durchgeführt wurden. Im Kapitel 7 Fazit und Ausblick wird ein Fazit des Projektverlaufes gezogen und die erstellte Anwendung mit den zuvor definierten Zielen verglichen. Ebenso werden Anfangs aufgetretene Probleme bei der Implementation aufgezeigt, sowie welche Lösungen gefunden wurden. Ein Ausblick auf mögliche Erweiterungen und die Zukunft der Anwendung beenden dieses Kapitel. Robert Bremer 3

14 2. Stand der Technik 2. Stand der Technik Der klassische Anwendungsfall eines Smartphones, die Kommunikation mit anderen Nutzern wird durch die flächendeckende Verfügbarkeit des mobilen Internets über Zellulare Mobilfunknetze wie GPRS, UMTS, HSDPA oder LTE auf vielfältige Art erweitert. Kommunikation kann über Sprache und Text sowie über Multimediaformate wie Videotelefonie und Transfer von Daten aller Art erfolgen. Tablet-Computer verfügen ebenfalls über eine Reihe von Funkschnittstellen und können ortsungebunden kommunizieren, durch ihre Größe und zur Verfügung stehende Ressourcen sind sie in der Regel leistungsfähiger, jedoch ähnlich mobil einsetzbar wie Smartphones. Dieses Kapitel soll einen Überblick über einige Begriffe, sowie die aktuellen Fähigkeiten der mobilen Geräte geben und die vorliegende Arbeit und ihre Ziele einordnen. Anschließend wird auf vergleichbare Projekte und Lösungen eingegangen und mit diesem Projekt verglichen Mobile Computing Das Mobile Computing, in diesem Sinne die Datenverarbeitung auf einem tragbaren Computer, rückt mit zunehmender Verbreitung der Endgeräte wie Smartphones oder Tablet-Computern in den Massenmarkt und durchdringt viele Lebensbereiche der Benutzer. Eine genaue Definition des Begriffes ist aufgrund der Vielseitigkeit und der unterschiedlichen Arten von Geräten und Anwendungsmöglichkeiten schwierig, Teilaspekte des Gebietes sind jedoch klarer abgegrenzt und wurden in der Literatur Vgl. [Weiser 1991] bereits bestimmt. Häufig wird das Ubiquitous Computing, die Rechnerallgegenwart als Aspekt des Mobile Computing genannt. Es wurde bereits Anfang der 1990er Jahre von Mark Weiser Vgl. [Weiser 1991] postuliert und geht davon aus, dass der Computer als einzelnes, größeres Gerät durch unterschiedlichste kleinere Varianten von Computern ersetzt werden Robert Bremer 4

15 2. Stand der Technik wird. Mehrere Laptops, Tablet-Computers, Terminals oder Telefone sollen an jedem Ort für den Nutzer verfügbar sein und sich in sein Leben integrieren. Hierzu ist auch folgendes Zitat von 1995 zu betrachten, welches auf die aktuellen Entwicklungen erstaunlich zutreffend ist. Leichte, tragbare aber dennoch leistungsfähige Rechner werden drahtlos vernetzt und transparent in Kommunikations- und Informationsinfrastrukturen eingebunden. [Diehl 1995] Besonders die Aspekte Leistungsfähigkeit und Vernetzung werden bereits heute von kostengünstigen Geräten erfüllt und ermöglichen den mobilen Einsatz der Geräte zur umfassenden Datenverarbeitung Anwendungen und Fähigkeiten Mobile Endgeräte können zur Kommunikation mit anderen Nutzern über unterschiedliche Kanäle wie Sprache, Bild oder Video genutzt werden, Datenübertragung allgemein von einem Nutzer zum anderen ist mit zunehmender Entwicklung der Geräte kaum an Formate und feste Inhalte gebunden. Weiterhin werden Smartphones und Tablets zum Konsum von Medien und Informationen wie z. B. Musik, Filmen oder Büchern oder Nachrichten genutzt. Diese Medien sind dank der Portabilität überall verfügbar und flexibel zu konsumieren. Auch zum kreativen Einsatz und zum Erzeugen von Inhalten sind die heutigen Geräte einsetzbar. Hochauflösende Kameras und Bildbearbeitungsprogramme ermöglichen das Generieren und Bearbeiten von Multimedialen Inhalten ohne im Büro oder vor dem heimischen PC zu sitzen. Ebenso wie Multimediale Inhalte lassen sich Büroaufgaben erledigen, Dokumentenerstellung, Kalkulation oder Präsentationen lassen sich auf mobilen Endgeräten erstellen und bearbeiten. In den vorgenannten Anwendungsfällen und Funktionen lassen sich durch den Einsatz von Smartphones oder Tablets stationäre oder dezidierte Geräte, wie PC oder Laptop, ganz oder teilweise ersetzen. Mobile Endgeräte sind in der Lage, über kabelgebundene und kabellose Schnittstellen zu interagieren, dies ermöglicht viele weitere Anwendungen für diese Robert Bremer 5

16 2. Stand der Technik Geräteklasse. So ist die Wiedergabe des Bildschirminhalts auf einem externen Monitor oft möglich, was das mobile Gerät zum Medienplayer oder Heimkino macht. Aber auch abseits des Medienkonsums finden sich viele Funktionen. So lassen sich mittels Bluetooth und der Fahrzeugdiagnoseschnittelle in PKW Informationen über das Fahrzeug auslesen und graphisch aufbereiten, zusammen mit der Sensorik der mobilen Endgeräte dienen sie als erweiterte Navigationssysteme mit Diagnosefunktion und Fehlerfindung im Fahrzeug. Auch im Bereich der Heimautomatisierung sind heute mobile Endgeräte als Visualisierungs- und Steuerungseinheiten im Einsatz. So lassen sich Heizungen und Lüftungsanlagen, sowie Licht oder Rollläden vom Smartphone steuern. Viele aktuelle Drucker mit kabellosen Schnittstellen bieten die Funktion, direkt vom Smartphone aus Dokumente auszudrucken, somit werden diese Geräte zu einem fast vollwertigen Office-Werkzeug. Auch der 3D-Druck ist bereits bei normalen Konsumenten angekommen, dies zeigt der aktuelle Verkauf solcher Geräte bei Elektronik- und Unterhaltungselektronikversendern wie Conrad und Pearl. Es existieren bereits Anwendungen um den 3D-Druck zu verbinden, sie werden teilweise von den Anbietern der Hardware entwickelt oder als Erweiterungen der bestehenden Software in der Open Source Gemeinschaft entwickelt Ähnliche Lösungen Im Folgenden werden einige Projekte vorgestellt, die ähnliche Ziele wie das Gegenständliche verfolgen und bei der Recherche im Vorfeld gefunden wurden. Die Eigenschaften werden dabei kurz aufgezählt. Android Bluetooth Reprap App Der Entwickler der Android Bluetooth Reprap App hat eine Android App entwickelt, die über Bluetooth Daten an einen RepRap übertragen kann. Hierzu muss der Drucker mit einem Bluetooth-Modul ausgerüstet und eine Spezielle Firmware verwendet werden. Die Anwendung befindet sich in einem frühen Stadion und ist im Quellcode auf der Projektseite einsehbar. Robert Bremer 6

17 2. Stand der Technik Nur Bluetooth, separates Bluetooth Modul nötig Firmwareabhängig laut Aussage des Entwicklers instabil Reproid Mit Repdroid ist eine Anwendung in der Wissenssammlung von reprap.org angedacht, die Daten von einem Android Gerät an den RepRap senden kann. Es handelt sich dabei um eine kurze Sammlung von Ideen zu dem Thema. reines Konzept im RepRap wiki MakeMendel.com MakeMendel ist ein Hersteller von 3D-Druckern und Anbieter von Druckdiensten. Mit Rapid3dPrint bietet er eine Android Anwendung an, mit der die 3D-Drucker des Herstellers bedient werden kann. Die Anwendung ist zurzeit als Betaversion verfügbar und soll über den USB-Host Anschluss eine Verbindung herstellen können. Es handelt sich um proprietäre Software, die nicht im Quellcode vorliegt und offenbar nur auf MakeMendel-Druckern lauffähig ist. Auf vorhandener Hardware kommt es beim Start zum Absturz. ebenfalls Druck über USB-Schnittstelle Closed Source u. proprietär nur für MakeMendel Drucker geeignet Diese Arbeit unterscheidet sich von den vorhandenen Projekten dahingehend, das sie nicht proprietär ist und gleichzeitig keine Hardware-Anpassungen auf Seiten des Druckers erfordert. Sie spricht somit potentiell eine wesentlich größere Nutzergruppe an und ermutigt Anwender zum Ausprobieren, da keine weiteren Komponenten, wie Bluetooth-Erweiterungen oder ähnliches notwendig sind, die Hürden für den Einsatz der Anwendung aufbauen. Robert Bremer 7

18 3. Grundlagen 3. Grundlagen Im Kapitel Grundlagen wird zunächst die Technologie des 3D-Drucks vorgestellt, es wird dabei auf Geschichte, Aufbau und die Details der Hard- und Software, insbesondere die Kommunikation zwischen Arduino und PC, eingegangen. Anschließen wird das mobile Betriebssystem Google Android vorgestellt und seine Fähigkeiten sowie Besonderheiten erläutert D-Drucker Der moderne Prototypenbau ist seit den 1980er Jahren als Fertigungsverfahren unter dem Namen Rapid Prototyping in der Industrie bekannt. Er sollte die kostengünstige Herstellung von Werkstücken oder Mustern aus CAD-Daten weitestgehend ohne manuellen Eingriff ermöglichen Vgl. [Fastermann 2012, S. 5]. Grundlegend handelt es sich bei den verwendeten Fertigungsverfahren laut DIN 8580 um Verfahren, bei denen aus einem formlosen Stoff ein fester Körper hergestellt wird. Diese, unter dem Begriff Urformen zusammengefasste Technologie, lässt sich weiter in spezielle Verfahren unterteilen. Für diese Arbeit ist insbesondere das Fused Deposition Modeling (FDM) von Interesse. Hierbei wird das Werkstück schichtweise aufgebaut, indem Kunststoff in einer beheizten Düse verflüssigt und in dünnen Fäden auf das bereits erstarrte Material aufgetragen wird Vgl. [Fastermann 2012, S. 120]. Den Sprung von der industriellen zur privaten Nutzung machte die Technologie erst mit dem Aufkommen kostengünstiger Mikroprozessoren und der Entwicklung von Open Source 3D-Druckern. Im Jahr 2004 erfand Adrian Bowyer mit dem RepRap einen kostengünstigen Rapid Prototyper, der nach dem FDM Verfahren arbeitet und sich zu etwa 50% selbst replizieren kann Vgl. [RepRap a]. Das bedeutet tatsächlich, dass ein Rapid Prototyper die wichtigsten Teile Robert Bremer 8

19 3. Grundlagen selbst herstellen kann, um einen neuen Rapid Prototyper zu bauen. Die restlichen Teile sind weltweit leicht zu beschaffen, da es sich um häufig verwendete Komponenten handelt. In der Fachhochschule Stralsund wurde ein Mendel Prusa von der German Rep Rap Foundation beschafft. Er entspricht größtenteils dem originalen RepRap Design, es wird jedoch eine an die Hardware angepasste Firmware verwendet Aufbau Der für dieses Projekt genutzte RepRap Mendel Prusa besteht im Wesentlichen aus folgenden Bauteilen: - Rahmen aus Gewindestangen und Kunststoffteilen, - in Y-Achse bewegliches Druckbett mit Heizung, - in X und Z-Achse bewegliche Extruderdüse mit Heizung, - Optische X,Y,und Z Anschläge, - Elektronik zur Steuerung, - 4 Schrittmotoren. Die Kunststoffteile können dabei vom Hersteller bezogen werden, oder auf einem 3D-Drucker ausgedruckt werden. Eine komplette Liste der Bauteile des Mendel Prusa ist auf der RepRap Projektseite [RepRap d] zu finden Elektronik Hardware Die Steuerung der Schrittmotoren, Kommunikation mit dem Host sowie die Überwachung und Steuerung der Temperaturen wird beim RepRap durch einen ArduinoMega2560 realisiert. Arduino ist, wie der RepRap, eine quelloffene Plattform um Elektronik Prototypen zu entwickeln [Arduino]. Durch den einfachen Aufbau und schnell zu erlernende Software ist er besonders für Künstler und Hobbyanwender gedacht, Robert Bremer 9

20 3. Grundlagen ungeachtet dessen durch die Leistungsfähigkeit auch für anspruchsvollere Projekte geeignet. Die Hardware besteht aus einem Mikrocontrollerboard basierend auf dem ATmega2560. Dieser Mikrocontroller ist mit 16MHz getaktet und verfügt über 256 Kibibyte (KiB) Programmspeicher. Er bietet zahlreiche digitale und analoge Pins und unterstützt serielle Übertragung, wie z. B. Inter- Integrated Circuit (I 2 C)-Kommunikation. Der Arduino lässt sich mittels Universal Serial Bus (USB) mit einem Computer verbinden, um die Firmware und die Druckkommandos zu übertragen. Hierzu ist ein FTDI FT232RL USB Universal Asynchronous Receiver Transmitter (UART) verbaut, der die Brücke zwischen dem USB und dem seriellen Interface bildet. Auf dem verwendeten RepRap wird zum Herstellen der Verbindung zu den Aktoren und Sensoren noch eine Platine, genannt RepRap Arduino Mega Pololu Shield (RAMPs), verwendet. Sie besteht überwiegend aus der notwendigen Leistungselektronik zum Ansteuern der Schrittmotoren. Abbildung 3.1.: ArduinoMega2560 (Quelle: Robert Bremer 10

21 3. Grundlagen Andere Varianten des RepRap werden mit abgewandelten Mikrocontrollerboards betrieben, die teilweise nur aus einer Platine bestehen und ebenfalls auf ATMega Mikrocontrollern basieren. Der USB UART ist auch bei diesen ein FT232RL wie er im dem ArduinoMega2560 zum Einsatz kommt. Alternative Platinen sind z. B. : Sanguinololu auf Basis ATMEGA644P oder ATMEGA1284 mit Integrierter Leistungselektronik Ultimaker s PCB Arduino Mega Shield für den Ultimaker Drucker Generation 6 Electronics die Komplette Elektronik auf einem Board basierend auf ATMEGA644 Zur seriellen Kommunikation bietet die Arduino Plattform mehrere Möglichkeiten an: USB-Anschluss, Arduino agiert als Slave, die RX/TX Pins, Verwenden eines Arduino ADK mit Android USB Accessory Port. Der Arduino ADK basiert auf dem Arduino Mega 2560 und ist um einen USB- Host Anschluss und den MAX3421e IC erweitert. Er dient dazu, sich mit einer Vielzahl von USB-Geräten zu verbinden. So ist es möglich, als Host für Smartphones, Kameras, Keyboards etc. zu agieren. Hierzu muss die Firmware den Verbindungsaufbau und die Kommunikation über diesen Port realisieren Firmware Die Firmware des Arduino verarbeitet die Kommandos, reagiert auf die Sensorik des Druckers und kommuniziert mit dem Host. Hierzu gibt es mehrere Firmware-Varianten, die sich in Funktionsumfang, Leistungsfähigkeit und zu Grunde liegender Technologie unterscheiden. Der im Projekt verwendete RepRap benutzt eine, von der GermanRepRap GmbH angepasste Firmware. Diese kann über die Webseite des Herstellers konfiguriert und heruntergeladen werden. Sie basiert, wie die meisten RepRap Firmwares, auf Sprinter, einer Open Source Firmware, einthält jedoch Anpassungen und Optimierungen für die Hardware. Robert Bremer 11

22 3. Grundlagen Kommunikation Die Kommunikation zwischen Rechner und Drucker erfolgt auf Grundlage serieller Übertragung über den USB-Port des Arduino. Der Rechner agiert dabei als USB-Host und der Arduino als USB-Slave. Hierbei wird der Arduino vom Host mit der Betriebsspannung versorgt, zusätzlich zur Versorgungsspannung des Druckernetzteils. Die Firmware des RepRap erwartet die Kommandos als so genannte G-code- Befehle, wie sie in dem Dokument NIST RS274NGC Interpreter Version 3 [Frederick u. a. 2000] beschrieben werden. G-code ist eine Programmiersprache für Numerical Control Numerical Control (NC) Maschinen, welche im Bereich der Automation und Computer Aided Design (CAD) weit verbreitet ist. Es handelt sich dabei um eine Eingabesprache, die auf Zeilen basiert, jede Zeile wird dabei als ein Block interpretiert und weist den Drucker an, eine bestimmte Aktion auszuführen. Mehrere Zeilen G-code bilden ein Programm, welches an den Drucker übertragen wird und ihn zu einer Abfolge von Aktionen veranlasst. Durch diese Aneinanderreihung entsteht Schicht für Schicht das Werkstück. Eine typische Zeile G-code sieht folgendermaßen aus: N8 G1 X3.0 Y3.0 E2.0*33 Diese Anweisung bewegt den Kopf des Druckers gradlinig von der aktuellen X und Y Position zu X=3 und Y=3, während 2mm Material extrudiert werden. Tabelle 3.1.: G-code Beispielzeile N8 G1 X3.0 Y3.0 E2.0 *33 Zeile Befehl X Position Y Position Extrudierlänge Prüfsumme Die Firmware erwartet fortlaufende Zeilennummern, erfolgreich empfangene und korrekte Zeilen werden mit ok bestätigt. Im Fehlerfall wird eine entsprechende Antwort an den Host gesendet. Eine Prüfsumme am Ende jedes Blocks wird durch Anwenden des Logikoperators ODER auf jedes Byte des Blocks gebildet und nach einem * angehängt, wie im RepRap Wiki [RepRap b] beschrieben. Mit dieser Prüfsumme und der Zeilennummer stellt die Firmware sicher, dass alle Kommandos in der richtigen Reihenfolge, vollständig und korrekt übertragen werden. Robert Bremer 12

23 3. Grundlagen Sollte eine Zeile auf dem Drucker mit einer falschen Prüfsumme oder nicht fortlaufender Zeilennummer ankommen, reagiert dieser mit der Aufforderung, diese Zeile neu zu senden. Eine typische Fehlerausgabe sieht folgendermaßen aus: Error: Line Number is not current line + 1. Last Line: 7 2 rs 8 Listing 3.1: Antwort auf Prüfsummenfehler Je nach verwendeter Firmware unterscheidet sich die genaue Antwortsyntax Die verschiedenen Varianten sind auf der RepRap Webseite [RepRap c] entsprechend dokumentiert und müssen von einer Hostanwendung beachtet werden. Die Angaben sind leider nicht immer aktuell, so dass sich in aktualisierten Firmwareversionen neuere Antwortsyntax finden kann, die noch undokumentiert ist. Die Angabe der Zeilennummer und der Prüfsumme sind miteinander verbunden, allerdings können diese Angaben auch weggelassen werden. Einzelne Kommandos außerhalb der Druckwarteschlange werden üblicherweise ohne Prüfsumme und Zeilennummer übertragen. Beispiel hierfür ist das manuell auszulösende häufig verwendete Kommando G28, welches alle Achsen zum Ursprung fährt. Robert Bremer 13

24 3. Grundlagen Slicer Um G-code-Daten für den 3D-Drucker zu erzeugen, wird ein Slicer genutzt. Diese Software konvertiert ein digitales Modell des Werkstückes in horizontale Slices, die einzelnen Schichten und Pfade, die vom Extruder des Druckers verfolgt werden um das Werkstück aufzubauen. Für RepRap wird meist slic3r [slic3r] verwendet. slic3r ist in der Lage, STereoLithography (STL), Wavefront (OBJ) und Additive Manufacturing File Format (AMF) Daten zu verarbeiten, welchen von den gängigen CAD-Programmen exportiert werden können. Um aus den Eingabedaten präzise G-code Informationen zu entwickeln, benötigt der Slicer genaue Angaben über den 3D-Drucker. Die Größe des Druckbettes, Düsen- und Filamentdurchmesser, sowie die vorgesehenen Temperaturen und Geschwindigkeiten sind von kritischer Bedeutung für das Druckergebnis. Ist einmal ein Druckprofil gefunden, welches zufriedenstellende Ergebnisse erzeugt, können mit diesem Profil neue 3D-Modelle sehr einfach in G-code übertragen werden Printersoftware Printrun Für die Steuerung des 3D-Druckers wird bisher das Softwarepaket Printrun verwendet. Es besteht aus einer Benutzeroberfläche pronterface, einer Kommandozeilenapplikation pronsole und printcore zum Senden von G-codes und zur Kommunikation mit dem Drucker. Die Anwendung ist in Python implementiert und ist unter Linux, Windows und MacOS lauffähig, sofern die benötigten Abhängigkeiten installiert sind. Es handelt sich um eine quelloffene Software, die parallel zur Druckerfirmware entwickelt wird. Anpassungen in der Firmware bedingen häufig die Aktualisierung von Printrun, um Probleme bei der Kommunikation zu verhindern. Robert Bremer 14

25 3. Grundlagen Die Benutzeroberfläche von Printrun, in Abbildung 3.2 dargestellt, ermöglicht dem Nutzer die Bedienung des Druckers sowie das Laden und Drucken von Dateien. Über das Steuerkreuz können die Schrittmotoren der X, Y, und Z Achse einzeln bewegt, oder in ihre Ausgangspositionen gefahren werden. Ebenso lassen sich die Temperaturen für Druckbett und Extruderdüse, sowie Parameter für den Vorschub verändern und anzeigen. Eine graphische Darstellung der aktuell gedruckten Schicht ermöglicht das Verfolgen des Druckfortschritts. Abbildung 3.2.: Printrun Benutzerschnittstelle 3.3. Google Android Grundlagen Google Inc. ist ein weltweit aktives Unternehmen, das vor allem für seine Suchmaschine und seinen -Dienst bekannt ist, jedoch auch zahllose andere Web-Anwendungen anbietet. Der Kartendienst Maps oder der populäre Internetbrowser Chrome gehören dazu. Google erweitert seine Geschäftsfelder massiv im Bereich der mobilen Lösungen und hat mit der mobilen Plattform Android eines der populärsten Betriebssysteme für mobile Endgeräte veröffentlicht. Robert Bremer 15

26 3. Grundlagen Android wird von der Open Handset Alliance (OHA) entwickelt, einem Konsortium von aktuell 84 Unternehmen, Vgl. [OHA], aus dem Technologie- und Mobilgerätebereich. Initiator und Gründer dieses Konsortiums ist die Google Inc., die damit die Schaffung von offenen Standards für mobile Endgeräte vorantreibt. Mobile Betriebssysteme unterliegen seit Entwicklung des Smartphones einem massiven Wachstum, Google zufolge werden jeden Tag mehr als eine Million, Vgl. [Google e], neue Android-Geräte aktiviert, eine detaillierte Analyse der Verbreitung, auch im Vergleich mit anderen Systemen wird im Kapitel 4 Analyse vorgestellt. Applikationen für Android können mit kostenlosen Werkzeugen entwickelt werden und im Playstore veröffentlicht werden. Hierzu ist eine einmalige Registrierung erforderlich, für die Google eine Gebühr von $25 verlangt [Google f]. Diese Registrierung ermöglicht es dem Entwickler, Anwendungen kostenlos oder kostenpflichtig zu verteilen sowie die Verbreitung in der Play Store Konsole zu beobachten. Anwendungen werden über den Google Play Store auf dem Android-Gerät installiert, hierzu muss auf dem Gerät die Play Store App enthalten sein und mit einem Google-Konto verknüpft werden. Google gibt an, dass jeden Monat 1,5 Milliarden Anwendungen, die Apps, aus dem Play Store heruntergeladen werden und aktuell etwa unterschiedliche Anwendungen zur Verfügung stehen [Google e] Android Technologie Android basiert auf einem Linux-Kernel, der Speicherzugriff, Prozessorverwaltung und Zugriff auf die Schnittstellen des Gerätes realisiert. Als Laufzeitumgebung wird die Dalvik Virtual Machine (DVM) genutzt, welche jede Anwendung in einem eigenen Prozess ausführt. Anwendungen werden in Java geschrieben und zur Entwicklungszeit in Java-Bytecode übersetzt, das im Software Development Kit (SDK) enthaltene dx-tool transformiert diesen Bytecode in DVMkompatiblen *.dex-code, welches auf dem Gerät ausgeführt werden kann, Vgl. [Becker und Pant 2009]. Robert Bremer 16

27 3. Grundlagen Um die Funktionen des Betriebssystems nutzen zu können, greifen die Anwendungen auf das Application Programming Interface (API) des Betriebssystems zu. Im Folgenden wird auf Besonderheiten dieses API eingegangen, indem die Konzepte und Funktionen zur Kommunikation mit USB-Geräten, der Benutzeroberflächengestaltung, den Möglichkeiten zur Ausführung nebenläufiger Aufgaben und das Berechtigungssystem erläutert werden Lebenszyklus Anwendungen unter Android bestehen aus einer, oder meist mehrerer Activities, die dem Anwender gegenüber als ein Bildschirm zur Interaktion auftreten. Die Activities einer Anwendung sind lose miteinander verbunden und können durch definierte Schnittstellen miteinander interagieren. Jede Activitiy durchlebt einen so genannten Activity Lifecycle, der durch Callbacks bestimmt wird, welche die Erzeugung, Start, Pause, Stopp und Fortsetzung einer Anwendung beeinflussen. Diese Callbacks müssen in der Activity implementiert werden, um korrektes Verhalten der Anwendung zu ermöglichen und das Verhalten nach den Erwartungen des Nutzers zu gestalten. Eine ausführliche Beschreibung des Lebenszyklus ist in der Entwicklerdokumentation [Google c] zu finden Benutzeroberfläche Die Benutzerschnittstelle für eine Android Anwendung wird aus so genannten View-Objekten aufgebaut. Diese Objekte bilden eine Hierarchie von View- Objekten und zeichnen das Layout der Benutzeroberfläche auf den Bildschirm. Um ein Layout zu Deklarieren gibt es zwei Möglichkeiten, zum einen können die Views im Quellcode definiert werden oder zweitens, und das ist die effektivere Art, in Extensible Markup Language (XML)-Dateien. Die, in diesen Dateien deklarierten Elemente, werden beim Übersetzen in View-Ressourcen kompiliert und können von der Applikation im Activity.onCreate() geladen und angezeigt werden. Robert Bremer 17

28 3. Grundlagen Multithreading Blockiert eine Anwendung längere Zeit durch lange Berechnungen, Netzwerkzugriff oder modale Wartedialoge die Benutzeroberfläche, reagiert das Betriebssystem indem es die Anwendung beendet und die Fehlermeldung Application Not Responding Vgl. [Google a] ausgibt. Um dies zu verhindern, verfügt die API über verschiedene Möglichkeiten, Aufgaben nebenläufig auszuführen. Zum Einen existiert die Möglichkeit mit einer Klasse, die das Interface Runnable implementiert, Code in einem Thread auszuführen. Dieser läuft parallel zum Hauptthread der Anwendung und blockiert diesen nicht. Eine weitere Möglichkeit zum Threading ist der AsyncTask. Es handelt sich dabei um eine einfache Möglichkeit im Hintergrund Aufgaben auszuführen und die Ergebnisse sowie den Fortschritt an die Benutzeroberfläche zu melden. Dies ist die einfachste und effektivste Technik Dateien aus dem Netzwerk zu übertragen, oder lokale Kopiervorgänge mit Fortschrittsanzeige zu realisieren Berechtigungen Um Zugriff auf gewisse Systemfunktionen und Ressourcen ist unter Android mit einem Berechtigungsmechanismus versehen, der Einschränkungen auf den Zugriff realisiert und genutzte Funktionen für den Anwender transparent macht. Bei der Installation einer Anwendung wird der Nutzer über die verwendeten Berechtigungen informiert und um Erlaubnis gefragt. Die so genannten Permissions werden in der Manifestdatei der Anwendung deklariert, fehlt diese Deklaration und wird eine geschützte Funktion verwendet, löst das Betriebssystem eine SecurityException aus und beendet die Applikation. Somit kann verhindert werden, dass Anwendungen ohne Wissen des Nutzers auf persönliche Daten zugreifen oder Kosten verursachen können, wie z. B. durch Anrufe oder Kurznachrichtendienste. Robert Bremer 18

29 4. Analyse 4. Analyse In diesem Teil der Arbeit wird, auf Grundlage der Erkenntnisse aus Kapitel 3 Grundlagen, die Analyse und die Anforderungen an die Software beschrieben, welche die Ziele aus der Einleitung erreichen soll. Das wichtigste Artefakt dieser Arbeit ist eine Anwendung für ein mobiles Endgerät, welche es dem Nutzer ermöglicht, auf einem 3D-Drucker Werkstücke auszudrucken. Zunächst werden die Rahmenbedingungen und technischen Gegebenheiten behandelt, um im Abschnitt Anforderungsdefinition die Anforderungen an die Anwendung und die Plattform definieren zu können Auswahl der mobilen Plattform Im Folgenden werden die Kriterien zur Auswahl der mobilen Plattform vorgestellt und erläutert, es sollen dabei die Verbreitung sowie technische Umstände in Betracht gezogen werden Verbreitung und Verfügbarkeit Um eine möglichst große Nutzergruppe zu erreichen, ist große Verbreitung und Verfügbarkeit von Geräten am Markt wünschenswert. Hierzu gibt es aktuelle Zahlen vom Marktforschungsinstitut IDC zur Verbreitung der Mobilen Betriebssysteme, Smartphones und Tablet-Computer im ersten Quartal Der IDC Marktanalyse 1 für Smartphones zufolge führen die Betriebssysteme Google Android und Apple ios mit zusammen 92,3% den Smartphone-Markt deutlich an. Im Bereich der Tablet-Computer teilen sich die Marktführer Google und Apple sogar 96,1% des Marktes untereinander auf 2. Die Aufteilung der beiden Systeme geht aus Tabelle 4.1 hervor. 1 IDC Smartphone Marktanalyse [IDC a] 2 IDC Tablet Marktanalyse [IDC b] Robert Bremer 19

30 4. Analyse Tabelle 4.1.: Betriebssysteme Marktanteil IDC Q Smartphone Tablet-Computer Android 75.0% 56.5% ios 17.3% 39.6% Android ist laut IDC das Mobile Betriebssystem mit der insgesamt umfangreichsten Marktdurchdringung. Es ist hier demnach mit der größten Zielgruppe zu rechnen Schnittstelle Um die Verbindung mit dem 3D-Drucker herzustellen, muss das mobile Endgerät eine serielle Kommunikation mit dem 3D-Drucker ermöglichen. Der auf zur Steuerung verwendete Arduino Mega bietet hierfür mehrere Möglichkeiten, die in Abschnitt diskutiert werden. Ideal wäre eine Lösung, die keine Änderungen an der Arduino Firmware erfordert und ohne spezielle Hardware auskommt, um den Einsatz der Anwendung zu vereinfachen. Android-Geräte sind häufig mit USB-Host Anschlüssen ausgestattet, die mittels Micro-USB eine Verbindung zu Endgeräten herstellen können. Weiterhin sind laut Google Developer [Google g] die Funktionen USB-Host ab Android Version 3.1 und USB Accessory durch eine Bibliothek bereits ab Android verfügbar. Die tatsächliche Funktionsfähigkeit hängt zusätzlich noch von der Implementierung des Geräteherstellers ab. Es existieren mehrere Open Source Bibliotheken, die Kommunikation zu verschiedenen USB UART Controllern ermöglichen. Die benötigte Hardware beschränkt sich hierbei meist auf einen Micro-USB zu USB On-The-Go (USB OTG) Adapter-Kabel, welches dem Gerät teilweise beiliegt oder günstig im Handel zu beziehen ist. Hierbei ist auf die korrekte Pinbelegung für das jeweilige Gerät zu achten. Um Apple ios Geräte wie das iphone oder das ipad mit einem USB-Gerät zur seriellen Kommunikation zu verbinden, ist ein Adapterkabel vom Hersteller Redpark notwendig. Diese Möglichkeit ist jedoch nur für Entwickler interessant, da Anwendungen aus dem Apple Appstore nicht mit diesem Adapter zusammenarbeiten. Apple verlangt, das jegliches elektrisches Zubehör durch das Apple MFi Program geprüft und zertifiziert wird. Die Hardware muss sich am ios Gerät durch einen kryptographischen Integrated Circuit Robert Bremer 20

31 4. Analyse (IC) authentifizieren und erlaubt erst dadurch die Kommunikation. Eine weitere Möglichkeit ist die Verwendung des Apple ipad Camera Connection Kits. Dieses kann bei Geräten, deren Betriebssystem modifiziert (Jailbreak) wurde zum Herstellen einer USB-Verbindung mit z. B. Speichersticks oder Keyboards genutzt werden. Diese Variante lässt sich mit offiziell verteilten Anwendungen aus dem AppStore ebenfalls nicht realisieren Fazit Aus der vorhergehenden Analyse kann die Schlussfolgerung gezogen werden, das Android aufgrund der Verbreitung die optimale Platform für die Entwicklung der Anwendung bietet. Zusätzlich sprechen auch die technischen Voraussetzungen im Bezug auf die USB-Schnittstelle sowie das breite Spektrum der verfügbaren Geräte für Android Anforderungsdefinition Die Anforderungen an die Anwendung ergeben sich aus dem Umfeld des zentralen Ziels, ein Werkstück zu drucken. Um dieses Ziel zu erreichen, müssen mehrere Fähigkeiten vorhanden sein. Zunächst muss eine Verbindung zum Drucker aufgebaut und geprüft werden. Weiterhin müssen Eingabedaten von der Anwendung geladen und verarbeitet werden können. Um dem Benutzer Rückmeldung über den Zustand des Druckers zu geben, müssen Statusinformationen sinnvoll angezeigt werden. Da der Druck meist einige Zeit in Anspruch nimmt, erscheint die Möglichkeit einer Überwachung des Druckers aus der Ferne sinnvoll. Bei der Realisierung der Anwendung wird sich funktional an Printrun orientiert und Nutzungskonzepte, falls angebracht, übernommen. Dies soll den bisherigen Nutzern von Printrun die Bedienung der Android Anwendung und die Einarbeitung erleichtern. Es werden in den nächsten Abschnitten, aufgeteilt in Funktionale und Nichtfunktionale Anforderungen, die zu erfüllenden Eigenschaften der Anwendung erhoben. Robert Bremer 21

32 4. Analyse Funktionale Anforderungen Die Funktionalen Anforderungen werden in den folgenden Teilen dieser Arbeit referenziert und sollen eindeutig identifizierbar sein. Sie werden daher mit den Bestandteilen Name, Identifikation und Beschreibung bestimmt. VERB Verbindung zum Drucker herstellen Die Anwendung stellt beim Start eine Verbindung zum 3D-Drucker her und meldet das Ergebnis an den Anwender zurück. LADE Laden/Öffnen von Eingabedaten Der Anwender kann Eingabedaten für den Druck im G-code Format von den Speicherplätzen des Gerätes oder von einem Online Speicherservice auswählen. RÜCK Rückmelden des Druckerzustands Die Anwendung zeigt Temperatur und Druckfortschritt ständig auf der Nutzeroberfläche an und gibt wichtige Statusmeldungen des Druckers in Textform aus. DRUCK Druck von Werkstücken Die Anwendung überträgt die Eingabedaten im G-code Format zeilenweise und reagiert auf Antworten und Fehlermeldungen des 3D-Druckers. Nach Abschluss des Druckes, wird das Druckbett herausgefahren und der Druckkopf in die Ausgangsposition bewegt. ÜBERW Überwachen des Drucks Die Anwendung stellt Informationen über den Druckfortschritt anderen Geräten im Netzwerk zur Verfügung KONF Konfigurieren der Anwendung Der Benutzer kann die Verbindungsparameter sowie das Verhalten und Teile der Funktionalität der Anwendung an seine Wünsche und technischen Gegebenheiten anpassen. Robert Bremer 22

33 4. Analyse Nichtfunktionale Anforderungen Es wird in dieser Arbeit die Entwicklung einer Anwendung beschrieben, die Funktionen abbildet, wie sie vorher nur auf Desktop und Laptop Computern zu finden war. Aus diesem Umstand und den Funktionalen Anforderungen, sowie den Einschränkungen, denen mobile Anwendungen unterliegen, ergeben sich besondere Anforderungen an Ressourcenverbrauch und Benutzerinterface. Zuverlässigkeit Reife Die Anwendung druckt nachvollziehbar korrekte Werkstücke. Fehlertoleranz die Anwendung reagiert auf Statusmeldungen des 3D-Druckers korrekt. die Applikation weist den Benutzer defensiv auf Fehler hin. Leistung und Effizienz Ressourcenverbrauch Die Anwendung beachtet die Höchstgrenzen des zur Verfügung stehenden Speichers. Die Anwendung überträgt die Eingabedaten mit hinreichender Geschwindigkeit an den Drucker. Wartbarkeit Wiederherstellbarkeit Die Quellen der Anwendung können erzeugt und ausgeführt werden. Quellcode Der Code soll ausreichend kommentiert und dokumentiert sein, um eine Weiterentwicklung und Debugging zu ermöglichen. Look and Feel Beachten des Design Guides Die Anwendung richtet sich in Aussehen und Bedienung an die aktuellen Designvorlagen für Android Anwendungen. Lokalisierbarkeit Die Benutzeroberfläche soll mehrsprachig angeboten werden. Robert Bremer 23

34 4. Analyse Benutzbarkeit Benutzeroberfläche Die Anwendung kann auf Smartphones mit kleinen Bildschirmen als auch auf Tablet-Computern abgelesen und bedient werden. Architektur Objektorientierung und Schichten Die Struktur der Anwendung soll die Erweiterung und den Austausch der Verbindungsmethode erlauben. Zuverlässigkeit und Leistung sind in dieser Arbeit mit einer hohen Priorität eingestuft. Die Übertragung der Druckkommandos muss mit geringer Verzögerung und gleichmäßig erfolgen um ein hochwertiges Druckergebnis zu erzielen. Die Anforderungen Wartbarkeit und Architektur werden erst im späteren Verlauf des Lebenszyklus wichtig, wenn die Anwendung weiterentwickelt bzw. veröffentlicht wird, in der initialen Umsetzung werden sie trotz dessen bereits beachtet. Robert Bremer 24

35 5. Architektur und Implementierung 5. Architektur und Implementierung Im Kapitel Architektur und Implementierung soll die Struktur der Android App vorgestellt, sowie die verwendeten Technologien in ihrer Implementierung gezeigt werden. Als Name für die Anwendung wurde ProDroid gewählt, ein Verweis auf die Druckerfirmware Protos sowie das Betriebssystem Android Klassenstruktur Die Klassen des Projekts sind in Schichten organisiert und übernehmen, voneinander logisch getrennt, ihre Aufgaben. Dieser Aufbau, in Abbildung 5.1 dargestellt, senkt die Komplexität der Implementation und ermöglicht den Austausch von Komponenten wie z. B. der Kommunikationstechnologie. Abbildung 5.1.: Schichtenarchitektur Robert Bremer 25

36 5. Architektur und Implementierung Da keine signifikanten Datenmengen zwischen den Schichten übertragen werden, entstehen keine strukturbedingten Leistungseinbußen. Auf die externen Bibliotheken wird im entsprechenden Abschnitt 5.7 Externe Bibliotheken genauer eingegangen, um vorher nur die wesentlichen Aspekte der ihrer Verwendung und Implementierung zu beleuchten. Dieser Aufbau spiegelt sich auch in der Projektstruktur im src Ordner als Quellenpakete wider. Die Abbildung 5.2 zeigt die Projektstruktur als Übersicht. Abbildung 5.2.: Projektstruktur Die Schnittstelle zum Benutzer bildet die oberste Schicht der Anwendung, hierzu gehörende Klassen sind im.gui Paket zusammengefasst und enthalten die Activities mit dem Hauptbildschirm und den Einstellungsfenstern. Druckfunktionen und die Anbindung an die USB-Schnittstelle werden im Paket.printer organisiert. Hier ist der Großteil der Steuerung und Anwendung abgelegt. Die Klasse Printcore umfasst dabei die von der Schnittstelle unabhängigen Funktionen zur Generierung von Kommandos, Interpretation und Verarbeitung von Eingabedaten und Reaktion auf Antworten vom Drucker. Sämtliche spezifischen Funktionalitäten zur Verbindungserstellung der seriellen Verbindung sind in der Klasse Printer abgelegt. Die Klassen CacheDropboxFile und AddThread sind von AsyncTask abgeleitet und als Inlineklassen in ihre aufrufenden Dateien angelegt. Robert Bremer 26

37 5. Architektur und Implementierung Bei Design und Umsetzung der Struktur wurde auf eine flache Hierarchie und geringe Verschachtlung geachtet, um die Komplexität der Implementation möglichst gering zu halten Paket GUI Die Klassen im Paket.gui sind von der Klasse Activity abgeleitet. Sie erben jeweils die Callbackmethoden zur Realisierung des Lebenszyklus und enthalten die Präsentationslogik. Da Android auf Geräten mit unterschiedlich großen Bildschirmen und verschiedenen Punktdichten arbeitet, stellt die API Möglichkeiten bereit, um alternative Oberflächenlayouts zu definieren. Diese Layouts enthalten angepasste Beschreibungen der Oberfläche für ihre jeweilige Bildschirmklasse. So ist es möglich, eine Anwendung mit separaten Benutzeroberflächen für Smartphones und Tablet-Computer zu definieren. Das Hauptfenster der Anwendung wird aus dem XML Layout activity_main.xml aufgebaut. Um eine korrekte Darstellung der Anwendung auf den unterschiedlichen Bildschirmformaten sicherzustellen, wurde die Möglichkeit genutzt, zusätzlich alternative Ressourcendateien für die Darstellung anzulegen. Es wird durch die API eine Unterscheidung der Bildschirme, u. a. in normal und large angeboten. Die Parameter von normal entsprechen dabei den typischen Smartphonebildschirmen, während large die größeren Phablets und Tablet-Computer ab etwa 7 Zoll Bildschirmdiagonale abdeckt. Somit ist die Bedienbarkeit und Ablesbarkeit auf verschiedenen Konfigurationen sichergestellt. Sämtliche Texte und Meldungen sind in englischer Sprache in der Datei strings.xml eingetragen, diese ist im Ordner res/values abgelegt. Zusätzlich dazu findet sich im Ordner res/values-de eine Datei mit der Übersetzung in deutscher Sprache. Die Auswahl der Sprache erfolgt durch die auf dem Gerät eingestellte Systemsprache, verwendet das Android-System eine nicht explizit eingetragene Sprache, wird Englisch für die Oberfläche genutzt. Robert Bremer 27

38 Steuerung eines 3d-Druckers 5. Architektur und Implementierung Klasse MainActivity Die MainActivity hat die Aufgabe, Schnittstellen zum Nutzer zu realisieren und den Einstiegspunkt für die Anwendung zu bilden. Hier werden die Oberflächenelemente aus den XML Layouts mit ihren Funktionen verknüpft und die Initialisierung der Anwendung vorgenommen. Auf der Oberfläche werden die grundlegenden Elemente gruppiert in Boxen angezeigt. Abbildung 5.3.: MainActivity auf Smartphone Abbildung 5.4.: MainActivity auf Tablet Im Kopfbereich befindet sich die so genannte ActionBar mit dem Titel der Anwendung und Schaltflächen, die grundlegenden Funktionen wie Verbinden und Zurücksetzen des Druckers, Laden von Eingabedaten und das Öffnen des Einstellungsfensters darstellen. Darunter befinden sich Gruppen von Elementen, Robert Bremer 28

39 5. Architektur und Implementierung die zusammengehörende Funktionen zusammenfassen. Es handelt sich dabei um die Druckkontrolle mit Fortschrittsanzeige, um die Temperaturkontrollen und Indikatoren, die Bewegungskontrollen sowie das Informationsfenster mit Status und Fehlerausgaben. Durch diese Gruppierung wird der Nutzer beim Auffinden von Funktionen unterstützt und es ist möglich, die Gruppen zur Entwicklungszeit beliebig zu verschieben. Somit kann die Anpassbarkeit an unterschiedliche Bildschirme optimiert werden. Da auf kleinen Bildschirmen nicht alle Informationen und Elemente gleichzeitig sichtbar sind, kann auf diesen mit einer Wischgeste nach Links das Informationsfenster vollständig geöffnet werden. Das Selektieren und Öffnen von G-Code Dateien wird in der Anwendung auf zwei Möglichkeiten angeboten. Der Nutzer kann in einem Dialog auswählen, ob eine Datei von einem lokalen Speicherort auf dem Gerät geöffnet, oder aus dem Onlinespeicher Dropbox geladen werden soll. Dies wird durch eine Schaltfläche in der ActionBar realisiert, die dem Benutzer einen Dialog zur Auswahl der Quelle anbietet. Hier wird in beiden Fällen auf Bibliotheken zurückgegriffen. Bei dem Öffnen einer lokalen Datei wird die Methode openlocalfiledialog() aufgerufen, welche eine neue Activity vom Typ FileDialog aus der Bibliothek FileExplorer startet. Wählt der Nutzer Dropbox als Quelle, wird ein DbxChooser aus der Bibliothek DropboxChooserSdk mit den notwendigen Parametern aufgerufen (Methode launch), welche mit Hilfe der Dropbox-Anwendung den Nutzer führt. Hat der Anwender eine Quelle ausgewählt, wird vom FileDialog, bzw. von der Dropbox-Anwendung, ein Intent zurückgegeben, welcher in der Callback- Methode onactivityresult an die jeweiligen Behandlungsroutinen weitergeleitet wird. Dieser Intent enthält unter anderem den absoluten Pfad zur Eingabedatei, welcher mit der Methode checkfile() auf Vorhandensein geprüft wird. Außerdem werden die ersten Zeilen der Datei im Informationsfenster ausgegeben. Im Fall der Dropbox wird die Datei noch aus dem Dropbox Cache Verzeichnis in das Anwendungsverzeichnis kopiert, um den Zugriff darauf sicherzustellen. Dies wird durch die Klasse CacheDropboxFile nebenläufig realisiert. Details der Dropbox Implementierung werden im Abschnitt erläutert. Robert Bremer 29

40 5. Architektur und Implementierung Zur Benutzung des Dropbox SDK ist ein API-Schlüssel nötig, der für die Anwendung in der Dropbox Developer Console mit den benötigten Berechtigungen generiert wird. Die Erstellung und Einbindung des Schlüssels wird in der Dropbox-Entwicklerkonsole beschrieben. Die Anwendung wird vom System benachrichtigt, sobald ein kompatibles USB- Gerät angeschlossen wird. Hierzu muss in der Manifestdatei der App ein intentfilter deklariert werden, der dem System gegenüber die Fähigkeiten auflistet. Für die Verbindung zu USB-Geräten ist dies der Intent android.hardware.usb. action.usb_device_attached. Weiterhin kann spezifiziert werden, mit welchen Geräten die Anwendung zusammenarbeiten kann. Hierzu wird das Auslösen des Intents auf gewisse Produkund Hersteller-Identifikatoren beschränkt. Diese Identifikatoren sind in der Datei device-filter.xml abgelegt und im Manifest eingebunden, sie spiegeln die verfügbaren Treiber der UsbSerialLibary wider. Für den FT232R wird die Definition folgendermaßen angegeben: [...] 2 <!-- 0x0403 / 0x6001: FTDI FT232R UART --> <usb-device 4 product-id="24577" vendor-id="1027"/> 6 [...] Listing 5.1: Geräte-Id aus device_filter.xml Die verfügbaren Geräte werden mit Entwicklung der UsbSerialLibary erweitert und um neue Treiber ergänzt. Beim Verbinden eines kompatiblen Gerätes fragt das Betriebssystem den Benutzer um die Erlaubnis, der Anwendung Zugriff auf das USB-Gerät zu gewähren. Dies ist notwendig, um mit der Schnittstelle kommunizieren zu können und wird in Abbildung 5.5 gezeigt. Wenn die initiale Verbindung erfolgreich ist, wird versucht mit dem Drucker zu kommunizieren. Dies geschieht durch das Senden eines Kommandos zur Temperaturermittlung. Schlägt dies mehrmals in Folge fehl, wird der Nutzer auf diesen Fehler hingewiesen und mit einem Dialog auf mögliche Ursachen, wie z. B. falsche Einstellungen hingewiesen. Robert Bremer 30

41 5. Architektur und Implementierung Abbildung 5.5.: USB Verbindungsanfrage Klasse SettingsActivity Die SettingsActivity wird über eine Schaltfläche auf der ActionBar der MainActivity geöffnet und ermöglicht es dem Anwender, Parameter und Verhalten der App zu konfigurieren. Hierzu gehören die Verbindungseinstellungen für serielle Schnittstelle und Optionen zum Konfigurieren des Webservers sowie das Aktivieren der Debug-Funktionen. Die Debug-Option sollte nur gewählt werden, um tatsächlich nach Fehlern in der Kommunikation zu suchen. Die Ausgaben und das damit verbundene Verhalten verlangsamen die Anwendung bei längeren Operationen. Anhand der API-Version des Betriebssystems und der Bildschirmdiagonale wird entschieden, welche Art der Oberfläche dem Nutzer präsentiert wird. Auf Smartphones und auf Betriebssystemen mit API-Level 11 oder kleiner wird eine einfach einspaltige Liste, getrennt nach Kategorie der Optionen aufgebaut. Für Tablets und andere Geräte mit größeren Bildschirmen wird eine zweispaltige Ansicht mit Fragments erzeugt. Die unterschiedlichen Aufteilungen sind in 5.6 dargestellt. Fragments können einzelne Teile einer Activity sein und modular die Oberfläche zusammensetzen. Sie können zur Laufzeit erzeugt und entfernt werden, was eine übersichtliche Gestaltung der Einstellungen ermöglicht. Robert Bremer 31

42 Steuerung eines 3d-Druckers 5. Architektur und Implementierung Abbildung 5.6.: SettingsActivity auf Smartphone und Tablet 5.3. Paket printer In diesem Paket sind die notwendigen Klassen zum Realisieren des Drucks und zur Kommunikation mit dem Drucker untergebracht. Bevor im Einzelnen auf diese eingegangen wird, soll der Ablauf des Drucks und Details der Kommunikation aus Sicht der Anwendung dargestellt werden. Um den Druck zu beginnen, muss der Zähler für die aktuelle Zeilennummer des Druckers zurückgesetzt werden, dies geschieht mit dem Kommando M110 N-1. Es setzt die Zeilennummer auf -1, die nächste erwartete Zeile hat somit den Index 0. Von jetzt an treten Drucker und Host in einen Dialog. Der Drucker antwortet auf jedes korrekte Kommando mit ok und der Host überträgt daraufhin die nächste Zeile. Robert Bremer 32

Witbox. Anleitung Repetier-Host. Witbox

Witbox. Anleitung Repetier-Host. Witbox Anleitung Repetier-Host Anleitung Repetier-Host Deutsch INHALT 3 Installation und Konfiguration von Repetier-Host 4 Installation 4 Installation unter Linux 5 Installation unter MacOS 5 Installation unter

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Fork Leitfaden. BibApp Android

Fork Leitfaden. BibApp Android Fork Leitfaden BibApp Android letzte Aktualisierung: 24. April 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 2 2 Eclipse Projekt 2 3 Abhängigkeiten 2 4 Konfiguration 3 4.0.1 Paketname...............................

Mehr

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A D O Z E N T : R E F E R E N T : P R O F. D R. K L I N K E R R I C O L O S C H W I T Z Aufbau der Präsentation

Mehr

U.motion. U.motion Control. Technisches Handbuch. Control-App für ios-geräte. 04/2014 Version 1.0.1. www.merten.com

U.motion. U.motion Control. Technisches Handbuch. Control-App für ios-geräte. 04/2014 Version 1.0.1. www.merten.com U.motion U.motion Control Control-App für ios-geräte 04/2014 Version 1.0.1 www.merten.com ALLGEMEINE INFORMATIONEN Schneider Electric GmbH c/o Merten Gothaer Straße 29, 40880 Ratingen www.merten.de www.merten-austria.at

Mehr

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Plattformen mobiler Endgeräte Windows Phone, ios, Android

Plattformen mobiler Endgeräte Windows Phone, ios, Android Plattformen mobiler Endgeräte Windows Phone, ios, Android 13.12.2012 Inhaltsverzeichnis 1. Einführung 2. Ecosystem Smartphone OS 3. Mobile Software Platform 4. Android App Entwicklung 5. Zusammenfassung

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format CompuLok Zentrale Software Interface Digitalzentrale für DCC und Motorola Format Inhalt CompuLok Software Interface... 3 Das Software Interface... 3 Installation... 3 Treiber installieren.... 3 Hinweis

Mehr

Desktop Manufacturing CNC im Privathaushalt angekommen

Desktop Manufacturing CNC im Privathaushalt angekommen Desktop Manufacturing CNC im Privathaushalt angekommen Referent: Marcus A. Link Direct Manufacturing Übersetzt bedeutet das: Direkte Fertigung, und bezeichnet Methoden und Produktionsverfahren zur schnellen

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint Überblick Unterscheidung Tablet PC & Tablet Computer Tablet PC; ursprüngliche Bezeichnung von Microsoft Mit Tablet Computer sind die heutigen gängigen Mit Tablet Computer sind die heutigen gängigen Tablets

Mehr

PADS 3.0 Viewer - Konfigurationen

PADS 3.0 Viewer - Konfigurationen PADS 3.0 Viewer - Konfigurationen Net Display Systems (Deutschland) GmbH - Am Neuenhof 4-40629 Düsseldorf Telefon: +49 211 9293915 - Telefax: +49 211 9293916 www.fids.de - email: info@fids.de Übersicht

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

IB-AC511 Handbuch - Deutsch - V. 1.0

IB-AC511 Handbuch - Deutsch - V. 1.0 IB-AC511 Handbuch - Deutsch - V. 1.0 Inhalt Content Einleitung... 2 Schnellstart... 2 Hardware Einstellungen... 2 Android Shadow ToolBar... 6 Android Shadow Funktionen... 7 1.Kabelverbindung zum Laden...

Mehr

VDLUFA-Schriftenreihe 1

VDLUFA-Schriftenreihe 1 VDLUFA-Schriftenreihe 1 Wie viele Apps sind ein LIMS? J. Flekna Pragmatis GmbH, Neufahrn 1. Einleitung Seitdem mobile Endgeräte massentauglich sind, ist die Bezeichnung App fester Bestandteil unseres zeitgeistigen

Mehr

Embedded Linux gnublin Board Programmieren Sonstiges. Embedded Linux am Beispiel des Gnublin-Boards

Embedded Linux gnublin Board Programmieren Sonstiges. Embedded Linux am Beispiel des Gnublin-Boards Embedded Linux am Beispiel des Gnublin-Boards Was ist Embedded Linux? Wikipedia Als Embedded Linux bezeichnet man ein eingebettetes System mit einem auf dem Linux-Kernel basierenden Betriebssystem. In

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

3D-Druckserver mit 32-Bit Arm Prozessoren realisiert mit UDOO Quad und RADDS v1.1

3D-Druckserver mit 32-Bit Arm Prozessoren realisiert mit UDOO Quad und RADDS v1.1 3D-Druckserver mit 32-Bit Arm Prozessoren realisiert mit UDOO Quad und RADDS v1.1 FabCon 3.D Angelo Malaguarnera 17. Mai 2014 Inhaltsangabe Inhaltsangabe Ziel: Schnell und genaues Drucken Ein wenig Theorie,

Mehr

INSTALLATION OFFICE 2013

INSTALLATION OFFICE 2013 INSTALLATION OFFICE 2013 DURCH OFFICE 365 Zur Verfügung gestellt von PCProfi Informatique SA Einleitung Das folgende Dokument beschreibt Ihnen Schritt für Schritt, wie man Office Umgebung 2013 auf Ihren

Mehr

Eutaxa Installationsanleitung

Eutaxa Installationsanleitung Eutaxa Installationsanleitung Überprüfen Sie zuerst, ob die technischen Voraussetzungen für eine Installation der Software auf Ihrem Computer gegeben sind. Windows Betriebssysteme: ME, XP, Vista oder Windows

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Organisatorisches Anmelden im Web: ZIV Lehre Anmelden Anwesenheitsliste Anwesenheitsschein bei 75% Anwesenheit Allgemeine

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Erste Erfahrungen mit Android

Erste Erfahrungen mit Android Java User Group München, 22. 9. 2008 Erste Erfahrungen mit Android 1 Was ist Android? Die erste vollständige, offene und freie Plattform für mobile Telefone Entwickelt von der Open Handset Alliance (Telecoms,

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 4 3., aktualisierte und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt dieses

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

Top-Themen. Workshop: Drucken mit iphone und ipad... 2. Seite 1 von 15

Top-Themen. Workshop: Drucken mit iphone und ipad... 2. Seite 1 von 15 Top-Themen Workshop: Drucken mit iphone und ipad... 2 Seite 1 von 15 AirPrint in der Praxis Workshop: Drucken mit iphone und ipad von Thomas Joos, Malte Jeschke Seite 2 von 15 Inhalt Drucken mit iphone

Mehr

iid software tools QuickStartGuide iid RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool

iid software tools QuickStartGuide iid RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool iid software tools QuickStartGuide iid software tools RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool microsensys Feb 2014 Einleitung Das iid interface configuration

Mehr

Vodafone Cloud. Einfach A1. A1.net/cloud

Vodafone Cloud. Einfach A1. A1.net/cloud Einfach A1. A1.net/cloud Ihr sicherer Online-Speicher für Ihre wichtigsten Daten auf Handy und PC Die Vodafone Cloud ist Ihr sicherer Online-Speicher für Ihre Bilder, Videos, Musik und andere Daten. Der

Mehr

2 USBundLinuxhotplug. 2.1 Eigenschaften von USB. In diesem Kapitel lernen Sie. das USB-Schichtenmodell kennen.

2 USBundLinuxhotplug. 2.1 Eigenschaften von USB. In diesem Kapitel lernen Sie. das USB-Schichtenmodell kennen. 2 USBundLinuxhotplug In diesem Kapitel lernen Sie das USB-Schichtenmodell kennen. die Kernelmodule für USB-Treiber kennen. wie Sie USB-Geräte unter Linux verwenden. dashotplug-system von Linux kennen.

Mehr

Vom HMI zum WebSCADA Portal

Vom HMI zum WebSCADA Portal Vom HMI zum WebSCADA Portal Teil 1. Skalierbare webbasierende Visualisierungsplattform: Das Bedienpanel als Basis Marcel Bühner Schlagworte wie Industrie 4.0, IoT (Internet of Things), Automation in the

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

Mehr

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Verwendung der bereitgestellten Virtuellen Maschinen»Einrichten einer Virtuellen Maschine mittels VirtualBox sowie Zugriff auf

Mehr

Handbuch VERBINDUNG ZUM TERMINAL SERVER

Handbuch VERBINDUNG ZUM TERMINAL SERVER Handbuch VERBINDUNG ZUM TERMINAL SERVER Einleitung Dieses Dokument beschreibt Ihnen, wie Sie sich auf einen Terminalserver (TS) mithilfe von einem Gerät, auf den die Betriebssysteme, Windows, Mac, IOS

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

IVE-W530BT. Bluetooth Software Update Manual mit Windows 7 09.03.2015

IVE-W530BT. Bluetooth Software Update Manual mit Windows 7 09.03.2015 Bluetooth Software Update Manual mit Windows 7 IVE-W530BT 1 Einleitung In der Anleitung wird die Vorgehensweise zum aktualisieren der Radio Bluetooth Firmware beschrieben. Bitte beachten Sie alle Warnhinweise

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

Sophos Mobile Control Benutzerhandbuch für Apple ios

Sophos Mobile Control Benutzerhandbuch für Apple ios Sophos Mobile Control Benutzerhandbuch für Apple ios Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Apple iphone... 4 3

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Installation und Registrierung von WinGAEB 3.5 unter Linux mit CrossOver Office

Installation und Registrierung von WinGAEB 3.5 unter Linux mit CrossOver Office Installation und Registrierung von WinGAEB 3.5 unter Linux mit CrossOver Office 1. WINGAEB UND LINUX... 2 1.1. Systemvoraussetzungen... 2 1.2. Anmerkungen... 2 2. DIE INSTALLATION VON WINGAEB... 3 2.1.

Mehr

Hardware «Jinn» mit Doppel-Servos parallel bewegt.

Hardware «Jinn» mit Doppel-Servos parallel bewegt. Hardware «Jinn» Höhe: 1060 mm Breite: 320 mm Gewicht: ca. 5.3 Kg Freiheitsgrade: 22 Tragkraft der Arme: ca. 200 g Akku: LiFe 2S 4.0 Ah 6.6 Volt Akku-Betriebsdauer: ca. 0,5 Std. Ein kleines Akkuladegerät

Mehr

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH USB in Embedded Systemen Referat von Peter Voser Embedded Development GmbH Embedded Development GmbH Engineering and Development System Engineering Hardware/Software Co-Design Embedded Software Entwicklung

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

Android 2. Grundlagen und Programmierung. dpunkt.verlag. Arno Becker Marcus Pant. 2., aktualisierte und erweiterte Auflage

Android 2. Grundlagen und Programmierung. dpunkt.verlag. Arno Becker Marcus Pant. 2., aktualisierte und erweiterte Auflage Arno Becker Marcus Pant Android 2 Grundlagen und Programmierung 2., aktualisierte und erweiterte Auflage Unter Mitarbeit von David Müller dpunkt.verlag IX I Inhaltsverzeichnis I Einführung 1 1 Ein erstes

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

i3sync DRAHTLOSES "PLUG&PLAY" PRÄSENTATIONSTOOL

i3sync DRAHTLOSES PLUG&PLAY PRÄSENTATIONSTOOL i3sync DRAHTLOSES "PLUG&PLAY" PRÄSENTATIONSTOOL ERLEBEN SIE EINE NEUE ART VON MEETING Mit diesem kompakten und leichten Präsentationstool wird sich die Art, wie Sie Präsentationen halten und Meetings führen

Mehr

Workbooster File Exchanger Command Line Tool

Workbooster File Exchanger Command Line Tool Thema Technische Benutzerdokumentation - WBFileExchanger Workbooster File Exchanger Command Line Tool Letzte Anpassung 18. Januar 2014 Status / Version Finale Version - V 1.1 Summary Erstellung Diese technische

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Bilder im Internet. Hans Magnus Enzensberger

Bilder im Internet. Hans Magnus Enzensberger Kapitel 4 Alle reden von Kommunikation, aber die wenigsten haben sich etwas mitzuteilen. Hans Magnus Enzensberger Bilder im Internet Nach der etwas umfangreichen vorangehenden Lektion zum Ausklang der

Mehr

Sophos Mobile Control Benutzerhandbuch für Android

Sophos Mobile Control Benutzerhandbuch für Android Sophos Mobile Control Benutzerhandbuch für Android Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Android-Mobiltelefon...

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Installationshandbuch für den DAKOSY J Walk Windows Client

Installationshandbuch für den DAKOSY J Walk Windows Client Installationshandbuch für den DAKOSY J Walk Windows Client Version 1.1 DAKOSY Datenkommunikationssystem AG Mattentwiete 2 20457 Hamburg Telefon: 040 370 03 0 Fax: - 370 Erstellt von : Jan Heins Geprüft

Mehr

Windows 8 die Tablet-Plattform fü r Unternehmen

Windows 8 die Tablet-Plattform fü r Unternehmen Windows 8 die Tablet-Plattform fü r Unternehmen Inhaltsverzeichnis Einleitung... 3 Anforderungen des Fachbereiches... 3 Geschwindigkeit... 3 Einfache Bedienung... 3 Displaygröße... 3 Gesamtgröße und Gewicht...

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

CDE-13xBT & CDE-W235BT & CDA-137BTi

CDE-13xBT & CDE-W235BT & CDA-137BTi Bluetooth Software Update Manual mit Windows 7 Für Geräte aus dem Modelljahr 2012 CDE-13xBT & CDE-W235BT & CDA-137BTi 1 Einleitung In der Anleitung wird die Vorgehensweise zum aktualisieren der Radio Bluetooth

Mehr

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Agenda Problemstellung Medizinprodukt App Grundlagen Szenarien (Problemstellungen und Lösungsansätze) 03.06.2013 2 Innovationen

Mehr

Arno Becker Marcus Pant. Android. Grundlagen und Programmierung. I dpunkt.verlag

Arno Becker Marcus Pant. Android. Grundlagen und Programmierung. I dpunkt.verlag Arno Becker Marcus Pant Android Grundlagen und Programmierung I dpunkt.verlag IX 1 Ein erstes Beispiel 3 1.1 Projekt anlegen 3 1.2 Die erste Activity 4 1.3 Layout definieren 5 1.4 Activities aufrufen 8

Mehr

Brainloop Secure Dataroom Version 8.30. QR Code Scanner-Apps für ios Version 1.1 und für Android

Brainloop Secure Dataroom Version 8.30. QR Code Scanner-Apps für ios Version 1.1 und für Android Brainloop Secure Dataroom Version 8.30 QR Code Scanner-Apps für ios Version 1.1 und für Android Schnellstartanleitung Brainloop Secure Dataroom Version 8.30 Copyright Brainloop AG, 2004-2015. Alle Rechte

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

DSLinux Skriptbasierte Inventarisierung für Linux

DSLinux Skriptbasierte Inventarisierung für Linux DSLinux Skriptbasierte Inventarisierung für Linux www.docusnap.com TITEL DSLinux AUTOR Docusnap Consulting DATUM 21.04.2015 Die Weitergabe, sowie Vervielfältigung dieser Unterlage, auch von Teilen, Verwertung

Mehr

Präsentation. homevisu Familie. Peter Beck. Juni 2011. www.p-b-e.de. 2011 p b e Peter Beck 1

Präsentation. homevisu Familie. Peter Beck. Juni 2011. www.p-b-e.de. 2011 p b e Peter Beck 1 Präsentation homevisu Familie Peter Beck Juni 2011 2011 p b e Peter Beck 1 Funktionensumfang Der Funktionsumfang das provisu Framework. Modular und durch Plug-In erweiterbar / anpassbar. Plug-In Schnittstelle

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Zugriff auf die Installation mit dem digitalstrom- Konfigurator mit PC und Mac

Zugriff auf die Installation mit dem digitalstrom- Konfigurator mit PC und Mac Zugriff auf die Installation mit dem digitalstrom- Konfigurator mit PC und Mac Zusatz zum digitalstrom Handbuch VIJ, aizo ag, 15. Februar 2012 Version 2.0 Seite 1/10 Zugriff auf die Installation mit dem

Mehr

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Nach dem Update auf die Version 1.70 bekommen Sie eine Fehlermeldung,

Mehr

DOK. ART GD1. Citrix Portal

DOK. ART GD1. Citrix Portal Status Vorname Name Funktion Erstellt: Datum DD-MMM-YYYY Unterschrift Handwritten signature or electronic signature (time (CET) and name) 1 Zweck Dieses Dokument beschreibt wie das auf einem beliebigem

Mehr

Arduino. Die gesteuerte Open Design Revolution. UserCon 2012 15. Januar 2012, MfK /AXL für Hackerspace FFM

Arduino. Die gesteuerte Open Design Revolution. UserCon 2012 15. Januar 2012, MfK /AXL für Hackerspace FFM 1 Arduino Die gesteuerte Open Design Revolution UserCon 2012 15. Januar 2012, MfK /AXL für Hackerspace FFM Illustration mit Genehmigung von JamesProvost.com Übersicht 2 Idee und Motivation Was ist ein

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Bedienungsanleitung Software Program Loader V4.1

Bedienungsanleitung Software Program Loader V4.1 Bedienungsanleitung Software Program Loader V4.1 (PC Software für Microsoft Windows XP, VISTA, 7) Die vorliegende Bedienungsanleitung dient zur Installation der PC-Software für den Program Loader. Zur

Mehr

KURZANLEITUNG FÜR DIE. Installation von Nokia Connectivity Cable Drivers

KURZANLEITUNG FÜR DIE. Installation von Nokia Connectivity Cable Drivers KURZANLEITUNG FÜR DIE Installation von Nokia Connectivity Cable Drivers Inhalt 1. Einführung...1 2. Voraussetzungen...1 3. Installation von Nokia Connectivity Cable Drivers...2 3.1 Vor der Installation...2

Mehr

NEXT GENERATION MOBILE PHONE PLATFORMS

NEXT GENERATION MOBILE PHONE PLATFORMS Stephan Zeisberg NEXT GENERATION MOBILE PHONE PLATFORMS Ein Einblick in die Systemarchitekturen aktueller Smartphones 1 Motivation Technologischer Stillstand in der Entwicklung mobiler Betriebssysteme

Mehr

Der Mac-Stammtisch Immenstaad informiert: Tabellenkalkulation mit Apple Numbers auf Mac / iphone / ipad

Der Mac-Stammtisch Immenstaad informiert: Tabellenkalkulation mit Apple Numbers auf Mac / iphone / ipad Der Mac-Stammtisch Immenstaad informiert: Tabellenkalkulation mit Apple Numbers auf Mac / iphone / ipad Diese Beschreibung gibt eine Übersicht über Tabellenkalkulations- Programme für Apple-Geräte und

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Bewusster Umgang mit Smartphones

Bewusster Umgang mit Smartphones Bewusster Umgang mit Smartphones Komponenten Hardware OS-Prozessor, Baseband-Prozessor Sensoren Kamera, Mikrofon, GPS, Gyroskop, Kompass,... Netzwerk: WLAN-Adapter, NFC, Bluetooth,... Software Betriebssystem

Mehr

Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung

Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung In 2015 werden mehr Tablet-Computer verkauft werden als Desktopund tragbare Computer zusammen Quelle: IDC, Mai 2013 Aufgrund der

Mehr

März 2012. Funktionsweise von Eye-Fi Flussdiagramm-Übersicht

März 2012. Funktionsweise von Eye-Fi Flussdiagramm-Übersicht März 2012 Funktionsweise von Eye-Fi Flussdiagramm-Übersicht 2012 Visioneer, Inc. (ein Xerox-Markenlizenznehmer) Alle Rechte vorbehalten. XEROX, XEROX sowie Design und DocToMe sind eingetragene Marken der

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

Mehr

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors Installation und Konfiguration des Outlook Connectors Vertraulichkeit Die vorliegende Dokumentation beinhaltet vertrauliche Informationen und darf nicht an etwelche Konkurrenten der EveryWare AG weitergereicht

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

Aktive Controller: AVM ISDN TAPI Services for CAPI - Installation und Konfiguration für die Nutzung des Microsoft Faxdienstes unter Windows 2000

Aktive Controller: AVM ISDN TAPI Services for CAPI - Installation und Konfiguration für die Nutzung des Microsoft Faxdienstes unter Windows 2000 AVM GmbH Alt-Moabit 95 D-10559 Berlin Aktive Controller: AVM ISDN TAPI Services for CAPI - Installation und Konfiguration für die Nutzung des Microsoft Faxdienstes unter Windows 2000 Um den in Windows

Mehr

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

Mehr

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt. Arbeitsblätter Der Windows Small Business Server 2011 MCTS Trainer Vorbereitung zur MCTS Prüfung 70 169 Aufgaben Kapitel 1 1. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

Mehr

Systemdoku. Plattform: Scheduler. Dokumentenversion: 0.1 http://www.kyoto4u.de 2009 bei Janek Winz

Systemdoku. Plattform: Scheduler. Dokumentenversion: 0.1 http://www.kyoto4u.de 2009 bei Janek Winz Systemdoku Plattform: Scheduler Dokumentenversion: 0.1 http://www.kyoto4u.de 2009 bei Janek Winz Inhaltsverzeichnis KAPITEL / THEMA: SEITE: 1 Das Kyoto4u Projekt...3 2 Systemanforderungen...3 3 Installation...6

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum 10 Wochen

Mehr

25. Februar 2009, Version 1.0. Installationsanleitung Tivoli Storage Manager für Windows. Verwaltungsdirektion. Informatikdienste

25. Februar 2009, Version 1.0. Installationsanleitung Tivoli Storage Manager für Windows. Verwaltungsdirektion. Informatikdienste 25. Februar 2009, Version 1.0 Installationsanleitung für Windows Verwaltungsdirektion Informatikdienste Installationsanleitung für Windows Inhaltsverzeichnis...1 Installation... 1 Voraussetzungen...1 Ablauf

Mehr

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch ios - Wo steht es, wie geht es? Markus Stäuble MRM Worldwide GmbH 1 Feedback #ipdc10 #as 2 Agenda 3 Heute:

Mehr

Elexis Barcode Unterstützung Motorola

Elexis Barcode Unterstützung Motorola documentation Elexis Barcode Unterstützung Motorola Bezeichnung: Elexis Barcode Unterstützung für Motorola Barcode Scanner Author: Marco Descher Version: 1.0.1, Juni 2011 Beschreibung:

Mehr

TM1 mobile intelligence

TM1 mobile intelligence TM1 mobile intelligence TM1mobile ist eine hochportable, mobile Plattform State of the Art, realisiert als Mobile BI-Plug-In für IBM Cognos TM1 und konzipiert als Framework für die Realisierung anspruchsvoller

Mehr