Lego NXT-Brick mit LeJOS

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Andere Hardware ‹ Lego NXT-Brick mit LeJOS


Getestet.png Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.




Einführung

Der NXT-Brick ist ein Roboter aus der Reihe der [MindStroms]. Aufgrund seiner vielfältigen Programmierbarkeit wird er gerne im schulischen Bereich eingesetzt. Programmierinterfaces reichen von GUI-Programmen, mit denen sich viele Programme "zusammenklicken" lassen, über das Standardwerkzeug [Command Center] (für Windows) bis hin zum umfangreichen [[1]]-Projekt, das dank Java auf fast allen Plattformen lauffähig ist.

Bestandteile und Einrichtung

Zur Programmierung des NXT mit LeJOS sind verschiedene Komponenten notwendig oder sinnvoll:

  • Java Development Kit
  • USB-Bibliotheken
  • NXJ-Toolchain
  • NXJ-Firmware
  • Eclipse-IDE (optional)

Java Development Kit und USB-Bibliotheken

Ein JDK lässt sich unter Debian sehr einfach aus den Paketquellen installieren:

root@debian:~# apt-get install openjdk-6-jdk libusb-dev

Das Paket libusb-dev stellt die Header der USB-Bibliotheken bereit, mit denen auf den NXT-Brick zugegriffen werden kann.

NXJ-Toolchain

Die NXJ-Toolchain sowie die Java-Klassenbibliotheken stehen bei SourceForge zum [[2]] bereit, zur Zeit in der Version 0.9.1beta.

Da das Paket aus einer Fremdquelle stammt, entpacken wir es nach dem Download in ein Unterverzeichnis von /opt.

Leider ist der Download von SourceForge aufgrund des kaputten Mirrorsystems nicht ganz einfach, deshalb gehe ich davon aus, dass die Datei leJOS_NXJ_0.9.1beta-2.tar.gz bereits in /tmp heruntergeladen wurde. Wir entpacken sie in das genannte Verzeichnis und legen der Einfachheit halber einen Symlink an:

root@debian:~# tar xvzf /tmp/leJOS_NXJ_0.9.1beta-2.tar.gz -C /opt
root@debian:~# ln -s /opt/leJOS_NXJ_0.9.1beta-2 /opt/lejos

Danach muss mit Hilfe von ant, einem Make-ähnlichen System aus der Java-Ecke, einiges gebaut werden:

root@debian:~# cd /opt/lejos/build
ant

Damit die Tools in Pfad der Benutzer auftauchen, legen wir in /etc/profile.d eine neue Datei namens 90-lejos.sh an:

root@debian:~# cat >/etc/profile.d/90-lejos.sh <<EOF
export PATH="${PATH}:/opt/lejos/bin"
export NXJ_HOME="/opt/lejos"
EOF

Diese wird nun automatisch, sobald sich ein Benutzer einloggt, gesourcet, so dass die notwendigen Tools wie z.B. nxjbrowse direkt aufgerufen werden können.

Der Zugriff auf USB-Geräte ist für normale Benutzer eingeschränkt. In Debian existiert die Gruppe plugdev, die auch den Zugriff auf USB-Wechselmedien regelt. Diese missbrauchen wir mit Hilfe einer udev-Regel, um allen Mitgliedern der Gruppe plugdev den Zugriff auf angeschlossene NXT-Bricks zu erlauben:

root@debian:~# cat >/etc/udev/rules.d/90-lejos.rules <<EOF
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0694", ATTR{idProduct}=="0002", GROUP="plugdev", MODE="0660"
EOF

Jeder Benutzer, den wir dann z.B. mit gpasswd zur Gruppe plugdev hinzugefügt haben, kann angeschlossene NXT-Bricks dann nach dem nächsten Login benutzen:

root@debian:~# gpasswd -a foo plugdev

NXJ-Firmware

Wurde die NXJ-Toolchain wie oben beschrieben eingerichtet, kann der NXT-Brick einfach mit der notwendigen Firmware geflasht werden:

user@debian:~$ nxjflash

Eclipse-IDE

Es existiert ein [für Eclipse], mit dessen Hilfe sich einige Funktionen automatisieren lassen. Eclipse kann unter Debian ebenfalls aus den Paketquellen isntalliert werden:

root@debian:~# apt-get install eclipse

In Eclipse kann man dann unter Help > Install New Software die Plugins von der Update-Site http://lejos.sourceforge.net/tools/eclipse/plugin/nxj/ installieren.

Weitere Anweisungen finden ich in dem verlinkten Artikel.

Weiteres

Zur Zeit bin ich dabei, ein Debian-Paket mit dieser Software zu erstellen.