Primero hay que copiar libLinuxSerialParallel.so a /usr/lib
Ahora hay que poner el comm.jar en nuestro classpath, si estamos usando algún IDE lo agregamos en las librerías que usa el proyecto o si no simplemente:
export CLASSPATH=$CLASSPATH:commapi/jar/commPor ultimo copiamos el archivo javax.comm.properties a: JDK/jre/lib. Con esto quedaría instalada la API para poderla usar, podemos probar con este ejemplo, que detecta los puertos disponibles:
import javax.comm.*;
import java.util.Enumeration;
public class Main {
public static void main(String args[]) {
Enumeration ports =
CommPortIdentifier.getPortIdentifiers();
while (ports.hasMoreElements()) {
CommPortIdentifier port =
(CommPortIdentifier)ports.nextElement();
String type;
switch (port.getPortType()) {
case CommPortIdentifier.PORT_PARALLEL:
type = "Paralelo"; //Se ejecuta si el puerto es paralelo
break;
case CommPortIdentifier.PORT_SERIAL:
type = "Serial"; //Se ejecuta si el puerto es serial
break;
default:
type = "Desconocido/Error"; //No deberia de suceder o el puerto esta dañado
break;
}
System.out.println("Nombre del puerto: "+port.getName() + " - " + type);
}
}
}
Fuente: http://java.sun.com/products/javacomm/
http://tuxtor.shekalug.org/?p=75
18 comentarios:
Gracias por esto, me sirvio mucho, pero te falto que para que el API funcione bien debes copiar el archivo javax.comm.properties a "JDK"/jre/lib y a "JDK"/lib , solo mencionaste una ruta, y a mi en Netbeans asi no me funciona (copiando a las dos rutas se soluciona) bueno gracias de nuevo
Que bueno que te sirvió!!!
hola he seguido los pasos al pie de la letra y aun continuo con el mismo error "Error loading win32com: java.lang.UnsatisfiedLinkError: no win32com in java.library.path" probando con este ejemplo que pones, si me puedes ayudar
gracias de ante mano
Pues fijate que estas instrucciones son para instalarlo en GNU/Linux.
Si se que eso es en GNU/Linux pero en otros sitios he encontrado como hacerlo en win xp, me gustaria saber si me puede ayudar como hacerlo en ese sistema, pq los necesito en los 2, si me puede ayudar ....
para hacerlo en windows ws muy sencillo, lo puedes hacer a traves del Turbo C, o por VB6, al no ser que lo nececites en java, ahy si se complican las cosas.
maestro gracias por el post esta excelente
Bueno despues de descomprimir comm3.0_u1_linux.zip, utilice los ficheros
/commapi/docs/javax.comm.properties
/commapi/jar/comm.jar
/commapi/lib/libLinuxSerialParallel.so
el primero lo copie en /jre/lib/
el segundo lo copie en /jre/lib/ext/
y el tercero lo copie a /usr/lib/
ademas para lograr utilizar un conversor usb-rs232 me di cuenta que en el fichero javax.comm.properties aparece:
serpath0 = /dev/ttySO
serpath1 = /dev/ttyS1
y agregue
serpath = /dev/ttyUSB0
Exelente
Tenes posteado algun ejemplo de lectura de datos del puerto paralelo con esta api
Solamente este ejemplo:
http://blogdejuls.blogspot.com/2007/11/controlar-leds-desde-el-puerto-paralelo.html
hola amigo, una duda sobre un comentario que publicaste, y es el hecho de que dices que esto es solo para linux, bueno yo en lo particular utilizo mucho linux, y windows ya casi no, solo lo ocupo para cosas ociosas , bueno, no me queda en claro el por que solo de linux, no se supone que la maquina virtual es la que ejecuta el codigo y no el sistema operativo ensi???
Si amigo, tenes razón el lo que decís sobre la maquina virtual, lo que sucede es que el manejo del puerto en sí, es completamente distinto en GNU/Linux que en M$ Windows, por ejemplo acá se utiliza la librería libLinuxSerialParallel.so mientras que en win tendrías que utilizar el respectivo dll
bueno amigo la verdad si te entiendo, ahora esa libreria que mencionas ya viene en integrado en java o tengo que añadir algo mas o no??
es que ahorita estoy viendo inteligencia artificial y me parece que vamos a armar un peke vehiculo el cual lo vamos a manejar desde la computadora, se que suena muy feo pero aun no tengo mucha experiencia en ello, porfas hechame la mano
Esa es la librería que tenes que bajar de:
http://java.sun.com/products/javacomm/
recomiendo la giovinet serial port api
funciona para windows y linux
y no hay necesidad de incluir el event listener sino solo poner
com1.gettostring('',intervalo de tiempo);
dale si no es mas sencillo y la instalada no va
saludos
Hola he seguido los pasos y solo he podido copiar el archivo libLinuxSerialParallel.so a la ruta que tu indicas, pero los otros archivos no, he buscado pero la direccion que tu das en tu publicacion no esta en mi equipo.
(JDK/jre/lib.)
Espero y puedas ayudarme describiendo a detalle la solucion a mi problema. grasias!!
Hola lo que ocurre es que no he podido encontrar el API ni siquiera en la pagina de oracle; me pueden ayudar??
Hola,
Me llamo Liliana Costa y soy una redactora freelance que colabora con una de las principales webs de avisos de Guatemala.
He visitado su blog y me gustaría proponerle una pequeña colaboración en materia de contenidos.
Mi mail es web@guateganga.com
Le agradezco de antemano su respuesta y le deseo un buen día.
Atentamente,
Liliana Costa
Publicar un comentario