jueves, 5 de enero de 2012

Instalar Lejos en LinuX

Que tal, como primera entrada en el Taller de Prog. Orientada a Obj. es necesario que les muestre como instalar las herramientas necesarias; así que sin tantas palabras, empecemos....

1.-Descargamos lo necesario
  • Java-jdk
    • Escribimos en la terminal: sudo apt-get install openjdk-6-jdk
  • Controladores ( necesitamos 4 )
    • Abrimos la synaptic e instalamos: libusb-0.-4, libusb-dev, libbluetooth3, libbluetooth-dev
  • lejos

2.- "Jugar" con el archivo descargado( lejos_NXJ_0_9_0beta.tar.gz )

  • Lo descomprimimos, desde la terminal: tar xvzf lejos_NXJ_0_9_0beta.tar.gz
  • Renombramos la carpeta lejos_nxj a lejos
    En la terminal: mv lejos_nxj lejos
  • Movemos la carpeta lejos a /usr/share/
    En la terminal: sudo mv lejos /usr/share/
  • Damos privilegios a la carpeta bin de lejos
    En la terminal: sudo chmod 777 /usr/share/lejos/bin --recursive

3.-Añadir las variables de entorno

  • Creamos un archivo llamado lejos.sh (puede tener cualquier nombre) en /etc/profile.d/, el cual le añadiremos la sig. lineas
    • "Siendo root podremos crear este tipo de archivos sin problemas"
    • En terminal: gedit /etc/profile.d/lejos.sh
    • #!/bin/bash
      export NXJ_HOME=/usr/share/lejos
      export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

      export PATH=/usr/share/lejos/bin:$PATH
      export PATH=/usr/lib/jvm/java-6-openjdk/bin:$PATH

      export CLASSPATH=/usr/share/lejos/lib/nxt/classes.jar:$CLASSPATH
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NXJ_HOME/bin
    • Chequen que las direcciones sean correctas y en caso de tener otra versión instalada de "java-jdk" modifiquen sus lineas

  • Cada vez que toquemos el archivo lejos.sh tenemos que compilarlo, para ello nos movemos a /usr/share/lejos/build/ y ejecutamos ant

Antes de avanzar al ultimo paso comprobamos que hasta aqui lo hemos hecho bien, para ello reiniciaremos la computadora y cuando ya este lista, compilaremos el primer programa para el NXT.

Primer programa:

import lejos.nxt.*;

public class HolaMundo {

public static void main(String[] args) {
LCD.drawString("Hola Mundo",3,4);
Button.waitForPress();
}

}

Compilarlo:

4.- Muy bien, ahora necesitamos añadir reglas udev para poder usar los puertos USB sin problemas.
  • "Siendo root podremos hacer lo siguiente sin problemas"
  • Creamos un grupo de usuarios, al que llamaremos lego:

    En la terminal: addgroup lego

    Después añadimos nuestro usuario al grupo lego:

    En la terminal: usermod -a -G lego nombre_usuario
    en mi caso:
    usermod -a -G lego osvaldo

  • Ahora necesitamos añadir reglas udev para poder usar los puertos USB sin problemas, para ello crearemos el archivo 70-lego.rules en /etc/udev/rules.d/ y lo rellenaremos con las siguientes líneas

    • En la terminal: gedit /etc/udev/rules.d/70-lego.rules
    • # Lego NXT
      BUS=="
      usb", SYSFS{idVendor}=="03eb", GROUP="lego", MODE="0660" /* Atmel */
      BUS=="
      usb", SYSFS{idVendor}=="0694", GROUP="lego", MODE="0660" /* Lego */
      BUS=="
      usb", SYSFS{idVendor}=="0a12", GROUP="lego", MODE="0660" /* Dongle */
  • Hecho todo esto ya tenemos todo listo para usar LeJOS. Para empezar vamos a instalar el firmware de LeJOS en nuestro NXT. Para ello necesitaremos conectar nuestro robot a un puerto USB, encenderlo y ejecutar el comando:

  • a) En la terminal: /usr/share/lejos/bin/nxjflashg

  • b) Nos mostrara una ventana como la siguiente

  • c) Le damos "Start program"

  • d) Ok

  • e) Yes (formatera todo el NXT)
  • f) y esperamos
    • en caso de que nos marque "Bad news: An error has ocurred lejos.pc.comm.NXTCommException: Failed to open device in SAM-BA mode", bastara con reiniciar manualmente el NXT y volver al inciso "a"
  • Cuando termine nos preguntará que si queremos instalar otro NXT
    NO


Recuerdan que compilamos el archivo HolaMundo.java, bueno, ahora lo descargaremos al NXT y asi terminar con este tutorial.


Para usar Eclipse les recomiendo leer esta entrada(de la cual yo me he basado para hacer este tutorial), el cual les enseña como configurarlo para ahorrarnos mas tiempo. Saludos cualquier duda, ya saber que hacer.


REFERENCIAS

http://blog.electricbricks.com/es/2010/03/tutorial-java-lejos-lego-mindstorms-nxt-3/
http://robobyte.blogspot.com/2010/02/instalar-lejos-en-ubuntu-910.html
http://lejos.sourceforge.net/nxt/nxj/tutorial/Preliminaries/GettingStartedLinux.htm

1 comentario:

  1. Necesitas tener instalado ant
    // sudo apt-get install ant
    Cuando se presente un problema que al compilar ant necesitas instalar
    sudo apt-get install libusb-dev
    sudo apt-get install libbluetooth-dev
    sudo apt-get install gcj

    sudo chmod 777 /usr/share/lejos --recursive

    Vuelve a compilar si aun no compilas puedes hacer lo siguiente :
    LEJOS_HOME cambias la variable a NXT_HOME.

    ResponderEliminar