Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

auf kleinen Linux-Devices

Ähnliche Präsentationen


Präsentation zum Thema: "auf kleinen Linux-Devices"—  Präsentation transkript:

1 auf kleinen Linux-Devices
Gerrit Telkamp DOMOLOGIC Home Automation GmbH 38106 Braunschweig GERMANY

2 auf kleinen Linux-Devices
DOMOLOGIC Gründung 1999 „Spin-Off“ der TU Braunschweig Seit 1995 aktiv im Bereich „Home Automation“ Seit 2000 Mitglied der Konnex-Association Sitz im Technologiepark Braunschweig Z.Zt. 5 dauerhafte Mitarbeiter Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

3 auf kleinen Linux-Devices
Unternehmensziele Vorentwicklung: Software-Module Schaltungs-Konzepte Auftragsentwicklung Hardware Software Consulting Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

4 auf kleinen Linux-Devices
Kernkompetenzen Embedded Systems (8-32 Bit) Embedded JAVA Embedded Linux HMI (Human-Machine-Interface) frei konfigurierbar, z.B. Touch-Panel Gerätekommunikation Konnex PL132, EIB, LON, CAN Ethernet, Web-basierte Dienste Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

5 auf kleinen Linux-Devices
Referenzen EU-Projekte: HOME-AOM, ASK-IT Intelligentes Haus Gifhorn Entwicklung von Soft- und Hardware für Tür-Kommunikationsanlage Power-Line-Analyzer Kommunikationslösungen für ANSI/EIA-709 Grafische Benutzeroberflächen ... Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

6 auf kleinen Linux-Devices
Motivation steigende Anforderungen an Embedded Systems Integration in IP-Netze Komfortable HMI (Human Machine Interfaces) Hoher Kostendruck der Hardware bei Massenprodukten Niedrige Leistungsaufnahme Kleine Baugröße Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

7 auf kleinen Linux-Devices
Anwendungsbeispiele Gateways Umfangreicher Support an Netzwerkprotokollen diverse Bibliotheken (z.B. gsmlib) verbreitete & gut dokumentierte API Touch-Panels Vielzahl an Gerätetreibern eingeschränkte Unterstützung von einfachen GUIs Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

8 auf kleinen Linux-Devices
JControl (I) Lösung: Kombination uCLinux als freies Betriebssystem: kontinuierliche Weiterentwicklung Quelltexte verfügbar JAVA als objektorientierte Programmiersprache Klassenbibliotheken stellen fertige Software-Komponenten zur Verfügung (z.B. GUI-Framework) Garbage Collector Plattformunabhängigkeit Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

9 auf kleinen Linux-Devices
JControl (II) JControlVM skalierbar von 8 bis 32 Bit Hier: Betriebssystem uClinux ab 60kB Speicherbedarf alle Peripheriekomponenten als Klassenbibliothekenlokal: I/O-Komponenten, Sensoren, Aktoren remote: Komponenten anderer Geräte über Bussysteme optimiertes Speichermanagement JControl-Entwicklungsumgebung Compiler, Projektmanagement, Simulator, Debugger Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

10 auf kleinen Linux-Devices
JControl (III) JControl-Produkte 60 x 42mm Grafik-LCD mit 128 x 64 Pixel Diverse I/O Steuerleitungen Analog-Eingänge PWM-Ausgänge Bus-Systeme etc. 8-Bit Mikrocontroller-Kern 2k Arbeitsspeicher 64k-256k FLASH für Anwendungen Stromaufnahme: ca. 10mA Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

11 auf kleinen Linux-Devices
JControl (IV) Tür-Sprechstelle Video-Speicher Touch-Panel Frei konfigurierbare Benutzeroberfläche Embedded Linux mit uClinux Embedded JAVA mit JControl Feld-Bus-Systeme EIB, YR-Bus Spezielles GUI-Design, spezielle Schriftsätze Firmware-Update über serielle Schnittstelle Umfangreiche Test- und Diagnose-Funktionen Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

12 auf kleinen Linux-Devices
JControl (V) SmartHome Terminal Power-Line Kommunikation (PL132) „Tür-Terminal“ für Signalisierung von Fehlerzuständen Geräte werden beim Öffnen der Tür überprüft Bedienung per Touch Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

13 auf kleinen Linux-Devices
JControl (VI) Ethernet-CAN-Gateway Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

14 auf kleinen Linux-Devices
JControl (VII) Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

