Softwareinstallationen

Zunächst finden Sie hier eine Installationsanleitung für den EV3-Baustein unter Verwendung von Linux Ubuntu 18.04.1 LTS (Bionic Beaver) und Eclipse. Die Installationspfade sind Vorschläge. Darunter sind diverse Möglichkeiten (Editoren und Betriebssysteme) für den NXT/NXJ-Baustein aufgeführt.

1. Schritt: Download und Installation von Eclipse

Laden Sie die aktuelle Version (eclipse-inst-linux64.tar.gz) von Eclipse herunter. Verwenden Sie nicht die Version von "Ubuntu Software", da sich diese wegen eines Java-Version-Konflikts nicht starten lässt. Anders als beim NXT funktioniert die 64-bit Version. Installieren Sie Eclipse in:

/home/[user]/eclipse

2. Schritt: Download von leJOS EV3 (Java für den LEGO EV3-Brick)

Um einen Roboter mit Java programmieren zu können, benötigt man leJOS. leJOS ist eine Bibliothek, bestehend aus einer winzigen "Java Virtual Machine", einer Programmierschnittstelle und Werkzeugen, um zwischen Rechner und Roboter zu interagieren (z.B. um ein Programm auf den Roboter zu laden). Man erhält dadurch typische Java-Funktionalitäten wie Kontrollstrukturen, Objektorientierung, Threads, Rekursion, Arrays und viele Klassen der Standardbibliotheken.

Laden Sie das leJOS EV3 entsprechende Paket leJOS_EV3_0.9.1-beta.tar.gz herunter und entpacken Sie es als Unterordner von Eclipse:

  /home/[user]/eclipse/leJOS_EV3_0.9.1-beta
  

3. Schritt: Installation und Konfiguration von leJOS-Plugin für Eclipse

Durch das Plugin wird es u.a. möglich:

Gehen Sie dazu in Eclipse auf:
Help > Install new software
bzw.
Hilfe > Neue Software installieren
Fügen Sie die nachfolgende Repository URL hinzu (z.B. unter der Bezeichnung "leJOS EV3"):
http://lejos.sourceforge.net/tools/eclipse/plugin/ev3
Nach Auswahl der Checkbox können Sie das Plugin installieren.
Installation des leJOS-EV3-Plugin für Eclipse[1]

Nach der Installation ist ein Neustart von Eclipse erforderlich. Anschließend müssen Sie unter

Window > Preferences
bzw.
Fenster > Einstellungen
"EV3_HOME" auf den Installationspfad von leJOS EV3 setzen:
/home/[user]/eclipse/leJOS_EV3_0.9.1-beta
Wichtig: Die Checkbox "Run Tools in separate JVM" muss aktiviert sein, sonst funktioniert der "EV3 Control Center" sowie der "EV3 SD Card Creator" nicht.
Konfiguration des leJOS-EV3-Plugin für Eclipse[2]

4. Schritt: Erstellen einer leJOS EV3 SD-Karte für den EV3-Brick

Im Unterschied zum NXT-Brick wird bei EV3 eine vorbereitete SD-Karte in den EV3-Brick eingesteckt. Die SD-Karte darf 2GB bis maximal 16GB groß sein und muss mit FAT vorformatiert werden. In Eclipse rufen Sie den "EV3 SD Card Creator" auf:

EV3 SD Card Creator Dialog[3]

Nutzen Sie den dortigen Link zum Download der EV3 Oracle JRE. Wichtige Punkte:

  1. Sie benötigen einen Oracle Account.
  2. Laden Sie die JRE herunter, nicht das JDK, da auf dem Brick ja nur ausgeführt und nicht kompiliert wird. Speicherort von ejre-7u60-fcs-b19-linux-arm-sflt-headless-07_may_2014.tar.gz ist:
        /home/[user]/eclipse
        
  3. Die derzeitige Version des EV3 SD Card Creator hat den Bug, dass man nur auf das Wurzelverzeichnis "/" zugreifen kann, nicht jedoch auf die SD-Karte selbst (z.B.: /media/[user]]/ROBO). Deshalb wird nachfolgend die Kartenbeschreibung manuell fortgesetzt.

Kopieren Sie nun ejre-7u60-fcs-b19-linux-arm-sflt-headless-07_may_2014.tar.gz ins Wurzelverzeichnis der SD-Karte. Entpacken Sie anschließend das Lejosimage /home/gum/eclipse/leJOS_EV3_0.9.1-beta/lejosimage.zip ebenfalls in das Wurzelverzeichnis der SD-Karte. Wichtig: Es darf nicht in einem Unterordner liegen, wird aber standardmäßig so entpackt. Falsch ist:

