Requisitos para utilizar Arduino con Java

19
5978

Para poder utilizar Java y Arduino necesitamos utilizar una librería especial en Java llamada RXTX. Esta librería es requerida por Java para enviar y recibir información a través del puerto serie.

Podemos encontrarla en este enlace:

Librerías RXTX para Windows 32 bits y 64 bits

Descargamos el archivo que nos corresponda según la arquitectura que estemos utilizando.

Ahora tenemos que instalar las librerías.

Nos dirigimos al disco C, o donde sea que tengamos nuestro sistema operativo instalado. Buscamos archivos de programas, Java. Cuando entremos a la carpeta Java encontramos otra carpeta llamada jre. En mi caso me aparece jre7.

Ahora hacemos lo siguiente:

El archivo RXTXcomm.jar lo copiamos en la carpeta lib/ext que está dentro de la carpeta jre.

También es necesario copiarlo en la siguiente ruta:

C:Program Files/Java/jdk1.7.0_15/bin

Haciendo esto hemos preparado nuestra computadora para que sea capaz de comunicar a Arduino con una aplicación Java.

Si se les presenta algún error con el funcionamiento de esta librería pueden consultar el siguiente post:

Librería Arduino para Java: Troubleshoot

Si tienen algún comentario no duden en hacérmelo llegar.

Saludos.

  • Antony García González

    Si funciona

  • Juan Daniel

    me sale esto:

    Exception in thread “AWT-EventQueue-0” java.lang.UnsupportedClassVersionError: com/panamahitek/PanamaHitek_Arduino : Unsupported major.minor version 52.0

    at java.lang.ClassLoader.defineClass1(Native Method)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

    at lm35.excel.Window.(Window.java:10)

    at lm35.excel.Window$3.run(Window.java:117)

    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)

    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)

    at java.awt.EventQueue.access$300(EventQueue.java:103)

    at java.awt.EventQueue$3.run(EventQueue.java:706)

    at java.awt.EventQueue$3.run(EventQueue.java:704)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

    Alguien sabe como solucionarlo ya copie el RXTX al JDK y al jre pero me lo sigue marcand

  • Stephanya Casanova

    Esta misma libreria sirve en Ubuntu 12.04?

  • Emmanuel Sanchez

    Me aparece este error

    javac: invalid target release: 1.7
    Usage: javac
    use -help for a list of possible options
    C:UsersHp LaptopDocumentsNetBeansProjectsGraphicsnbprojectbuild-impl.xml:915: The following error occurred while executing this line:
    C:UsersHp LaptopDocumentsNetBeansProjectsGraphicsnbprojectbuild-impl.xml:268: Compile failed; see the compiler error output for details.
    BUILD FAILED (total time: 2 seconds)

  • Emmanuel Sanchez

    Me aparece este error

    javac: invalid target release: 1.7
    Usage: javac
    use -help for a list of possible options
    C:UsersHp LaptopDocumentsNetBeansProjectsGraphicsnbprojectbuild-impl.xml:915: The following error occurred while executing this line:
    C:UsersHp LaptopDocumentsNetBeansProjectsGraphicsnbprojectbuild-impl.xml:268: Compile failed; see the compiler error output for details.
    BUILD FAILED (total time: 2 seconds)

    • Emmanuel Sanchez

      Creo que es en la parte de graficos

  • Oscar Ordaz

    todo esto tambien es necesario para hacerlo en mac?

    • No tengo experiencia en Macintosh, no podría decirte qué es lo que necesitas para trabajar con Arduino

  • Jairo

    entonces si quiero que mi aplicacion sea portable, como lo hago? tengo que instalar las librerias en cada maquina que quiera que ejecute el programa?

    • En cualquier computadora que vayas a utilizar para comunicarte con Arduino a través del puerto Serie necesitas tener instalado los drivers del puerto Serie. En cuanto a las librerías, cuando compilas el proyecto en Netbeans hay una carpeta donde se coloca el ejecutable. En ese directorio se colocan los archivos necesarios para que tu programa corra y ahí se incluirán las librerías que este usando el programa. SI te fijas, en tu PC hay una carpeta llamada Archivos de programas o Program Files. Ahí están los ejecutables y la mayoría de los archivos que tus programas usan para correr. Se podría hacer un instalador que coloque los drivers rxtx en las librerías correspondientes para las computadoras en las cuales vayas a usar tu programa

  • Ya solucione me tocaba copiar librxtxSerial.so y librxtxSerial64.so y cambiar COM por /dev/ttyACM0, todo lo demás que tienes en el blog me ha servido un resto gracias !!!

  • Lucas Poldrosky

    y para gnu/linux ?? sirven o no son necesarias las librerias ??

  • Gustavo

    Es necesario acer esto incluso disponiendo de la libreria ARDUINO que personalisaste??

    • Si. La librería RXTX es indispensable para comunicación Serial. La misma librería Arduino utiliza RXTX por lo que si no se importa al proyecto no va a funcionar.