Giovynet

JAVA Tips

Manejo de Puertos Seriales RS-232 con Java para Windows

 

OBJETIVO.

El siguiente documento muestra como crear una aplicación java para manipular puertos seriales RS-232. A manera de ejemplo se creará un proyecto java, al que se le adjuntarán dos librerías de fuente abierta GNU General Public License v3, que contienen el código para manipular el puerto serial. Se escribirá código para obtener puertos libres, para enviar y recibir datos. El IDE utilizado es el Eclipse Ganymede, realmente el IDE no es de importancia, lo relevante es garantizar los pasos a seguir. Tambien encontrará la documentación del proyecto (javadoc) en http://www.giovynet.com/docs/GiovynetSerialPort.

RECURSOS.

  • Windows XP/Vista.
  • JDK 6 o mayor.
  • IDE Eclipse Ganymede.
  • Librerías GiovynetSerialPort
  • Dos puertos seriales.
  • Hiperterminal.

PASOS A SEGUIR.

  1. Descargar librerías para el manejo del puerto.
  2. Crear proyecto java.
  3. Adjuntar librerías para el manejo de puertos seriales.
  4. Crear clase para escribir código fuente.
  5. Escribir y ejecutar código para conocer puertos libres.
  6. Escribir y ejecutar código para transmitir datos entre puertos libres.

1. Descargar librerías para el manejo del puerto.

En la siguiente direccion : http://www.giovynet.com/serialport_es.html encontrará el archivo GiovynetSerialPort. descarguelo y descomprimalo.

2. Crear proyecto java en Eclipse.

Siga los siguientes pasos:

  1. Clic en File.
  2. Clic en New.
  3. Clic en Java Project.
  4. En el campo Project Name escriba “RS232”.
  5. Clic en Finish
Observe las siguietes imágenes como guía:



 3. Adjuntar librerias para el manejo de puertos seriales.

Siga los siguientes pasos:
  1. Abra la carpeta GiovynetSerialPort/SerialPort/
  2. Copie los archivos libSerialPort.dll y SerialPort.jar.
  3. En eclipse, de clic en Window.
  4. Clic en Show View.
  5. Clic en Navigator.
  6. Clic derecho en el nodo del proyecto (RS232).
  7. Clic en Paste.
  8. Clic derecho en src.
  9. Clic en Build Path .
  10. Clic en Configure Build Path.
  11. Clic en Libraries.
  12. Clic en Add Jars.
  13. Clic en SerialPort.jar.
  14. Clic en Ok.
  15. Clic en Ok.
Observe las siguietes imágenes como guía:


4. Crear clase para escribir código fuente.

Siga los siguientes pasos:
  1. Clic en el nodo del proyecto(RS232).
  2. Clic en src.
  3. Clic en New.
  4. Clic en Class.
  5. Escriba App en el campo Name.
  6. Clic en Finish.
Observe las siguietes imágenes como guía:


5. Escribir y ejecutar código para conocer puertos libres.
  1. Escriba el siguiente código en la clase App:
    import java.util.List;
    import app.Com;
    import app.Parameters;
    import core.SerialPort;

    public class App {   
        public static void main(String[] args)throws Exception{
            // looks for free serial ports
            SerialPort free = new SerialPort();
            List<String> portList = free.getFreeSerialPort();
            for (String string : portList) {
                System.out.println(string);
            }       
        }   
    }

  2. Clic derecho en una parte en blanco de la clase App.
  3. Clic en Run As.
  4. Clic en Java Application.
  5. Observe la impresion de puertos consola.
Observe las imágenes como guía:


6. Escribir y ejecutar código para transmitir datos entre puertos libres.

Siga los siguientes pasos:

  1. Escriba el siguiente codigo:
    import java.util.List;
    import app.Com;
    import app.Parameters;
    import core.SerialPort;

    public class App {   
        public static void main(String[] args)throws Exception{
            // looks for free serial ports
            SerialPort free = new SerialPort();
            List<String> portList = free.getFreeSerialPort();
            for (String string : portList) {
                System.out.println(string);
            }       
            // Settings parameters COM1.
            Parameters settings = new Parameters();
            settings.setPort("COM1");
            settings.setBaudRate("9600");
            //Instance COM1.
            Com com1 = new Com(settings);
            // Settings parameters COM·.
            settings.setPort("COM3");
            settings.setBaudRate("9600");
            //Instance COM3.
            Com com3 = new Com(settings);
            //Write COM1.
            for (int i = 0; i < 4; i++) {
                System.out.println(">>Send G");
                com1.sendSingleData('G');
            }
            //Read COM3
            for (int i = 0; i < 4; i++) {
                System.out.println("<<Receive "+com3.receiveSingleString());           
            }
        }   
    }

  2. Clic derecho en una parte en blanco de la clase App.
  3. Clic en Run As.
  4. Clic en Java Application.
  5. Observe la impresión de datos enviados y recibidos.


Comentarios a giovynet@gmail.com

THANKS!!!