jueves, 5 de marzo de 2009

Comunicación Serial en JAVA


Hola pequeños druggies, en esta entrada vamos a hablar de un tema muy interesante que puede ser de bastante utilidad para muchos de ustedes. Nos referimos a la comunicación serial utilizando JAVA como lenguaje de programación.

En la entrada “MIDI al desnudo (parte 3)” definimos que la comunicación entre la interfaz y el microcontrolador maestro del robot se haría de manera serial. Esto principalmente debido a la facilidad y simplicidad de manejo en comparación al protocolo USB.

Es cierto que estamos usando un adaptador USB–Serial, sin embargo para la computadora esto es transparente, es decir, para la máquina el cable adaptador es un puerto COM común y corriente.

Una vez aclarado esto, vamos a la parte interesante. ¿Cómo manipulamos el flujo de datos a través de un puerto COM utilizando JAVA? Bien, primero que nada debemos instalar unas cuantas librerías que pueden encontrar en www.rxtx.org

Instalación de rxtxSerial (www.rxtx.org) en Linux

Baja el paquete “rxtx-2.1-7-bins-r2.zip (Final)”
copia librxtxSerial.so a /usr/lib
copia RXTXcomm.jar a [JDK-directory]/jre/lib/ext/

Instalación de rxtxSerial (www.rxtx.org) en Windows

Baja el paquete “rxtx-2.1-7-bins-r2.zip (Final)”
copia rxtxSerial.dll a [JDK-directory]\jre\bin\rxtxSerial.dll
copia RXTXcomm.jar a [JDK-directory]\jre\lib\ext\RXTXcomm.jar

Y eso es todo, ahora solo tienen que asegurarse de agregar los imports adecuados al principio de su programa. Les recomendamos visitar la wiki del proyecto RXTX, hay muchísima información con muchos ejemplos y proyectos para descargar.

Aqui esta el ejemplo en el que nos basamos para echar a andar nuestra interfaz de usuario. Este programa en Java nos muestra como escribir el clásico “Hello World" en el puerto serie. Recuerden que tanto un compilador de Java como las librerías RXTX deben estar instalados en su computadora para que esta aplicación funcione.

2 Comentários:

Anónimo dijo...

Sabes que no entiendo algo Con el paquete RXTX.. que a la hora de conectarme siempre esta mandando por el canal serial Get_CommStatus.. yo no entiendo porque y no lo he podido solucionar.. tus comentarios serian de gran ayuda

Anónimo dijo...

no corre el prgrama me marca error
--------------------Configuration: --------------------
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no SolarisSerialParallel in java.library.path
Caught java.lang.UnsatisfiedLinkError: com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String;)I while loading driver com.sun.comm.SolarisDriver
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no SolarisSerialParallel in java.library.path
Caught java.lang.UnsatisfiedLinkError: com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String;)I while loading driver com.sun.comm.SolarisDriver
port /dev/term/a not found.

Publicar un comentario

  ©Los Orcos - Robótica Aplicada. Theme by Dicas Blogger.

TOPO