Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lego_mindstorms_nxt_sur_ubuntu [Le 22/07/2009, 19:00] MiCrOsCo-PuCelego_mindstorms_nxt_sur_ubuntu [Le 31/03/2019, 19:05] (Version actuelle) – Enlevé les sources qui ne sont plus actives spnux
Ligne 1: Ligne 1:
 +{{tag>robotique science éducation logiciels}}
  
 +----
 +
 +====== 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 [[http://bricxcc.sourceforge.net/nbc/|NXC]]), avec l'autre, vous le transférez.
 +
 +===== Programmes nécessaires =====
 +  * NBC Beta Releases(1.0.1 b35): disponible [[http://sourceforge.net/project/downloading.php?groupname=bricxcc&filename=nbc-1.0.1.b35.tgz|ici]]
 +  * Talk 2 NXT: disponible [[http://www-verimag.imag.fr/~raymond/edu/lego/t2n/t2n-0.2.tgz|ici]]
 +
 +===== Installation =====
 +Téléchargez les deux archives sur le bureau. Ouvrez un terminal et entrez les commandes suivantes:\\
 +<code>$ 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'
 +</code>
 +
 +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:
 +<code>$ sudo chmod a+rx '/usr/bin/nbc'</code>
 +
 +===== Un petit test (Optionnel) =====
 +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:
 +<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);
 +}
 +</code>
 +Enregistrez ce fichier sur le bureau sous le nom **hello.nxc**.
 +==== Compilation ====
 +Toujours dans votre terminal:
 +<code>$ cd Bureau
 +$ ls
 +hello.nxc
 +$ nbc hello.nxc -O=hello.rxe  //c'est un O pas un 0
 +$ ls
 +hello.nxc hello.rxe
 +</code>
 +
 +==== Détection du NXT via l'USB ====
 +Dans votre terminal, entrez la commande:
 +<code>lsusb</code>
 +Dans le rapport généré, il devrait y avoir une ligne ressemblant à celle-ci:
 +<code>Bus 002 Device 003: ID 0694:0002 Lego Group</code>
 +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:
 +<code>$ t2n -i</code>
 +<note important>Cette commande induit une erreur au niveau de la configuration USB. Passez les 2 étapes suivantes si ce n'est pas le cas.</note>
 +=== Résolution de l'erreur ===
 +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**.
 +<code>$ sudo cp '/home/votre_login/Bureau/t2n-0.2/udev/70-lego.rules' '/etc/udev/rules.d/'</code>
 +Après avoir copié ce fichier, tapez la commande suivante ou redémarrez.
 +<code>$ sudo udevadm trigger</code>
 +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.
 +=== Autre solution ===
 +Loguez vous en root.
 +<code>$ sudo -i
 +password:
 +$
 +</code>
 +=== Suite ===
 +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.
 +<code>#### 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
 +</code>
 +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.
 +<code>$ cd Bureau (ou /home/votre_login/Bureau quand vous êtes en root)
 +$ t2n -put hello.rxe
 +</code>
 +
 +==== Sur le NXT ====
 +Débranchez le robot, laissez-le allumé et situez-vous dans son répertoire **My Files/Software Files/** et démarrez votre programme **hello**. nimp
 +
 +
 +
 +===== Remerciements =====
 +
 +[[http://forum.ubuntu-fr.org/profile.php?id=5840|Zergy]] pour son aide qui a poussé à la création de cette documentation. =)
 +----
 +
 +--- //[[Utilisateurs:MiCrOsCo-PuCe]] Le 05/11/2007, à  19:42//