Manejando el puerto serial en java
RXTX es una clase diseñada para hacer uso de la commAPI de java que nos ofrece controlar el puerto serial y paralelo de nuestra computadora en varias arquitecturas y sistemas operativos.
Para hacer uso de esta tecnología primero hay que descargar el .jar de rxtx desde aqui ademas de encontrar la libreria necesaria para nuestro sistema operativo y arquitectura dentro del ToyBox del proyecto
Una vez que tenemos ambos archivos creamos un proyecto nuevo en netbeans o eclipse y añadimos una referencia al RXTXcomm.jar que previamente descargamos para que pueda ser importado dentro de nuestro codigo. El archivo de librería en el caso de sistemas GNU/Linux debe ser copiado al directorio /usr/lib y en el caso de sistemas windows debemos ubicar el archivo .dll en el directorio donde se esta ejecutando la aplicación.
Y para empezar un pequeño script para descubrir los puertos disponibles en nuestro sistema. Lo primero es importar las clases necesarias agregando la siguiente linea:
import gnu.io.*; y después situamos la función que enumera los puertos y la función que nos regresa el tipo de puerto.
static void listPorts()
{
java.util.Enumeration
portEnum = CommPortIdentifier.getPortIdentifiers(); while ( portEnum.hasMoreElements() )
{
CommPortIdentifier portIdentifier = portEnum.nextElement();
System.out.println(portIdentifier.getName() + “ - ” + getPortTypeName(portIdentifier.getPortType()) );
}
}
static String getPortTypeName ( int portType )
{
switch ( portType )
{
case CommPortIdentifier.PORT_I2C:
return “I2C”;
case CommPortIdentifier.PORT_PARALLEL:
return “Parallel”;
case CommPortIdentifier.PORT_RAW:
return “Raw”;
case CommPortIdentifier.PORT_RS485:
return “RS485”;
case CommPortIdentifier.PORT_SERIAL:
return “Serial”;
default:
return “unknown type”;
}
}
Recordemos que en sistemas Windows los puertos se nombran como com1, com2 comN mientras en GNU/Linux son llamados /dev/ttySO(N)
soy nuevo en java…asi que cuando se refiere a colocarle una referencia al jar y lo demas, como se hace
gracias
se me olvido colocar que estoy trabajando en ECLIPSE
HEY MUCHAS GRACIAS….SOLUCIONADO
hola, bueno, primero q nada soy nuevo en esto de programacion, y mas en java hehe, bueno mi pregunta seria, q codigos utilizarias para mandar datos al puerto serie por ejemplo, necesito mandar solo un numero constante, gracias.