miércoles, 2 de febrero de 2011

Instalando leJOS NXT en Ubuntu

Sucede que existen unos dispositivos llamados Lego Mindstorms, los cuales pueden ser programados en Java usando una librería llamada leJOS NXT.

En este tutorial vamos a aprender a instalarla en Ubuntu.

Pasos para instalar leJOS NXJ.

1) Primero ocupamos instalar las siguientes librerias: libusb,libusb-dev,   libbluetooth-dev, ant y gcj.
sudo apt-get install libusb libusb-dev libbluetooth-dev ant gcj

En caso de que libusb no se instale directamente desde la terminal, descargamos el archivo de la siguiente pagina.
http://sourceforge.net/projects/libusb/files/libusb-1.0/

Luego extraemos el archivo.
cd /Downloads
tar -xvf libusb-1.0.8.tar.bz2

Vamos a la carpeta que contiene la librería.
cd  libusb-1.0.8/

Instalamos la librería con los siguientes comandos.
./configure
make
sudo make install

2) Luego descargo la versión de leJos desde la siguiente dirección: http://sourceforge.net/projects/lejos/files/lejos-NXJ/0.8.5beta/lejos_NXJ_0_8_5beta.tar.gz/download

Extraemos el contenido del archivo.
tar -xvf lejos_NXJ_0_8_5beta.tar.gz

Cambiamos el nombre a la carpeta.
mv  lejos_NXJ_0_8_5  lejos

Movemos la carpeta a otra dirección, en mi caso es la siguiente.
mv lejos /opt/

3) Necesitamos añadir las variables de entorno de las nuevas librerias.
Nos dirigimos a la carpeta /etc/profile.d/
cd /etc/profile.d/

Creamos un script llamado nxt.sh, que tenga lo siguiente:

export NXJ_HOME="/opt/lejos"
export PATH=$PATH:$NXJ_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NXJ_HOME/bin


Hay que asegurarnos de darle  permisos de ejecucion al script
sudo chmod u+x nxt.sh

4) Compilamos la librería.
cd /opt/lejos/build
ant

Inicialmente no tenemos permiso de escribir sobre el dispositivo usb o bluetooth, por lo que no podemos programar el lego. Esto es por motivos de seguridad. Para cargar el programa en el lego hacemos lo siguiente.

5) Creamos un grupo de usuarios llamado "lego", los cuales pueden cargar programas al dispositivo.
sudo addgroup lego

Nos agregamos  al grupo "lego":
sudo usermod -a lego tuusuario
 
Creamos el siguiente archivo.
sudo gedit /etc/udev/rules.d/70-lego.rules

Escribimos lo siguiente:
# Lego NXT
BUS=="usb", SYSFS{idVendor}=="03eb", GROUP="lego", MODE="0660"
BUS=="usb", SYSFS{idVendor}=="0694", GROUP="lego", MODE="0660"

6) Guardamos el archivo y ya estamos listos para programar nuestro lego.

Para confirmar que todo funciona bien tecleamos en la terminal:
nxjc


Si en la terminal aparece el mismo contenido que se ve en la imagen, entonces todo salio bien.

Referencias:
http://robobyte.blogspot.com/2010/02/instalar-lejos-en-ubuntu-910.html

1 comentario:

  1. oye en donde tengo que confirmar que todo funciona bien tecleo nxjc, pero no me aparece el mismo contenido que se ve en la imagen, entonces no todo salio bien. Puedes poner una entrada de lo que harias.
    Lo que dice es:
    No command 'nxjc' found, did you mean:
    Command 'xjc' from package 'openjdk-6-jdk' (main)
    nxjc: command not found

    ResponderEliminar