Eclipse und leJOS

In diesen Kapitel zeige ich euch folgendes:

  • Installation und Konfiguration der Entwicklungsumgebung Eclipse
  • Installation des EV3-Plugin in Eclipse
  • Erzeugen und Ausführen eures ersten EV3-Programms

Als erstes solltet ihr euch die aktuellste Version der Entwicklungsumgebung Eclipse von hier herunterladen: Eclipse-Versionen. Zum Zeitpunkt der Erstellung dieser Seiten war die aktuellste Version Eclipse Neon. Zum Entwickeln von Programmen für den EV3 reicht die Version Eclipse IDE Version for Java Developers aus.

Nach dem herunterladen entpackt ihr die Version und kopiert sie in ein Verzeichnis eurer Wahl. Wichtig ist, dass ihr wie unter Programmieren mit Java beschrieben, ein JAVA-SDK auf eurem Rechner installiert habt. Danach könnt ihr Eclipse starten. Beim Start fragt euch Eclipse noch nach einem Verzeichnis für euren Workspace. In diesem Workspace legt ihr später die verschiedenen Projekte und Programme für euren EV3 und die dazugehörigen Bibliotheken von leJOS und EV3JLIB ab.

Eclipse Workspace

Eingabe des Eclipse Workspace

In Eclipse könnt ihr beliebig viele Workspaces für unterschiedliche Projekte anlegen und anschließend jederzeit mit File -> Switch Workspace einen anderen Workspace auswählen.

EV3 Plugin für Eclipse

Im nächsten Schritt, solltet ihr euch das Plugin für den EV3 in Eclipse installieren. Das Eclipse-Plugin kann u.a. folgendes:

  • Einfaches Erzeugen von neuen EV3-Java-Projekten
  • Automatisches Hochladen der Programme zum EV3-Brick beim Start oder Debug des Programms
  • Erzeugen des Java-Packages zum Hochladen in den EV3-Brick und Ausführen im EV3
  • EV3-Control-Center (z.B. zum Verwalten der Programme auf dem EV3)
  • SD-Card-Tool zum Erzeugen von Images

Das Plugin könnt ihr auf zwei unterschiedliche Arten installieren. Zum einen über den Eclipse Marketplace, den ihr mit Help -> Eclipse Marketplace.. in Eclipse starten könnt. Im Marketplace sucht ihr dann z.B. nach dem Begriff lejos und solltet als Ergebnis das Plugin angezeigt bekommen (im Beispiel wurden die Plugins für den EV3 und den Vorgänger NXT gefunden). Mit Klick auf Install beim leJOS EV3-Plug-in könnt ihr das passende Plugin für den EV3 installieren.

EV3-Plugins

EV3-Plugins im Eclipse Marketplace

Die zweite Möglichkeit geht über Help -> Install New Software.. in Eclipse. Hier müsst ihr die Repository-URL des Herstellers vom Plugin per Hand eingeben und einen Namen vergeben: http://lejos.sourceforge.net/tools/eclipse/plugin/ev3. Danach könnt ihr die Installation des Plugins ebenfalls starten.

EV3-Plugin

EV3-Plugin manuelle Installation

Nach erfolgreicher Installation des Plugins, müsst ihr es noch konfigurieren. Dies führt ihr in Eclipse unter Eclipse -> Einstellungen -> leJOS EV3 durch. Als erstes müsst ihr hier das EV3_HOME-Verzeichnis setzen. Das Verzeichnis ist das Start-Verzeichnis der leJOS-Version, die wir im vorherigen Schritt bereits heruntergeladen haben. Dort sind alle benötigten EV3-JAVA-Bibliotheken, Dokumentationen und Beispiel-Programme vorhanden. Ich hab das ganze leJOS-Verzeichnis in ein Verzeichnis Lib in meinem EV3-Workspace kopiert, damit das alles nicht so verstreut auf der Festplatte rumfliegt.

Die übrigen Einstellungen solltet ihr zunächst so lassen wie vorgeschlagen. Lediglich die Checkbox Connect to named Brick solltet ihr markieren und die IP-Adresse eures EV3-Brick hier eintragen, damit das Plugin Verbindung mit dem EV3 aufnehmen kann. Dadurch können eure Programme direkt über Eclipse debugged oder gestartet werden. Zudem könnt ihr dann über das EV3-Plugin-Controlcenter auf den EV3 zugreifen. Voraussetzung dafür ist allerdings, das ihr bereits eine funktionierende Verbindung zu eurem EV3 per WLAN, USB oder Bluetooth aufgebaut habt (Verbindung mit dem EV3).

EV3 Plugin Konfiguration

Konfiguration des Plugins

Ist alles gut verlaufen habt ihr jetzt in Eclipse unter File -> New -> Project.. die Möglichkeit ein EV3-Projekt neu anzulegen. Erzeugt ihr mit dieser Option ein  neues Projekt, werden bereits alle benötigten leJOS-Java-Bibliotheken in das Projekt mit eingebunden.

Plugin Features

EV3-Plugin Features

Zusätzlich gibt es in der Menü-Leiste unter leJOS EV3 jetzt die Tools EV3Control und EV3SDCard. Mit dem Tool Ev3Control könnt ihr z.B. eure Programme direkt im EV3 verwalten oder ausführen, Sensoren oder Motoren direkt testen.

EV3-Plugin-Menü

Tools des EV3-Plugins

EV3-Projekt anlegen

Unter dem Menüpunkt Eclipse -> Einstellungen -> Java -> Installed JREs könnt ihr die JAVA-JDKs zur Entwicklungsumgebung hinzufügen, die ihr für eure Projekte verwenden wollt. Im Beispiel hab ich die JAVA-SDKs 1.7 und 1.8 hinzugefügt und als Standard-SDK die Version 1.8 markiert. Später könnt ihr jedoch für jedes Projekt festlegen,  welches JDK verwenden soll.

Installed JREs

Installierte JAVA-SDKs

Zum Test, ob die Programme auf den EV3 übertragen und ausgeführt werden können legen wir nun ein kleines Test-Projekt an und starten dann anschliessend das Programm auf dem EV3 aus Eclipse heraus, mit dem EV3-Plugin-Control-Center und direkt am EV3. Das kleine Programm gibt lediglich einen Text auf dem LCD-Display des EV3 aus. Aber damit könnt ihr schon folgendes testen:

  • Sind die leJOS-JAVA-Bibliotheken korrekt im Projekt eingefügt
  • Gibt es Kompilierungs-Fehler
  • Klappt die Verbindung zum EV3
  • Lässt sich dass Programm zum EV3 hochladen
  • Lässt sich das Programm ohne Fehler ausführen
  • Ist das Programm mit der korrekten JAVA-Version (1.7) kompiliert

Als erstes legen wir ein neues EV3-Projekt mit  File -> New -> Project.. -> leJOS EV3 Project anUnter Projekt-Name geben wir den Namen des EV3-Projekts ein. Ich nenne das mal lejos. Unter JRE wählen wir z.B. Use a project specific JRE aus. Und als JRE wählen wir z.B. das im vorherigen Schritt konfigurierte JDK 1.8 aus.

EV3-Projekt

EV3-Projekt anlegen

Nach dem Klick auf den Finish – Button wird das Projekt angelegt und enthält bereits die für leJOS benötigten JAVA-Bibliotheken.

Neue EV3 Projekt

EV3 Projekt mit leJOS-JAVA-Klassem

Wenn wir wie im Beispiel das JDK 1.8 für das EV3-Projekt ausgewählt haben, müssen wir jetzt noch die Compiler-Einstellung für das gesamte Projekt auf die JAVA Version 1.7 einstellen. Würden wir das Projekt mit der Version 1.8 des Compilers übersetzen, käme es beim Start im EV3 zu einen Runtime-Fehler wegen einer falschen JAVA-Version. Das Umstellen der Compiler-Version geht am einfachsten mit einem rechten Mausklick auf das Projekt lejos und Auswahl von Properties -> Java Compiler. Dort wählen wir unter Compiler compliance level die Version 1.7 aus der Dropdown-Box.

Korrekte Compiler-Version

Auf Compiler Version 1.7 umstellen

