Erste Schritte mit Lejos unter Linux


Lejos ist eine Java Entwicklungsumgebung für den NXT Computer von Lego Minstorms. Diese Anleitung wurde unter Ubuntu 12.04 getestet.


Installation

Die gesamte Installation führst Du als Administrator (root) durch. Mounte die Installations-CD in einem Terminal-Fenster:


sudo su -

mount /dev/cdrom /mnt


Installiere Java und Libraries

Lejos benötigt ein 32-bit (!) Java Development Kit in Version 6 oder 7.


Darüber hinaus werden während der Installation die Programme ant, der GNU C Compiler und einige Libraries benötigt.


Wenn Du ein 32-bit Linux hast, installiere Java:

apt-get install ant libusb-dev libbluetooth-dev openjdk-6-jdk


Wenn Du ein 64-bit Linux hast, installiere:


apt-get install ant libusb-dev libbluetooth-dev ia32-libs


Wenn Du ein 64-bit Linux hast, oder Dein Linux kein Java 6 (bzw. 7) Development Kit mehr enthält, installiere das 32-bit Java Development Kit manuell:


cd „/mnt/Lejos CD“

cp jdk-6u41-linux-i586.bin /opt

cd /opt

chmod u+x jdk-6u41-linux-i586.bin

./jdk-6u41-linux-i586.bin

rm jdk-6u41-linux-i586.bin

export PATH=/opt/jdk1.6.0_41/bin:$PATH


Nun musst Du noch die Datei .bashrc in Deinem Heimverzeichnis mit einem Texteditor (z.B. gedit oder kate) editieren:


gedit /home/<dein name>/.bashrc


Ganz am Ende der Datei fügst Du folgende Zeile ein:


export PATH=/opt/jdk1.6.0_41/bin:$PATH



Installiere Lejos

Gib im Terminal-Fenster folgende Befehle ein:


cd /opt

tar -xvzf „/mnt/Lejos CD/leJOS_NXJ_0.9.1beta-3.tar.gz“

mv leJOS_NXJ_0.9.1beta-3 lejos

chmod a+x lejos/bin/nxj*

cd lejos/build

ant


Es sollte die Meldung „BUILD SUCCESSFUL“ erscheinen.


Editiere die Datei .bashrc in Deinem Heimverzeichnis mit einem Texteditor (z.B. gedit oder kate):


gedit /home/<dein name>/.bashrc


Ganz am Ende der Datei fügst Du folgenden Zeilen ein:


export PATH=/opt/lejos/bin:$PATH

export NXJ_HOME=/opt/lejos


Installiere die Firmware

Falls die Lejos Firmware noch nicht auf dem NXT Computer installiert ist, geht das folgendermaßen:

Schließen den NXT Computer per USB an Deinen Computer an und schalte ihn ein.

Auf der Rückseite des NXT Computer befinden sich 12 Befestigungslöcher. In dem Loch in der Ecke, wo der USB Anschluss ist, verbirgt sich ein Reset-Knopf. Den musst Du 4 Sekunden lang drücken. Der NXT macht dann ein knackendes Geräusch in regelmäßigen Intervallen.

Gib nun folgenden Befehl ein:

/opt/lejos/bin/nxjflash

Es sollten folgende Meldungen erscheinen:

Writing firmware image.
Verifying firmware.
Verified 104448 bytes ok.
Restarting the device.

Nun startet der NXT Computer mit der Meldung „lejOS 0.9.1“, dann erscheint das Hauptmenü.



Schließe das Terminal Fenster. Alle folgenden Befehle gibt’s Du in einem neuen Fenster, wo Du nicht mehr Administrator (root) bist.



Erstes Test-Programm

Erstelle eine Textdatei mit Namen Test.java und folgendem Inhalt:

import lejos.nxt.Button;

public class Test {
  public static void main (String[] args) {
    System.out.println("Hello World");
    Button.waitForAnyPress();
  }
}

Compiliere das Programm mit dem Befehl:

nxjc Test.java

nxjlink -o Test.nxj Test



Übertragen via USB

Gib folgenden Befehl in einem Terminal-Fenster ein:

sudo /opt/lejos/bin/nxjupload -r Test.nxj

