Escolar Documentos
Profissional Documentos
Cultura Documentos
27feb09
La versin del Comm API (Java(tm) Communications API) para Windows est formada por tres archivos: win32com.dll comm.jar javax.comm.properties
Si queremos ejecutar alguna aplicacin que haga uso del puerto serie o el paralelo debemos realizar la instalacin en el JRE (cuyo path es parecido a C:\Archivos de programa\Java\jre6\ o C:\Archivos de programa\Java\jre1.6.0_03), para ello tenemos que colocar los archivos en: o o o win32com.dll PATH_JRE\bin\ comm.jar PATH_JRE\lib\ext\ javax.comm.properties PATH_JRE\lib\ Si queremos desarrollar alguna aplicacin que haga uso del puerto serie o el paralelo debemos realizar la instalacin en el JDK (cuyo path parecido a C:\Archivos de programa\Java\jdk1.6.0_12), para ello tenemos que colocar los archivos en: o o o o o o o win32com.dll PATH_JDK\bin\ PATH_JDK\jre\bin\ C:\WINDOWS\system32\ comm.jar PATH_JDK\lib\ PATH_JDK\jre\lib\ext\ javax.comm.properties PATH_JDK\lib\ PATH_JDK\jre\lib\
Rate this:
Digg
1.
2.
3.
Saludos
Responder
4.
5.
6.
hice el copiar-pegar de los 3 archivos como indicado en esta pagina, pruebo el pequeo prog siguiente: import import import import javax.comm.*; com.sun.comm.Win32Driver; java.io.*; java.util.*;
public class MonTest { public MonTest () { Win32Driver w32Driver = new Win32Driver(); w32Driver.initialize(); Enumeration portList = CommPortIdentifier.getPortIdentifiers(); CommPortIdentifier portId; while (portList.hasMoreElements()) { portId = (CommPortIdentifier)portList.nextElement(); System.out.println(portId.getName()); } } } compilando tengo cannot find symbol class Win32Driver tal vez no hice lo necesario con los CLASSPATH, es que no entiendo bien este tema gracias por su ayuda
Responder
7.
8.
{ hijo = Runtime.getRuntime().exec(firefox.exe); hijo.waitFor(); if ( hijo.exitValue()==0){ System.out.println( WMP Killed ); }else{ System.out.println( Cannot kill WMP. Exit code: + hijo.exitValue() ); } } catch (IOException e) { System.out.println(Incapaz de matar soffice.+e.getMessage()); } catch (InterruptedException e) { System.out.println(Incapaz de matar soffice. +e.getMessage()); } } public static void main(String Arg[]) { String cmd = cmd.exe /c start ; //String file = c:\\version.txt; String file = http://www.google.com; try { // String file = c:\\; //String file = mailto:author@my.com; //String file = mailto:; Process d = Runtime.getRuntime().exec(cmd + file); //d.destroy(); } catch (IOException ex) { Logger.getLogger(MyWindowListener.class.getName()).log(Level.SEVERE, null, ex); } } }
Responder
9.
10.
hola mira lo q pasa es lo siguiente estoy tratando de conectar esta clase comm pero la verdad no eh podido hacer nadad tras de eso necesito esq java resiva datos por el puerto paralelo si me prodrias ayudar con seria de lujo y ps si puedes hacer un video tutorial mucho mejor tio bien te lo agradesco
Responder
11.
12.
13.
Responder
14.
15.
Responder
16.
17.
/** * private method that lists all the available ports of the device and then askthe user to select one * @return selected port */ private String ListPorts() { Vector names = null; int index = -1; while (index == -1) { int j = 1; names = new Vector();System. out.println(Available ports: ); CommPortIdentifier c; for (Enumeration i = CommPortIdentifier.getPortIdentifiers() ; i.hasMoreElements() {
c = (CommPortIdentifier) i.nextElement(); System.out.print(j++ +. + c.getName()); names.add(c.getName()); if (c.getPortType() == CommPortIdentifier.PORT_SERIAL) System.out.print(\t SERIAL\n); if (c.getPortType() == CommPortIdentifier.PORT_PARALLEL)System.out.print(\t PARALLEL\n); } System.out.print(Select port: ); String input = readFromUser();
return names.elementAt(index 1).toString(); } Con este codigo podeis listar toodos los puertos que estan disponibles en vuestro pc y listarlos para elegir el que quereis seleccionar. Para abrir un puerto no hay mas que: CommPort port = CommPortIdentifier.getPortIdentifier(portname).open("NMEAPrueba", 3000);
Donde el portname es una variable String que contiene el nombre del puerto a abrir, en mi caso era COM18. Esta variable era el retorno del codigo que he puesto antes. Y NMEAPrueba es el nombre de quien lo abre, para que al poseerlo los demas sepan quien es el dueo. Una vez abierto el puerto, podemos obtener un InputStream y un OutputStream para mandar y recibir informacion. Yo utilizo BufferedInputStream porque me es mas comodo BufferedInputStream input = newBufferedInputStream(port.getInputStream()); BufferedOutputStream output = newBufferedOutputStream(port.getOutputStream( )); Una vez con estos objetos ya todo depende del desarrollador. Por ejemplo para el GPS bluetooth solo hay que escuchar los datos que se reciben e interpretarlo, no hace falta enviar (bueno, se pueden enviar cosas dependiendo del protocolo que siga el GPS pero en general sin enviar nada se puede escuchar continuamente lo que manda el GPS). Todo depende del programador y del destino.
IMPORTANTIIIISIMO: cerrar los puertos y los streams que si no, se bloquean a veces y quedan inservibles. Hasta que me di cuenta de un error de codigo que tena en mi GPS, me pase dos das configurando cada 5 minutos un nuevo puerto porque el viejo ya no funcionaba. Mas o menos as input.close(); output.flush(); output.close(); port.close();