Habt ihr zusätzlich das JDK 1.7 installiert, könnt ihr dieses SDK alternativ für euer Projekt auswählen und müsst dann die Compiler-Einstellung nicht mehr anpassen. Das JDK für euer Projekt ändert ihr wieder mit rechtem Mausklick auf das Projekt und Auswahl von Properties -> Java Build Path -> Libraries. Dann wählt ihr das JDK aus (hier JRE 1.8) und klickt auf den Button Edit. Jetzt könnt ihr bei Alternate JRE euer installiertes JDK 1.7 auswählen oder falls noch nicht geschehen, mit Installed JRE’s neu zu Eclipse hinzufügen.

JDK 1.7 Auswahl

Auswahl eine JDKs

So, nun fehlt nur noch das Java-Programm, das die Meldung auf dem EV3-Display ausgibt. Zunächst legen wir eine neue Klasse an. Das geht über File -> New -> Class. Als Package-Namen hab ich com.lego.ev3.lejos vergeben, weil das ein Programm für den Lego-Roboter EV3 mit den Klassen von leJOS werden soll. Als Namen wählt ihr z.B. LCDTest.

 

JAVA-Klasse anlegen

Neue Klasse anlegen

Mit Klick auf Finish wird die Java-Klasse angelegt. .

Neue JAVA-Klasse

Leere JAVA-Klasse

Falls ihr einen anderen Package- oder Klassen-Namen wählt, müsst ihr das in dem Beispiel-Code entsprechend anpassen. Kopiert nun folgenden Beispiel-Code in eure neu angelegte Klasse:

package com.lego.ev3.lejos;

import lejos.hardware.ev3.LocalEV3;
import lejos.hardware.lcd.GraphicsLCD;
import lejos.utility.Delay;

public class LCDTest {
    public static void introMessage() {
        GraphicsLCD g = LocalEV3.get().getGraphicsLCD();
        g.drawString("Hallo Welt", 5, 0, 0);
        Delay.msDelay(5000);
    }

    public static void main(String[] args) {
        introMessage();
    }
}

EV3-Programm ausführen

Am einfachsten lässt sich das Programm mit Run -> Run As -> leJOS EV3 Program direkt in Eclipse starten (Damit Run As oder Debug As im Menü erscheint, müsst ihr eventuell in das Editor-Fenster klicken). Dadurch erzeugt Eclipse das passende JAVA-Archiv (LCDTest.jar), sendet es an den EV3 und startet es. Mit Run -> Debug As -> leJOS EV3 Program könnt ihr das Programm in Eclipse debuggen, also Breakpoints setzen, Variablen anschauen u.s.w.

EV3-Programm ausführen

Programm starten

Wenn ihr das Programm startet, sollte der Text “Hallo Welt” auf dem Display des EV3 ausgegeben werden und nach 5 Sekunden wieder beendet werden. Wichtig ist nur, dass euer Rechner mit dem EV3 verbunden ist.

Optional lässt sich das Programm nun auch mit dem EV3-Control-Center des EV3-Plugins manuell auf den EV3 hochladen und starten. Dazu ruft ihr das Control-Center in Eclipse mit leJOS EV3 -> Start EV3Control auf. Im Control-Center sucht ihr dann über Search den EV3 und verbindet das Control-Center mit Connect mit dem EV3. Danach könnt ihr unter Programs mit Upload File euer Test-Programm auf den EV3 hochladen. Das Test-Programm findet ihr auf eurem Rechner im Workspace von Eclipse im neu angelegten Projekt-Verzeichnis lejos unter dem Namen LCDTest.jar. Mit Klick auf Run Program könnt ihr das ausgewählte Programm im EV3 starten.

Upload und Start

Upload und Start über Control-Center

Zusätzlich könnt ihr bei das Programm auch direkt über das Menu des EV3 starten: Programs -> LCDTest.jar auswählen und starten. Das ist zum Beispiel dann sinnvoll, wenn euer Programm im EV3 autonom, also ohne Verbindung zu eurem Rechner, laufen soll.

Weiter geht’s mit ein paar Beispiel-Programmen für leJOS.