SD-Karte falsch beschrieben[4]

Korrekt sieht es so aus:

SD-Karte korrekt beschrieben[5]

Nun entfernen Sie die SD-Karte sicher aus dem Rechner und stecken Sie sie in den EV3-Brick. Nach dem Einschalten initialisiert sich der Brick mit der EV3-Software (das Display gibt eine Rückmeldung). Erstmalig kann der Prozess mehrere Minuten dauern, nachfolgende Starts dauern ca. eine Minute. Entfernt man die SD-Karte aus dem Brick, so startet dieser "ganz normal" die Lego Mindstorms Software ohne leJOS EV3 (beim NXT musste man das alte System wieder "drüberflashen").

NXJ/NXT Technologie

leJOS: Java für LEGO Mindstorms

Um einen Roboter mit Java programmieren zu können, benötigt man leJOS. leJOS ist eine Bibliothek, bestehend aus einer winzigen "Java Virtual Machine", einer Programmierschnittstelle und Werkzeugen, um zwischen Rechner und Roboter zu interagieren (z.B. um ein Programm auf den Roboter zu laden). Man erhält dadurch typische Java-Funktionalitäten wie Kontrollstrukturen, Objektorientierung, Threads, Rekursion, Arrays und viele Klassen der Standardbibliotheken. Das entsprechende leJOS muss man je nach Robotertyp (EV3, NXT, RCX) herunterladen. Achten Sie dabei auch auf die Art Ihres Betriebssystems!

Im Folgenden werden vier Software-Varianten zur Programmierung eines NXT vorgestellt. (Falls Sie einen EV3 besitzen, sei auf folgende Quelle verwiesen).

Variante 1: Eclipse mit nxj-Plugin

Im professionellen Java-Bereich ist Eclipse eine beliebte Entwicklungsumgebung. Gegen den Einsatz im Schulumfeld spricht der gewöhnungsbedürftige komplexe Funktionsumfang, von dem nur ein Bruchteil Anwendung findet. Dafür sprechen ein installierbares leJOS-Plugin sowie eine gute Strukturierungsmöglichkeit seiner Programme in Workspaces, Projekten und Paketen. Ferner existiert ein sehr empfehlenswertes Tutorial, das einem nützliche Hinweise und Warnungen vor Installations-Tücken bereitstellt (z.B. benötigt man aufgrund von leJOS NXJ eine 32-bit Version von Eclipse, auch wenn man ein 64-bit System besitzt). Mit installiertem Plugin muss man noch unter Window>Preferences den Pfad zu NXJ_HOME setzen:

Screenshot: Eclipse leJOS-NXJ-Plugin: Preferences-Tab[6]

Variante 2: BlueJ mit Plugin

BlueJ ist eine für Ausbildungszwecke konzipierte integrierte Java-Entwicklungsumgebung. Die IDE ist für alle gängigen Plattformen verfügbar. Beachten Sie bei der Installation, dass Sie ein JDK (Java Development Kit) benötigen. Bei manchen BlueJ-Installationspaketen ist das JDK bereits mit integriert. Dennoch kann es sein, dass Sie beim erstmaligen Start von BlueJ noch Pfade zur JDK (z.B. /usr/bin/javac) setzen müssen.

Auch für BlueJ existiert fü den NXT ein leJOS-Plugin namens LeJOSNXTExtension.jar, mit dem man über eine Erweiterung im Kontextmenü zwischen der IDE und dem Roboter interagieren kann. Ein empfehlenswertes Tutorial erläutert die folgenden notwendigen Einzelschritte im Detail:

  1. LeJOSNXTExtension.jar speichern in "Installationspfad"/BlueJ/lib/extensions-Verzeichnis
  2. Nach BlueJ-Start ins Menü "Tools>Preferences" (Werkzeuge>Einstellungen) wechseln
  3. Im "Libraries"-Tab die Datei classes.jar hinzufügen (Abbildung 1)
  4. Im "Extensions"-Tab gibt man den Pfad zum "lejos_nxj"-Verzeichnis an (Abbildung 2)
  5. BlueJ neu starten
Screenshot: BlueJ leJOS-NXT-Plugin: Libraries-Tab[7]
Screenshot: BlueJ leJOS-NXT-Plugin: Extensions-Tab[8]

