You are on page 1of 12

Instituto Tecnológico de Tehuacán

Ingeniería Electrónica

Servicio Social

Configuración del Puerto Serie y


Paralelo en Linux con Java
Alumnos:
Mario Merino Márquez 07360703
Alberto Cortés Neri 07360696

2 de Mayo de 2011
Configuración del Puerto Serie y Paralelo en Linux con
Java
Resumen de la práctica.
En esta práctica el alumno configurará el puerto serie y paralelo para poder ser utilizado con la
IDE Netbeans en cualquiera de sus versiones utilizando el sistema operativo GNU Linux Ubuntu
10.10 Maverick Meerkat

Objetivos
o Instalación de JDK (Java Development Kit)
o Instalación de IDE Netbeans
o Instalación de Librerias javax.comm

Introducción

Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a


principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene
un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos
errores, como la manipulación directa de punteros o memoria.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en
código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es
normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa
por hardware del bytecode por un procesador Java también es posible.
La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de
clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha
controlado las especificaciones, el desarrollo y evolución del lenguaje a través delJava Community
Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías
de Sun, algunas incluso bajo licencias de software libre.
Entre diciembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus
tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community
Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque
la biblioteca de clases de Sun que se requiere para ejecutar los programas Java aún no lo es).
Java Development Kit o (JDK), es un software que provee herramientas de desarrollo para la
creación de programas en java. Puede instalarse en una computadora local o en una unidad de red.
NetBeans es un entorno de desarrollo, hecho principalmente para el lenguaje de
programación Java. Existe además un número importante de módulos para extender el NetBeans
IDE. NetBeans IDE es un producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una
comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems
fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador
principal de los proyectos.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto
de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases
de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo
identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas
agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados
independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas
fácilmente por otros desarrolladores de software.
Se decidió utilizar el sistema operativo Ubuntu 10.10 debido a que La licencia sobre Java de Sun
insiste que todas las implementaciones sean “compatibles”. Esto dio lugar a una disputa legal entre
Microsoft y Sun, cuando éste último alegó que la implementación de Microsoft no daba soporte a las
interfaces RMI y JNI además de haber añadido características ‘’dependientes’’ de su plataforma. Sun
demandó a Microsoft y ganó por daños y perjuicios (unos 20 millones de dólares) así como una orden
judicial forzando la acatación de la licencia de Sun. Como respuesta, Microsoft no ofrece Java con su
versión de sistema operativo, y en recientes versiones de Windows, su navegador Internet Explorer
no admite la ejecución de applets sin un conector (o plugin) aparte.

Esto hace que no haya soporte para la instalación de la librería javax.comm en Windows. En la
página oficial de Oracle se hace referencia al proyecto rxtx.org y bajar la libreria javax.comm en su
versión genérica pero rxtx ya no se encontraba disponible.

El API Java Communications (COMM) es un paquete opcional para la plataforma Java 2.


Proporciona soporte para comunicación con dispositivos periféricos a través de los puertos serie y
paralelo de un ordenador.

Desarrollo
La instalación de Java en Ubuntu 10.10 puede ser realizada desde los repositorios oficiales.
En terminal tecleamos lo siguiente:
$ sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk
Después la instalación de la IDE Netbeans también se puede realizar por medio de los repositorios
oficiales. Dentro de los repositorios oficiales se encuentra la versión 6.9
Dentro de terminal escribimos:
$ sudo apt-get install netbeans

Con esto tendremos instalado los binarios de Java, y el JDK que nos permitirá programar en la IDE
Netbeans.

Ahora para la elaboración de programas que utilicen el puerto paralelo necesitamos instalar la
librería javax.comm

Paso 1: Descargar la api desde el sitio de java developer network


http://java.sun.com/products/javacomm/

Paso 2: Instalar el soporte nativo para el sistema operativo


Aunque nuestra aplicación en teoría sea independiente de plataforma, tendremos que instalar
soporte para nuestro sistema operativo y cada versión del API a usar es distinta para cada sistema
operativo. Además de esto la nueva versión de la API ya no esta disponible para Windows.
Descargaremos la versión para Linux

Paso 3: Descomprimir el archivo comm3.0_u1_linux.zip

Paso 4: Para instalar el manejo de java desde el puerto serial hay que hacer lo siguiente:

1)Copiar los .so que vienen con el paquete comm (libLinuxSerialParalell.so y


libLinuxSerialParalell_g.so) en /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386 (relativo a la instalación
de java, no se instala en la misma carpeta en todas las distribuciones de Linux, así que hay que
buscarla)
2) Copiar el archivo comm.jar en /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/ext

3) Copiar el archivo javax.comm.properties adjunto en /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib

4) Copiar los .so adjuntos en /usr/lib (Los mismos del paso 1)

Para copiar archivos en Linux a las carpetas de sistema se debe de hacer con privilegios de root
para ellos se escriben los comandos sudo o su.
En terminal se hace de la siguiente manera y es semejante para todos los pasos solo hay que
cambiar la ruta de copiado.
$ sudo cp /ruta/del/archivo /ruta/de/copiado

Existe un modo mas sencillo copiando los archivos de modo gráfico tan solo con click derecho en el
archivo deseado copiar y pegar para los usuarios de Windows que no están familiarizados con la
terminal.
Para ello accedemos a terminal y escribimos:
$ sudo nautilus
De este modo nos abrirá una ventana con privilegios de root. Basta con copiar y pegar los archivos
en la ubicación correcta.

