Significado de serial y la sigla COM
Puerto serial, puerto COM, puerto de comunicaciones y puerto RS-232 ("Recomended Standard-232"
, hacen referencia al mismo puerto. Se le llama serial, porque permite el envío de datos, uno detrás de otro, mientras que un paralelo se dedica a enviar los datos de manera simultánea. La sigla COM es debido al término ("COMmunications"
, que traducido significa comunicaciones. Es un conector semitrapezoidal de 9 terminales, que permite la transmisión de datos desde un dispositivo externo (periférico), hacia la computadora; por ello es denominado puerto.
Compitió directamente en el mercado contra el puerto LPT.
Este puerto está siendo reemplazado por el puerto USB para el uso en PDA´s y ratones, pero aún viene integrado en la tarjeta principal (Motherboard) actuales.
Figura 1. Puerto serial COM integrado en la tarjeta principal ("motherboard"
.
Figura 2. Símbolo del puerto COM
Figura 3. Conector hembra serial del cable del dispositivo.
Características del puerto serial COM
En el ámbito de la electrónica comercial se le denomina como conector DB9 ("D-subminiature type B, 9 pin"
, esto es D-subminiatura tipo B, con 9 pines.
Se utilizaba principalmente para la conexión del ratón (Mouse), algunos tipos antiguos de escáneres y actualmente para dispositivos como PDA´s ("Personal Digital Assistant"
ó asistentes personales digitales.
Cada puerto, permite conectar solamente 1 dispositivo.
Para conectar y desconectar los dispositivos, así como para que la computadora los reconozca de manera correcta, es necesario apagar y reiniciar la computadora.
Terminales eléctricas del puerto serial
El puerto serial cuenta con 9 contactos tipo pin; se muestran las líneas eléctricas y su descripción básica.
Figura 4. Esquema de las líneas del puerto serial COM.
Líneas eléctricas del puerto serial COM.
1.- DCD (Detecta la portadora)
2.- RxD (Recibe datos)
3.- TxD (Transmite datos)
4.- DTR (Terminal de datos listo)
5.- SG (Tierra)
6.- DSR (Equipo de datos listo)
7.- RTS (Solicita enviar)
8.- CTS (Disponible para enviar)
9.- RI (Indica llamada)
Variante física del puerto serial
Se pueden encontrar algunos dispositivos externos e incluso computadoras que tienen un puerto serial diferente al común de 9 pines. Este puerto serial consta de 25 pines, es tipo macho y se utiliza con frecuencia acompañado de un adaptador para poder ser utilizado con conectores de 9 pines.
Figura 5. Conector serial de 25 pines tipo hembra del dispositivo
Figura 6. Adaptador para el puerto serial de 25 pines a 9 pines.
Velocidad de transmisión del puerto serial COM
La forma de medir la velocidad de transmisión del puerto serial es en Kilobytes/segundo (Kb/s):
Puerto Serial COM
Velocidad en (Kilobytes/segundo) 112 Kb/s
Usos específicos del puerto serial COM
El uso principal que se le asignaba era para conectar el ratón (Mouse), e incluso escáneres, pero con la salida al mercado del puerto USB se dejó de utilizar con este fin. Un uso actual es para conectar algunos tipos de PDA´s, agendas electrónicas, conexiones directas entre computadoras ("Laplink"
, dispositivos electrónicos para prácticas académicas y colectoras de datos.
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 tres librerías de fuente abierta LGPL, que contienen el código para manipular el puerto serie. Se escribirá código para obtener puertos libres, para enviar y recibir datos. El IDE utilizado es el Eclipse, 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/giovynetDriver/javadoc/.
RECURSOS.
•Windows XP/Vista.
•JDK 6 o mayor.
•IDE Eclipse.
•Librerías Giovynet Driver
•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 encontrará el archivo GiovynetDriver.zip. 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 GiovynetDriver/
2.Copie los archivos NativeLibraries/libSerialPort.dll, NativeLibraries/libSOSerialPort.so, 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.
A PETICION DE LOS TARIGUEROS: les dejo el serial.rar para descargar:
http://www.walking-productions.com/jsserial/new/JSSerial.jar
Chau
Puerto serial, puerto COM, puerto de comunicaciones y puerto RS-232 ("Recomended Standard-232"

, hacen referencia al mismo puerto. Se le llama serial, porque permite el envío de datos, uno detrás de otro, mientras que un paralelo se dedica a enviar los datos de manera simultánea. La sigla COM es debido al término ("COMmunications"
, que traducido significa comunicaciones. Es un conector semitrapezoidal de 9 terminales, que permite la transmisión de datos desde un dispositivo externo (periférico), hacia la computadora; por ello es denominado puerto.
Compitió directamente en el mercado contra el puerto LPT.
Este puerto está siendo reemplazado por el puerto USB para el uso en PDA´s y ratones, pero aún viene integrado en la tarjeta principal (Motherboard) actuales.
Figura 1. Puerto serial COM integrado en la tarjeta principal ("motherboard"

.
Figura 2. Símbolo del puerto COM
Figura 3. Conector hembra serial del cable del dispositivo.
Características del puerto serial COM
En el ámbito de la electrónica comercial se le denomina como conector DB9 ("D-subminiature type B, 9 pin"

, esto es D-subminiatura tipo B, con 9 pines.
Se utilizaba principalmente para la conexión del ratón (Mouse), algunos tipos antiguos de escáneres y actualmente para dispositivos como PDA´s ("Personal Digital Assistant"

ó asistentes personales digitales.
Cada puerto, permite conectar solamente 1 dispositivo.
Para conectar y desconectar los dispositivos, así como para que la computadora los reconozca de manera correcta, es necesario apagar y reiniciar la computadora.
Terminales eléctricas del puerto serial
El puerto serial cuenta con 9 contactos tipo pin; se muestran las líneas eléctricas y su descripción básica.
Figura 4. Esquema de las líneas del puerto serial COM.
Líneas eléctricas del puerto serial COM.
1.- DCD (Detecta la portadora)
2.- RxD (Recibe datos)
3.- TxD (Transmite datos)
4.- DTR (Terminal de datos listo)
5.- SG (Tierra)
6.- DSR (Equipo de datos listo)
7.- RTS (Solicita enviar)
8.- CTS (Disponible para enviar)
9.- RI (Indica llamada)
Variante física del puerto serial
Se pueden encontrar algunos dispositivos externos e incluso computadoras que tienen un puerto serial diferente al común de 9 pines. Este puerto serial consta de 25 pines, es tipo macho y se utiliza con frecuencia acompañado de un adaptador para poder ser utilizado con conectores de 9 pines.
Figura 5. Conector serial de 25 pines tipo hembra del dispositivo
Figura 6. Adaptador para el puerto serial de 25 pines a 9 pines.
Velocidad de transmisión del puerto serial COM
La forma de medir la velocidad de transmisión del puerto serial es en Kilobytes/segundo (Kb/s):
Puerto Serial COM
Velocidad en (Kilobytes/segundo) 112 Kb/s
Usos específicos del puerto serial COM
El uso principal que se le asignaba era para conectar el ratón (Mouse), e incluso escáneres, pero con la salida al mercado del puerto USB se dejó de utilizar con este fin. Un uso actual es para conectar algunos tipos de PDA´s, agendas electrónicas, conexiones directas entre computadoras ("Laplink"

, dispositivos electrónicos para prácticas académicas y colectoras de datos.
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 tres librerías de fuente abierta LGPL, que contienen el código para manipular el puerto serie. Se escribirá código para obtener puertos libres, para enviar y recibir datos. El IDE utilizado es el Eclipse, 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/giovynetDriver/javadoc/.
RECURSOS.
•Windows XP/Vista.
•JDK 6 o mayor.
•IDE Eclipse.
•Librerías Giovynet Driver
•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 encontrará el archivo GiovynetDriver.zip. 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 GiovynetDriver/
2.Copie los archivos NativeLibraries/libSerialPort.dll, NativeLibraries/libSOSerialPort.so, 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.
A PETICION DE LOS TARIGUEROS: les dejo el serial.rar para descargar:
http://www.walking-productions.com/jsserial/new/JSSerial.jar
Chau