Ceci est une ancienne révision du document !


Lego MindStorms NXT sur Ubuntu

Grâce à 2 petits programmes, il est possible de connecter le dernier robot programmable de Lego à un système d'exploitation Ubuntu. Avec l'un vous compilez le programme que vous avez écrit(en langage NXC), avec l'autre, vous le transférez.

  • NBC Beta Releases(1.0.1 b35): disponible ici
  • Talk 2 NXT: disponible ici

Téléchargez les deux archives sur le bureau. Ouvrez un terminal et entrez les commandes suivantes:

$ cd Bureau
$ ls
nbc-1.0.1.b35.tgz  t2n-0.0.tgz
$ tar zxf nbc-1.0.1.b32.tgz
$ tar zxf t2n-0.0.tgz
$ ls
nbc-1.0.1.b32.tgz  nxt  t2n-0.0  t2n-0.0.tgz
$ sudo cp 'nxt/nbc' '/usr/bin'
$ sudo cp 't2n-0.2/t2n' '/usr/bin'

Ce test est tout à fait facultatif mais il vous garantira le fonctionnement des 2 programmes et vous apprendra à les utiliser. Veillez à garder votre terminal ouvert pendant toute la durée du test.

Écriture du programme

Ouvrez un éditeur de texte et collez ces lignes de code:

// -*- coding: utf-8 -*-
// Exemple NXC: Hello
// In the latest versions of nbc this line is implicit
  #include "NXCDefs.h" 
  task main()
{
  // Write the text on the LCD
  TextOut(20, LCD_LINE3, "Hello world!");
  // Wait 3 seconds
  Wait(3000);
}

Enregistrez ce fichier sur le bureau sous le nom hello.nxc.

Compilation

Toujours dans votre terminal:

$ cd Desktop
$ ls
hello.nxc
$ nbc hello.nxc -O=hello.rxe  //c'est un O pas un 0
$ ls
hello.nxc hello.rxe

Détection du NXT via l'USB

Dans votre terminal, entrez la commande:

lsusb

Dans le rapport généré, il devrait y avoir une ligne ressemblant à celle-ci:

Bus 002 Device 003: ID 0694:0002 Lego Group

Cette ligne vous indique que le NXT est bien branché, allumé et reconnu par le système.

Transfert du programme

Pour savoir si le robot est bien connecté, tapez la commande qui permet de récupérer les informations à son sujet:

$ t2n -i
Cette commande induit une erreur au niveau de la configuration USB. Passez les 2 étapes suivantes si ce n'est pas le cas.

Résolution de l'erreur

Copiez les fichiers lego_usb.sh et lego_usb.usermap présents dans le dossier t2n-0.0/hotplug/ dans /etc/hotplug/usb.

$ sudo cp '/home/votre_login/Desktop/t2n-0.0/hotplug/lego_usb.sh' '/home/votre_login/Desktop/t2n-0.0/hotplug/lego_usb.usermap' '/etc/hotplug/usb'

Après avoir copié ces deux fichiers, retentez la commande t2n -i et si l'erreur est toujours présente, passez à l'autre solution.

Autre solution

Loguez vous en root.

$ sudo -i
password:
$

Suite

Si tout fonctionne, quand vous avez retapé la commande t2n -i, les informations du NXT s'affiche et indique que tout est opérationnel. Vous pouvez entamer le transfert.

#### NXT INFOS ###############
protocol version=1.124 firmware version=1.1
NXT Name: NXT
Blutooth address: XX:XX:XX:XX:XX:XX
Blutooth signal: 0
Free user flash: 57116

Pour transférer le programme, placez vous dans le répertoire où vous avez enregistrez votre fichier compilé hello.rxe et tapez la commande de transfert.

$ cd Desktop (ou /home/votre_login/Desktop quand vous êtes en root)
$ t2n -put hello.rxe

Sur le NXT

Débranchez le robot, laissez le allumer et situez-vous dans son répertoire My Files/Software Files/ et démarrer votre programme hello.

Zergy pour son aide qui à poussée à la création de cette documentation. =)


MiCrOsCo-PuCe Le 05/11/2007, à 19:42

  • lego_mindstorms_nxt_sur_ubuntu.1266167247.txt.gz
  • Dernière modification: Le 14/02/2010, 18:07
  • par gtkshroom