Hasta aquí deberíamos tener listo el acceso al puerto serie y paralelo. Ahora haremos un programa
que compruebe que ya están habilitados y que la IDE Netbeans los detecta para poder utilizarlos.
1.- Entramos al IDE Netbeans que se encuentra en Aplicaciones/Programación/Netbeans 6.9
2.- Creamos un nuevo proyecto (ctrl+shift+n) y elegimos Java Application
3.- Elegimos un
nombre para el nuevo proyecto (En nuestro caso Prueba_Puertos_javacomm) donde queremos
guardar los archivos del programa y elegimos un nombre para nuestra clase (En nuestro caso la clase
se llamará Main)

Netbeans nos creará una plantilla para empezar a escribir nuestro programa. El programa para la
prueba de los puertos serie y paralelo es el siguiente.

import javax.comm.*;
import java.util.Enumeration;
public class Main {
public static void main(String args[]) {
Enumeration ports =
CommPortIdentifier.getPortIdentifiers();
while (ports.hasMoreElements()) {
CommPortIdentifier port =
(CommPortIdentifier)ports.nextElement();
String type;
switch (port.getPortType()) {
case CommPortIdentifier.PORT_PARALLEL:
type = "Paralelo"; //Se ejecuta si el puerto es paralelo
break;
case CommPortIdentifier.PORT_SERIAL:
type = "Serial"; //Se ejecuta si el puerto es serial
break;
default:
type = "Desconocido/Error"; //No deberia de suceder o el puerto esta dañado
break;
}
System.out.println("Nombre del puerto: "+port.getName() + " - " + type);
}
}
}

Ahora le damos click a Run o pulsamos la tecla F6. Si todo sale bien el resultado debería ser algo
parecido a esto:
run:
Nombre del puerto: /dev/ttyS0 - Serial
Nombre del puerto: /dev/ttyS1 - Serial
BUILD SUCCESSFUL (total time: 0 seconds)

Como podemos observar solo tenemos puertos Seriales debido a que este programa fue hecho en
una laptop y el puerto paralelo ya no lo tiene.
En la captura de pantalla podemos apreciar el programa escrito dentro del IDE Netbeans, el
resultado de la compilación y del lado izquierdo en la pestaña de libraries/JDK1.6 el paquete
comm.jar que hemos instalado.
Ahora podemos escribir programas que utilicen el puerto serie y paralelo.

Instalación de JDK e IDE Netbeans en sus versiones recientes.

Una desventaja de instalar Java y Netbeans desde los repositorios oficiales de nuestra distribución
de Linux es que esta no es la mas actual.
Netbeans acaba de lanzar la versión 7.0 de su IDE y Sun la version 1.6.0_25 que es la necesaria
para que los applets corran bien en nuestro navegador web preferido.
Para comprobar la versión de nuestro JDK escribimos en terminal
$ java -version
Como se ve en la captura de pantalla anterior cuento con la versión mas reciente. Para instalar esta
versión de JDK y el IDE Netbeans 7.0 entramos al siguiente enlace y bajamos la versión para nuestro
sistema operativo.
http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html

Una vez descargado instalamos el archivo jdk-6u25-nb-7_0-linux-ml.sh. A diferencia de Windows la


instalación no es únicamente dando doble click. Gracias a que ya tenemos una versión anterior de
Java será más fácil y se hará con un solo comando, tecleamos en terminal lo siguiente:
$ sudo sh /ubicacion/del/archivo
$ sudo sh /home/merinox/Descargas/jdk-6u25-nb-7_0-linux-ml.sh (En mi caso)
Nos saldrá una instalación gráfica guiada como en la siguiente captura de pantalla en la que siendo
usuarios novatos de Linux es mejor únicamente dar puro siguiente.

Con esto tendremos ya instalado el IDE Netbeans 7.0 pero ojo aun no tenemos instalada la nueva
versión de JDK 1.6.0_25
Si hacemos un poco de memoria dentro de la instalación anterior nos dijo que se copiaría a la
carpeta. /usr/local/jdk1.6.0_25, Bien lo que tenemos que hacer es indicar a nuestro Sistema
operativo que ese será el nuevo path de Java. Ubuntu al ser “más fácil” cambia las ubicaciones por
default de todo lo cual par un usuario novato es un dolor de cabeza.

Abrimos terminal y Establecemos el nuevo Java como una de las "alternativas de java":

$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/jdk1.6.0_25/bin/java" 1

Ahora establecemos la "nueva alternativa" como la real de Java. Este paso hace que la versión de
sun sea la usada por defecto :

$ sudo update-alternatives --set java /usr/local/jdk1.6.0_25/bin/java

Para comprobar que tengamos la nueva version tecleamos de nuevo en terminal


$ java -version
Después para javac:

1. Establecer javac de JDK como una "alternativa" (todo en la misma linea), ya que el sistema no lo
reconoce:

$ sudo update-alternatives --install "/usr/bin/javac" "javac" " /usr/local/jdk1.6.0_25/bin/javac"


1
2. Ahora establecemos la "nueva alternativa" como la real de javac en el sistema:

$ sudo update-alternatives --set javac /usr/local/jdk1.6.0_25/bin/javac

Para comprobar que tengamos la nueva version tecleamos de nuevo en terminal


$ javac -version

Una vez hecho esto tenemos que habilitarlo en nuestro navegador web. Lo explicaré para Google
Chrome.
$ sudo mkdir /opt/google/chrome/plugins
Con este comando creamos una nueva carpeta llamada Plugins en opt/google/chrome
Después tecleamos en terminal:

$ sudo lh /usr/local/jdk1.6.0_25/jre/lib/i386/libnpjp2.so /opt/google/chrome/plugins

Con esto hicimos el enlace simbólico y ya podremos cargar applets con google chrome. Para
comprobar que tenemos la nueva versión entramos a la pagina oficial de java y hacemos la
comprobación.

Lamentablemente hay que reinstalar el javax.comm. Nos referimos de nuevo al inicio de este
tutorial pero cambiando el path a la nueva dirección donde se instaló el JDK.

You might also like