instalando arduino serial en gentoo amd64

Para empezar las instrucciones de la página oficial van muy bien.

Ahora echémosle un vistazo:

primero instalar las dependencias necesarias: blackdown-jre, crossdev, jikes, uisp, rxtx.

Entonces la máquina virtual libre (blackdown-jre) para la interfaz del software del arduino, crossdev nos ayudará a compilar el paquete avr para travajar con los chips Atmega, jikes es el compilador de java libre, uisp es la utilidad de programación de Atmel y rxtx administra los puertos serial.

Lo primero es agregar el paquete uisp enmascarado por ~amd64 al package.keywords para poder instalarlo

#echo dev-embedded/uisp ~amd64 >> /etc/portage/package.keywords

Proceder a instalar las dependencias

#emerge -av –noreplace blackdown-jre crossdev jikes uisp rxtx

Una vez finalizado agregar el o los usuarios al grupo uucp, para que tengan acceso al puerto serial, si ya a trabajado con piKdev u otra interfaz de programación de chips por puerto serial o paralelo esto no será necesario

#usermod -aG uucp nombreUsuario

o bien editar el archivo /etc/group y agregar los usuarios correspondientes al grupo uucp.

Segundo compilar el paquete avr

#crossdev -t avr -s4

Este es un proceso lento que actualiza ciertos paquetes desenmascarándolos (puedes revisar el package.keywords después de esto), puedes tomar unas onces mientras termina.

Y tercero hacer los links simbólicos

Ahora si, bajar el programa, descomprimirlo y hacer los links simbólicos a las dependencias que acabamos de instalar.

como siempre recomiendo poner el paquete descomprimido en /usr/local, una vez ahi crear los links

#ln -s /usr/lib/binutils/avr/2.XX/ldscripts/ /usr/local/arduino-XXX/ldscripts

la carpeta ldscripts dentro de arduino no debe existir.

Los siguientes pasos son para usar el conversor USB a serial, que en mi caso no uso ya que tengo puerto serial, y la explicación del arduino USB, pero tampoco lo voy a explicar ya que uso el serial v2. Pero es importante aclarar que el kernel debe tener soporte para estos puertos, yo siempre activo el soporte tanto de serial como de paralelo.

Hasta quí las instrucciones de la página oficial, pero si lo intentas ejecutar ahora te darás cuenta que no corre y vota
Exception in thread “main” java.lang.NoClassDefFoundError: processing/app/Base

Pues vamos a solucionar esto con mas links simbólicos.
Primero borra el archivo /usr/local/arduino_XXX/tools/uisp y reemplázalo por un link simbólico a /usr/bin/uisp

#rm /usr/local/arduino_XXX/tools/uisp
#ln -s /usr/bin/uisp /usr/local/arduino_XXX/tools/

lo mismo para la librería rxtx

#rm /usr/local/arduino_XXX/lib/librxtxSerial.so
#ln -s /usr/lib64/rxtx-2/librxtxSerial.so /usr/local/arduino_XXX/lib/

Ahora el paquete rxtx y java. Modifique el script de arranque /usr/local/arduino_XXX/arduino, ingresándole los paths de los archivos jikes y RXTXcomm.jar, librerías rxtx y librerias y ejecutables de la máquina virtual que esté ejecutándo, le debería quedar más o manos así:

#!/bin/sh
CLASSPATH=/opt/blackdown-jdk-1.4.2.03/jre/bin:/opt/blackdown-jdk-1.4.2.03/jre/lib/rt.jar:
java/lib/rt.jar:lib:lib/build:lib/pde.jar:lib/core.jar:lib/antlr.jar:lib/oro.jar:
lib/registry.jar:lib/mrj.jar:lib/RXTXcomm.jar:usr/lib/arduino
export CLASSPATH

# put the directory where this file lives in the front of the path, because
# that directory also contains jikes, which we will need at runtime.
PATH=`pwd`/tools:/usr/bin:${PATH}
export PATH

# put the directory with the native RXTX libs in the library path
LD_LIBRARY_PATH=`pwd`/lib:/usr/share/rxtx-2/lib:/usr/lib64/rxtx-2:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

export DIRAVR=/usr/bin

java processing.app.Base

Lo que está en negrita es lo que le agregé. Para ejecutar arduino es de aclarar que no se puede ejecutar de la siguiente manera
$ /usr/local/arduino-XXX/arduino
sino
$ cd /usr/local/arduino_XXX && ./arduino

téngalo presente a la hora e agregarlo al menú o elaborar un sript de arranque.

Nota: Esto fué provado con arduino-0007, espero funcione para las demás versiones.

Leave a Reply