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.
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.2.tgz $ tar zxf nbc-1.0.1.b35.tgz $ tar zxf t2n-0.2.tgz $ ls nbc-1.0.1.b35.tgz nxt t2n-0.2 t2n-0.2.tgz $ sudo cp 'nxt/nbc' '/usr/bin' $ sudo cp 't2n-0.2/t2n' '/usr/bin'
Il se peut que nbc renvoie une erreur lors de sa première exécution. La cause : le programme n'est pas reconnu en tant qu'exécutable. Entrez alors cette commande:
$ sudo chmod a+rx '/usr/bin/nbc'
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.
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.
Toujours dans votre terminal:
$ cd Bureau $ ls hello.nxc $ nbc hello.nxc -O=hello.rxe //c'est un O pas un 0 $ ls hello.nxc hello.rxe
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.
Pour savoir si le robot est bien connecté, tapez la commande qui permet de récupérer les informations à son sujet:
$ t2n -i
Copiez en tant que super-utilisateur le fichier 70-lego.rules présent dans le dossier t2n-0.0/udev/ dans /etc/udev/rules.d.
$ sudo cp '/home/votre_login/Bureau/t2n-0.2/udev/70-lego.rules' '/etc/udev/rules.d/'
Après avoir copié ce fichier, tapez la commande suivante ou redémarrez.
$ sudo udevadm trigger
Enfin, retentez la commande t2n -i
et si l'erreur est toujours présente, passez à l'autre solution. Elle est cependant plus contraignante que celle-ci.
Loguez vous en root.
$ sudo -i password: $
Si tout fonctionne, quand vous avez retapé la commande t2n -i
, les informations du NXT s'affichent et indiquent 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 enregistré votre fichier compilé hello.rxe et tapez la commande de transfert.
$ cd Bureau (ou /home/votre_login/Bureau quand vous êtes en root) $ t2n -put hello.rxe
Débranchez le robot, laissez-le allumé et situez-vous dans son répertoire My Files/Software Files/ et démarrez votre programme hello.
Zergy pour son aide qui a poussé à la création de cette documentation.
— MiCrOsCo-PuCe Le 05/11/2007, à 19:42