15 auf kleinen Linux-Devices
Historie - uClinux „Standard“-Linux setzt auf PC-Technologie auf uClinux: Linux für MMU-lose Systeme (z.B. PALM-Devices) uClinux = „you see Linux“ Kenneth Albanowski und D. Jeff Dionne, 1998 ColdFire-Port: Greg Ungerer, 1999 Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

16 Plattformen für uClinux (1)
32-Bit-Systeme ohne MMU (Memory Management Unit), z.B.: „PALM-Size” Motorola M68k Motorola ColdFIRE ARM7 NEC V850 Hitachi H8, SH4 XILINX MicroBlaze Leistung in etwa vergleichbar mit MHz Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

17 Plattformen für uClinux (2)
Kompakte Hardware: ab 3-Chip-Lösung Prozessor RAM ROM (FLASH) Stromverbrauch: <1W Speicherausstattung: 1..16MB RAM MB FLASH Memory Systemkosten:  €30,00 Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

18 auf kleinen Linux-Devices
JControl/IDE (I) IDE für Kopplung zwischen Host und Target Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

19 auf kleinen Linux-Devices
JControl/IDE (II) Entwicklungsumgebung Integrierte Entwicklungs- umgebung (IDE) Editor Compiler Upload/Download Bildbearbeitung Schriftsatz ... Integrierte Simulation Software-Entwicklung auf Geräte-Ebene, nicht auf Prozessor-Ebene Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

20 auf kleinen Linux-Devices
JControl/IDE (III) PictureEdit - Bildbearbeitung für LCDs Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

21 auf kleinen Linux-Devices
JControl/IDE (IV) FontEdit - Schriftsatzerstellung Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

22 auf kleinen Linux-Devices
JControl/IDE (V) MelodyEdit - Melodien Bearbeiten Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

23 auf kleinen Linux-Devices
JControl/IDE (VI) Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

24 auf kleinen Linux-Devices
JControl im Vergleich JControl im Vergleich zu anderen Implementierungen: Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

25 auf kleinen Linux-Devices
Aufbau der JControlVM Mikrokernel: Scheduling Execution Runtime-Environment in Threads ausgelagert Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

26 Komponentenbibliothek
Schaltflächen: Text und Bilder: Messwert-Visualisierungen: Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

27 auf kleinen Linux-Devices
Beispiel (I) /** * VoleButtonExample: Example using the three Vole button types */ public class VoleButtonExample extends Frame { public VoleButtonExample() { // create a simple button and add it to the frame Button simpleButton = new Button("Press me!", 30, 45, 65, 12); this.add(simpleButton); // create a Container with three RadioButtons and a Border around it Container c1 = new Container(); RadioButton rb1 = new RadioButton("Radio 1", 5, 8); RadioButton rb2 = new RadioButton("Radio 2", 5, 18); RadioButton rb3 = new RadioButton("Radio 3", 5, 28); // add the RadioButtons to the Container c1.add(rb1); c1.add(rb2); c1.add(rb3); // add a Border c1.add(new Border("RadioButtons", 0, 0, 60, 40)); // add the Container to the Frame this.add(c1); // create a Container with two CheckBoxes and a Border around it Container c2 = new Container(); CheckBox cb1 = new CheckBox("Check 1", 69, 10); CheckBox cb2 = new CheckBox("Check 2", 69, 23); // add the CheckBoxes to the Container c2.add(cb1); c2.add(cb2); c2.add(new Border("CheckBoxes", 64, 0, 60, 40)); // add the second Container to the Frame this.add(c2); } * Instantiate and run the VoleButtonExample. public static void main(String[] args) { VoleButtonExample vbe = new VoleButtonExample(); // make the Frame visible vbe.show(); Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

28 auf kleinen Linux-Devices
Beispiel (II) Hardware-Monitor Überwachung von PC-Hardware über I²C/SMBus Menü-Steuerung Animierte Grafiken zur Visualisierung des Systemzustands Implementierung mit Vole und JControl 1 Tag Entwicklungsaufwand inkl. Validierung Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

29 auf kleinen Linux-Devices
Fazit Vorteile gegenüber rein C-basierten Lösungen: Kürzere Entwicklungszeiten Middleware-Aspekt Alle Vorteile von JAVA enthalten (Garbage Collection, ...) Effizienzsteigerung Rapid-Prototyping-Entwicklungsumgebung Echtes HW-SW-Codesign möglich Code-Reuse durch Plattformunabhängigkeit Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices

30 auf kleinen Linux-Devices
Future Work RAPS XUI Gerrit Telkamp DOMOLOGIC Java auf kleinen Linux-Devices


Herunterladen ppt "auf kleinen Linux-Devices"

Ähnliche Präsentationen


Google-Anzeigen