Auch hier sollte man im Fehlerfall seine Berechtigungen überprüfen, ggf. müssen Verzeichnisse mit chmod diesbezüglich verändert werden. Es empfiehlt sich, BlueJ bereits mit Administrationsrechten zu starten (z.B. mit sudo). Ein Timeout beim Hochladen eines Programms auf den Roboter kann ein Seiteneffekt von nicht vorhandenen Rechten sein.

Variante 3: Notepad++ und Shell-Script

Man kann seine Programme unabhängig von einer Programmierumgebung in einem Editor schreiben, z.B. mit Notepad++. Anschließend muss man sein Java-Programm "manuell" über die Kommandozeile (Konsole | Shell | Terminal | Eingabeaufforderung) unter der Verwendung der leJOS-Werkzeuge kompilieren und auf den Roboter portieren. Nützlich sind hierbei Shellskripts (Linux), AppleScript (Mac OS) bzw. BAT-Dateien (Microsoft Windows).

Bei Linux können etwaige Berechtigungshürden durch sudo überwunden werden. Windows erlaubt in neueren Versionen abhängig vom Typ des Benutzerkontos unter Umständen das Ausführen einer solchen Datei überhaupt nicht.

Variante 4: Java-Editor

Der Java-Editor von Gerhard Röhner unterstützt die Programmierung mit leJOS für alle drei Mindstorms-Varianten (RCX, NXT und EV3). Um Programme für das hier beschriebene NXT-System zu erstellen und auf dem NXT-Baustein auszuführen sind folgende Schritte notwendig.

Für die Übertragung von Programmen kann später eine Bluetooth-Verbindung genutzt werden, zur Übertragung der leJOS-Firmware (Flashen) auf den Baustein ist jedoch eine USB-Verbindung notwendig (Schritte 3 +4).

  1. Installation des JDK (Java Development Kit, Java-Entwicklungswerkzeuge) und des Java-Editors
  2. Konfiguration des Java-Editors: Beachte insbesondere Abschnitte Dokumentation und Mindstorms: Hier können automatisiert die API (application programming interface, Schnittstelle für den Anwendungsprogrammierer), ein JAVA-Handbuch sowie das leJOS installiert und zur Verwendung mit dem Java-Editor eingerichtet werden.
  3. Installation des USB-Treibers (Download the NXT Fantom Driver) für den NXT-Baustein. Ist auf dem PC bereits die NXT-G-Software installiert, so sollte auch der Treiber bereits installiert sein.
  4. Flashen des NXT-Bausteins: zum Beispiel über die entsprechende Schaltfläche des Java-Editors bei einer USB-Verbindung
    Screenshot: Java-Editor mit Mindstorms-Schaltfläche zum Flashen[9]

Quellen

  • http://www.lejos.org/
  • http://www.lejos.org/nxt/nxj/tutorial/Preliminaries/UsingEclipse.htm
  • http://www.bluej.org/
  • http://homepages.herts.ac.uk/~comqdhb/lego/bluej.php
  • http://www.java-online.ch/lego/
  • http://javaeditor.org
  • [1]: Installation des leJOS-EV3-Plugin für Eclipse - Urheber: mks - Lizenz: Inf-Schule.de
  • [2]: Konfiguration des leJOS-EV3-Plugin für Eclipse - Urheber: mks - Lizenz: Inf-Schule.de
  • [3]: EV3 SD Card Creator Dialog - Urheber: mks - Lizenz: Inf-Schule.de
  • [4]: SD-Karte falsch beschrieben - Urheber: mks - Lizenz: Inf-Schule.de
  • [5]: SD-Karte korrekt beschrieben - Urheber: mks - Lizenz: Inf-Schule.de
  • [6]: Screenshot: Eclipse leJOS-NXJ-Plugin: Preferences-Tab - Urheber: mks - Lizenz: Inf-Schule.de
  • [7]: Screenshot: BlueJ leJOS-NXT-Plugin: Libraries-Tab - Urheber: mks - Lizenz: Inf-Schule.de
  • [8]: Screenshot: BlueJ leJOS-NXT-Plugin: Extensions-Tab - Urheber: mks - Lizenz: Inf-Schule.de
  • [9]: Schaltflächen zum Flashen mit dem Java-Editor - Urheber: BF - Lizenz: Inf-Schule.de
X

Fehler melden

X

Suche