Wegen dem Parameter -r wird das Programm nach der Übertragung direkt gestartet. Auf dem Display des Computers erscheint „Hello World“. Drücke eine Taste am NXT Computer, um wieder zum Hauptmenü zu kommen.



USB einrichten

Damit „normale“ Benutzer ohne sudo auf den USB Anschluss zugreifen dürfen, kann man folgende Konfiguration vornehmen:

sudo su -

cat >/etc/udev/rules.d/71-lego.rules

ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0002", MODE="0666" ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE="0666"

Dann drücke Strg-D.

Das USB Kabel muss einmal abgesteckt und wieder angesteckt werden.



Bluetooth einrichten

Gehe auf dem NXT Computer in das Bluetooth Menü, dann auf „Change Pin“. Schau nach, welche Pin dort eingestellt ist – vermutlich 1234.

Öffne ein neues Terminal-Fenster. Gib folgenden Befehl ein, während der NXT Computer eingeschaltet ist.

nxjbrowse -b

Nach etwa einer Minute sollte der NXT gefunden sein. Linux fordert Dich dann auf, die Pin einzugeben. Danach öffnet sich ein Fenster, in dem der gefundene NXT Computer aufgelistet wird, im Status „DISCONNECTED“.

Klicke auf den „Connect“ Button. Anschließend wird das Inhaltsverzeichnis (hochgeladene Dateien) angezeigt. Dort sollte die Datei Test.nxj vom vorherigen Datei-Upload (vias USB) zu finden sein.



Übertragen via Bluetooth

Gib folgenden Befehl in einem Terminal-Fenster ein:

nxjupload -b -r Test.nxj



Netbeans

Netbeans ist ein sehr komfortabler Editor für Programmierer. So installierst Du es unter Ubuntu Linux:

sudo apt-get install netbeans



Beispielprojekt

Schau unter Tools/Plugins nach, ob das Java Plugin installiert ist. Wenn es fehlt, installiere es.

In der Datei /opt/lejos/samples.zip gibt es ein Beispielprojekt mit Namen „org.lejos.example“. Kopiere dieses Projektverzeichnis in Dein Arbeitsverzeichnis.

unzip /opt/lejos/samples.zip org.lejos.example/*

Öffne das Projekt in Netbeans. Öffne innerhalb des Projektes die Quelltext-Datei HelloWorld.java.

Netbeans makiert die Zeile mit dem Import Befehl als fehlerhaft. Um den Fehler zu beheben, klcike mit der rechten Maustaste auf den Projektnamen und dann auf Properties.

Im Kasten „Java Sources Classpath“ füge die Datei /opt/lejos/lib/nxt/classes.jar hinzu. Die Fehlermeldung verschwindet dadurch.

Editiere außerdem die Datei build.properties (sie wird in der „Files“ Ansicht angezeigt) und ändere ganz oben den Pfad zur Lejos:

nxj.home = /opt/lejos

Jetzt kannst Du das Beispielprogramm compilieren und ausführen. Dieses Projekt kannst Du nun als Kopiervorlage für Deine eigenen Projekte verwenden.



Dokumentation

Laufzeitbibliothek

Obwohl Java 6 oder 7 zum Compilieren verwendet wird, unterstützt Lejos nur die Syntax von Java 5 und nur eine abgespeckte Variante der Laufzeitbibliothek . Siehe

http://lejos.sourceforge.net/nxt/nxj/api/index.html

Tutorial

Weitere Hilfen für die ersten Versuche findest Du im Lejos Tutorial unter http://lejos.sourceforge.net/nxt/nxj/tutorial/index.htm



Beispielprogramme

Beispielprogramme findest Du in der Datei /opt/lejos/samples.zip.

Um die Beispielprojekte compilieren zu können, musst Du sie in Dein Arbeitsverzeichnis auspacken und die oben genannten Korrekturen vornehmen. Einige Beispielprogramme sind nicht funktionsfähig, da sie noch nicht an die aktuelle Lejos Version angepasst wurden.



Lejos Tools

Ansonsten empfehle ich, einfach mal die ganzen Programme aus /opt/lejos/bin aufzurufen und zu schauen, was passiert.