Aufmacher

Robotertraum

Lego-Roboter per Bluetooth programmieren

01.09.2007
Füttern Sie Ihren Mindstorms-Robot per Bluetooth mit Programmen und schicken Sie ihn auf Ballsuche durchs Labyrinth.

Linux-Anwender haben es oft schwer, wenn sie Hardware kaufen, für die es nur Windows-Treiber gibt. Dieses Problem betrifft teilweise auch den Mindstorms-Roboter von Lego: Mangels grafischem Tool müssen Linux-Benutzer hier auf die Kommandozeile ausweichen und Ihre Programme per NXT-Manager auf den Lego-Roboter hochladen.

NXT-Manager

Mit dem NXT-Manager verwalten Sie von einem Linux-Client aus die Dateien des NXT-Roboters. Der Vorteil des NXT-Managers gegenüber bereits bestehenden Linux-Lösungen besteht darin, dass er die Programmdaten per Bluetooth an den Lego-Roboter überträgt. Bisherige Open-Source-Projekte benutzten dazu den USB-Port. Das hat den großen Nachteil, dass man den NXT immer wieder mit dem PC verbinden muss, auch wenn man nur kleine Änderungen an der Software vollziehen will.

Als Ausweg aus diesem Problem entstand das unter der GPL stehende Programm NXT-Manager, welches die Dateien per Bluetooth verwaltet. Beim NXT-Manager handelt es sich um ein Konsolenprogramm ohne grafische Oberfläche. Es ist komplett in Perl programmiert, da es für Perl eine extra für den NXT entwickelte Library (LEGO::NXT) gibt.

Um die Entwickler von Software für den NXT zu unterstützen, hat Lego einige Dokumentation in From von Developer-Kits auf der Mindstorms-Webseite [1] zur Verfügung gestellt. Unter anderem findet man dort ein Bluetooth-Developer-Kit, das zahlreiche Informationen zum verwendeten Protokoll bietet.

Verbindungsaufnahme

Den NXT-Manager, der selbst keine Installation benötigt, finden Sie auf der Heft-CD oder auf der Entwicklerseite [2]. Die Redaktion testete ihn unter Ubuntu 7.04 und Open Suse 10.2, er sollte aber auf jeder Linux-Distribution mit aktuellen Bluetooth-Paketen funktionieren.

Der NXT-Manager benötigt die Perl-Bibliothek Net::Bluetooth. Am einfachsten installieren Sie diese mit cpan:

$ cpan Net::Bluetooth

Einige Distributionen bringen auch fertige Pakete mit. Auf Systemen, die auf Debian basieren, benötigen Sie zur Installation des Net::Bluetooth-Moduls zusätzlich das Paket libbluetooth2-dev.

Nun legen Sie in Ihrem Home-Verzeichnis den Ordner NXT an und packen den NXT-Manager dort aus. Der Name des Hauptverzeichnisses ist im Programm fest eingestellt, Sie können also keinen beliebigen Verzeichnisnamen nutzen. Um den NXT-Manager trotzdem von einem beliebigen Verzeichnis aus zu starten, legen Sie einen symbolischen Link auf das Perl-Programm an:

$ sudo ln -s ~/NXT/nxtmanager/nxtmanager /usr/bin/nxtmanager

Beim Starten des NXT-Manager übergeben Sie als Option die MAC-Adresse des Mindstorms-Roboters. Die ermitteln sie beispielsweise über den Befehl hcitool:

$ hcitool scan
Scanning …
00:16:53:03:A1:3C NXT

Um die Adresse nicht bei jedem Start von Hand eintippen zu müssen, tragen Sie sie am besten in die Datei ~.nxtmanager/address ein. Alternativ bleibt der Aufruf nxtmanager 00:16:53:03:A1:3C.

Beim ersten Start des NXT-Managers müssen Sie den Roboter mit Ihrem Bluetooth-Dongle koppeln ("Pairing"). Unter KDE startet dazu automatisch die Passwort-Eingabe des KDE-Bluetooth-Frameworks. Alternativ führen beim ersten Start des NXT in einer weiteren Konsolensitzung den Befehl sudo passkey_agent --default /usr/bin/bluez-pin aus. In beiden Fällen müssen Sie nun zuerst auf dem NXT den Pin 1234 bestätigen und den gleichen anschließend auf dem PC eingeben. Danach sind der NXT und der Computer gekoppelt und können miteinander kommunizieren.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • 9. Brandenburger Linux Info Tag

    Auch im brandenburgischen Potsdam ziehen die Linuxtage ein, und zwar schon zum neunten Mal.
  • Pi and More am 20. Juni in Trier
    Am 20. Juni findet in Trier die siebte „Pi and More“ statt. Auf die Teilnehmer und Besucher warten über 35 Vorträge sowie Projektvorstellungen und Workshops. Im Mittelpunkt stehen dabei neben dem Raspberry Pi auch „andere kleine Computer“.
  • Linux Robotics
    Mein Name ist Baud, James Baud. Meinen Auftraggeber habe ich nie zu Gesicht bekommen; wenn er mit mir Kontakt aufnimmt, nennt er sich nur "Der Pinguin". Für meinen nächsten Job hat mir der Pinguin einen Spybot von LEGO zukommen lassen.
  • Klötzchenwelt
    Computer Aided Design muss nicht immer staubtrocken sein: Mit LeoCAD erstellen Sie aus Lego-Bausteinen raffinierte Modelle am Bildschirm.
  • Linux, Bier und Wandern auf Schottisch
Kommentare

Infos zur Publikation

LU 05/2016: DATEISYSTEME

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Aktuelle Fragen

MS LifeCam HD-5000 an Debian
Kay Michael, 13.04.2016 22:55, 0 Antworten
Hallo, ich versuche die oben erwähnte Cam an einem Thin Client mit Debian zu betreiben. Linux...
Import von Evolution nach KMail erzeugt nur leere Ordner
Klaus-Christian Falkner, 06.04.2016 12:57, 2 Antworten
Hallo, da ich vor einiger Zeit von Ubuntu auf Kubuntu umgestiegen bin, würde ich gerne meine E...
Sophos lässt sich nicht unter Lubuntu installieren
Chrstina Turm, 30.03.2016 20:56, 3 Antworten
Hi Leute, habe mir vor paar Tagen auf ein Notebook, das ohne Linux ausgedient hätte, Linux dr...
Novell Client auf Raspbian
Chris Baum, 16.03.2016 15:13, 3 Antworten
Hallo Community, ich hätte eine Frage, und zwar geht es um folgendes: Ich möchte eine Datei...
Pantheon konfigurieren (eOS)
John Smith, 16.03.2016 13:50, 0 Antworten
Hallo ins Forum, ich bin neu in der Linuxwelt und fühle mich bereits sehr wohl. Mein neues Sys...