domingo, 24 de febrero de 2008

YATTA!!! el robot se mueve desde JAVA!!!

Me "congratulaciona" comunicar a todo el personal (bueno, por ahora yo solo :p ) que por fin! he conseguido comunicarme con el robot mediante el puerto serie, utilizando el lenguaje JAVA.
Hay que destacar muchas cosas:
  1. 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)
  2. 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.
  3. 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.
lo que mas ha dado quebraderos de cabeza (y es la cosa mas estupida) es que no configuraba bien el puerto, por lo que al transmitir, el circuito no podia entender nada. El siguiente codigo ha sido crucial:

// 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:

Gabi dijo...

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.

Gabi dijo...
Este comentario ha sido eliminado por el autor.
Gabi dijo...
Este comentario ha sido eliminado por el autor.
Gabi dijo...
Este comentario ha sido eliminado por el autor.
Gabi dijo...
Este comentario ha sido eliminado por el autor.
 
Informacion de proyecto para el control de un robot mediante puerto serie desde una fonera. Jakala. Licencia GPL. oct-2007