Robotertraum
Lego-Roboter per Bluetooth programmieren
Erstkontakt
Der NXT-Manager bietet ihnen quasi eine Shell zum Lego-Roboter (Abbildung 1). Der Befehl ls listet alle Programmdateien des NXT auf. Um sämtliche Dateien (inklusive Systemdateien) angezeigt zu bekommen, geben Sie ls -a ein.
Mit dem Befehl setname Name
ändern Sie den Devicename des NXT. Über info erhalten Sie allgemeine Informationen, wie die Firmware-Version und den Batteriestand. Die drei Fehlermeldungen beim Info-Aufruf können Sie ignorieren: Der Autor hofft, diese in naher Zukunft zu eliminieren.
Um eine Datei auf dem NXT zu löschen, rufen Sie rm Datei
auf. Dabei müssen Sie stets die Dateiendung mit angeben, beispielsweise rm muster.rxe. Achten Sie darauf, nicht versehentlich Systemdateien zu löschen.
Das Kommando u Datei
lädt Dateien auf den NXT hoch. Gibt es die Datei schon auf dem NXT, fragt der NXT-Manager nach, ob Sie diese überschreiben möchten. Der Befehl quit beendet den NXT-Manager.
Softwareentwicklung
Möchten Sie selbst Software für den NXT erstellen, besorgen Sie sich zuerst einmal den aktuellen Compiler nbc von der Entwicklerseite [4] und machen sich dann mit der Programmiersprache NXC vertraut (siehe Kasten "Die Sprache NXC").
Den Compiler extrahieren Sie in ein beliebiges Verzeichnis (zum Beispiel ~/NXT/nbc). Um das Tool von jedem Ordner aus aufrufen zu können, empfiehlt es sich, mit sudo ln -s ~/NXT/nbc/nbc /usr/bin/nbc eine symbolische Verknüpfung nach /usr/bin zu erstellen.
Für Ihr erstes Programm benötigen Sie nur einen Texteditor. Achten Sie darauf, die Programmdatei mit der Endung .nxc abzuspeichern. Um das erstellte Programm zu kompilieren, geben Sie im Verzeichnis der Programmdatei folgenden Befehl ein:
$ nbc -T=NXT -O=File .rxe File .nxc
Für File
setzen Sie den gewünschten Dateinamen ein. Das fertige Binary heißt dann File
.rxe. Sie übertragen es nach dem Kompilieren mit dem NXT-Manager auf den Lego-Roboter.
Die Sprache NXC
Zur Steuerung der Mindstorms-Roboter kommt unter Linux die C-ähnliche Programmiersprache NXC zum Einsatz. Die Abkürzung steht für Not eXactly C. In NXC geschriebene Programme arbeiten mit der Standard-Firmware des Lego-Roboters zusammen, ein Update ist nicht nötig.
Im Unterschied zu dem für Windows erhältlichen NXT-G braucht man bei dieser Programmiersprache kein grafisches Werkzeug, sondern arbeitet in einem Texteditor. Das hat den Vorteil, dass man die Software auf jedem Betriebssystem erstellen kann. Das Verhältnis von NXT-G zu NXC entspricht also ungefähr dem von Visual Basic zu Basic.
Wie die meisten alternativen Programmiersprachen für den NXT befindet sich auch NXC noch im Entwicklungsstadium. Es kommen immer wieder neue Funktionen dazu, die enthaltenen arbeiten aber sehr stabil und genügen für die meisten Einsatzzwecke.



