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:
- Eine SD-Karte mit leJOS EV3 für den Brick zu erstellen
- Programme auf den Roboter zu laden
- Den EV3 Control Center zu verwenden
Help > Install new softwarebzw.
Hilfe > Neue Software installierenFügen Sie die nachfolgende Repository URL hinzu (z.B. unter der Bezeichnung "leJOS EV3"):
http://lejos.sourceforge.net/tools/eclipse/plugin/ev3Nach Auswahl der Checkbox können Sie das Plugin installieren.
Nach der Installation ist ein Neustart von Eclipse erforderlich. Anschließend müssen Sie unter
Window > Preferencesbzw.
Fenster > Einstellungen"EV3_HOME" auf den Installationspfad von leJOS EV3 setzen:
/home/[user]/eclipse/leJOS_EV3_0.9.1-betaWichtig: Die Checkbox "Run Tools in separate JVM" muss aktiviert sein, sonst funktioniert der "EV3 Control Center" sowie der "EV3 SD Card Creator" nicht.
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:
Nutzen Sie den dortigen Link zum Download der EV3 Oracle JRE
. Wichtige Punkte:
- Sie benötigen einen Oracle Account.
- 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
- 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:
Korrekt sieht es so aus:
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:
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:
- LeJOSNXTExtension.jar speichern in "Installationspfad"/BlueJ/lib/extensions-Verzeichnis
- Nach BlueJ-Start ins Menü "Tools>Preferences" (Werkzeuge>Einstellungen) wechseln
- Im "Libraries"-Tab die Datei classes.jar hinzufügen (Abbildung 1)
- Im "Extensions"-Tab gibt man den Pfad zum "lejos_nxj"-Verzeichnis an (Abbildung 2)
- BlueJ neu starten
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).
- Installation des JDK (Java Development Kit, Java-Entwicklungswerkzeuge) und des Java-Editors
- 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.
- 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.
- Flashen des NXT-Bausteins: zum Beispiel über die entsprechende Schaltfläche des Java-Editors bei einer USB-Verbindung
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