14
Mar
10

comunicar java por el puerto serial

Por alguna razón que va mas allá de mi entendimiento sun ya no le da mas soporte a las comunicaciones del puerto serial y paralelo a windows, o sea que para hacerlo hay que hacerlo con versiones antiguas del API (application programming interface), aquí les tengo la versión de 1998 con esta me funciono para win XP y win 98.

instalar javaxcomm32 en windows

Conectar java por el puesto serial
DESCARGAR API

Hay tres archivo para nuestra instalación:
* comm.jar
* win32com.dll
* javax.comm.properties

la cuestión es así de sencilla

copiamos la comm.jar en:
C:\Archivos de programa\Java\jdk1.6.0_02\lib
C:\Archivos de programa\Java\jdk1.6.0_02\jre\lib\ext

copiamos la win32com.dll en:
C:\Archivos de programa\Java\jdk1.6.0_02\lib
C:\Archivos de programa\Java\jdk1.6.0_02\jre\bin
C:\WINDOWS\system32

copiamos la javax.comm.properties en:
C:\Archivos de programa\Java\jdk1.6.0_02\lib
C:\Archivos de programa\Java\jdk1.6.0_02\jre\lib

para mayor facilidad he subido un .bat
donde le das clic derecho editar y cambias la dirección de la java

import java.io.OutputStream;
import java.io.InputStream;
import javax.comm.CommPortIdentifier;
import javax.comm.ParallelPort;

// "CODIGO.JAVA@HOTMAIL.COM"

public class ControlPuertos {

	private CommPortIdentifier idPort;
	private ParallelPort puertoParalelo;
	private OutputStream salida;
	private String nombre;
	public  static int PARALELO=0;

	public void iniciarPuerto(){
		try {
			nombre=  "LPT1";
			idPort = CommPortIdentifier.getPortIdentifier(nombre);
			puertoParalelo = (ParallelPort) idPort.open("...:::CODIGO.JAVA@HOTMAIL.COM:::...", 888);
			salida = puertoParalelo.getOutputStream();
			System.out.println("Puerto "+nombre+" iniciado ...");
		} catch (Exception e) {
			System.out.println("Error en iniciarPuerto() \n"+e);
		}
	}

	public void cerrarPuerto(){
		try {
			salida.close();
		} catch (Exception e) {
			System.out.println("Error en cerrarPuerto() \n"+e);
		}
		System.out.println("Puerto "+nombre+" cerrado ...");
	}

	public void escribirEnPuerto(int dato){
		try {
			salida.write(dato);
			System.out.println("Dato "+dato+" escrito en Puerto "+nombre+" ...");
		} catch (Exception e) {
			System.out.println("Error en escribirEnPuerto() \n"+e);
		}

	}
}


public class Ejecutable{
	public static void main(String args[]) {
		try {
			ControlPuertos cp= new ControlPuertos();
			cp.iniciarPuerto();
			cp.escribirEnPuerto(0);
			for (int i = 0; i<900; i++){
				cp.escribirEnPuerto(10);
			}
			for (int i = 0; i<900; i++){
				cp.escribirEnPuerto(0);
			}
			for (int i = 0; i<900; i++){
				cp.escribirEnPuerto(255);
			}
			cp.cerrarPuerto();
		} catch (Exception e) {
			System.out.println(e);
		}
	}
}

las entradas de ejemplos de comunicación están aquí


3 Responses to “comunicar java por el puerto serial”


  1. 1 julitio
    noviembre 15, 2010 a las 5:47 pm

    Disculpa mi poco nivel de programación en Java, pero estas utilizando el JCreator?

    • noviembre 17, 2010 a las 9:19 am

      si para los ejemplos utilizo JCreator, ya para trabajar utilizo NetBeans, Eclipse o Aptana.. dependiendo del que se quiere hacer🙂, clean code JCreator

  2. 3 David Ojeda
    abril 26, 2011 a las 4:40 pm

    hola que tal , estoy haciendo la practica de comunicacion serial con java y estoy viendo tus anotaciones y me gustaria saber si todo el programa esta en un solo proyecto o son varios. estoy ocupando el netbeans y la verdad no estoy muy familiarizado cn este programa.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


I+Ds

Dudas consultas
Facebook
Twiter
Google +

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevas publicaciones por correo.

Únete a otros 348 seguidores

Ingenio DS en Facebook

Redes Sociales y Archivos

Entradas

marzo 2010
L M X J V S D
« Feb   Abr »
1234567
891011121314
15161718192021
22232425262728
293031  

IngenioDS en twiter


A %d blogueros les gusta esto: