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
- Lo descargamos de su pagina oficial Desde aquí
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 osvaldoAhora 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