Hay que destacar muchas cosas:
- Si bien para linux no hay problema, para windows hay que buscar por internet la libreria javax.comm version 2.0. Esta version nos facilita la comunicacion con el puerto serie (y el paralelo tambien)
- No es correcta la documentacion que viene, puesto que nos informa que hay que copiar unos archivos (la libreria) en unos directorios determinados, pero aun asi no funciona: lo he solucionado de la forma chapucera (copiado todo al directorio c:\windows\system32) y con eso, de momento, funciona.
- Una vez hechos los pasos 1 y 2, en nuestro programa, cuando conseguimos el objeto SerialPort se consigue con un cast, de otro objeto que nos permite abrir el puerto.
// objeto que nos abre el puerto identificado con la cadena
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("COM1");
// objeto que representa un puerto SERIE
serialPort = (SerialPort) portId.open("app", 2000);
// configuramos el puerto serie
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
lo bueno de esta libreria es que, los puertos se identifican por la cadena de texto que utiliza el objeto CommPortIdentifier. Esto es, que podemos abrir /dev/ttyS0, o COM2, LPT1... :)
A ver si mañana tengo ganas, lo aplico todo esto a la clase Circuito, y podemos tener una "version operativa" :D
5 comentarios:
Hola estoy intentando realizar un proyecto similar al tuyo, que es comunicar la fonera con un pic, via serie,
el problema que tengo es el realizar un programa(demonio que corra en la fonera) y que este leyendo y escribiendo
en el puerto serie para comunicarse con el pic. Tu como has compilado y insertado tu programa en la fonera. Utilizo el firmware openwrt.
Cualquier información que me puedas aportar sera de gran ayuda ya que estoy atascado en ese punto.
Mi emilio es gabrieltame@yahoo.es
Muchas gracias y un saludo.
Publicar un comentario