30
Abr
09

Conexion java con puerto serial db 25

Bueno esta conexion tambien la hice con la Com32 de la Sun pero por las mismas razones que modifique la libreria del paralelo, Sun no da soporte para Windows por lo menos en este aspecto, bueno aqui les dejo el codigo que use para comunicar el puerto serial o db9 con java enviar y leer datos:

import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.Component;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.List;
import app.Com;
import app.Parameters;
import core.SerialPort;
public class Ventana extends JFrame implements ActionListener{
 
 JLabel labelDato;
 private JButton boton;
private Hilo hilo;
public Ventana() {
 setLayout(null);
labelDato = new JLabel("...");
boton=new JButton("iniciar");
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("...:::PUERTO:::SERIAL:::...");
labelDato.setFont(new Font("Arial", 0, 54));
labelDato.setLocation(10,10);
labelDato.setSize(280,280);
boton.setLocation(10,300);
boton.setSize(280,20);
boton.addActionListener(this);
add(labelDato);
add(boton);
setLocation(300,300);
setSize(300,350);
centrar(this);
setResizable(false);
setVisible(true);
}
public void actionPerformed(ActionEvent evento){
 if(boton.getText().matches("iniciar")){
  boton.setText("detener");
  iniciar();
 }else{
  boton.setText("iniciar");
  detener();
 }
}
public void centrar(Component componente){
  Toolkit tk=Toolkit.getDefaultToolkit ();
  int lx=(int) tk.getScreenSize().getWidth()*1;
  int ly=(int) tk.getScreenSize().getHeight()*1;
  lx=lx/2-componente.getWidth()/2;
  ly=ly/2-componente.getHeight()/2;
  componente.setLocation(lx,ly);
 }
 
 private void iniciar(){
  try {
   if(hilo==null){
    hilo = new Hilo(this);
    hilo.start();
   }else{
    hilo.resume();
   }
  }catch (Exception ex) {
    System.out.println (ex);
  }
 }
 
private void detener(){
  try {
   hilo.suspend();
   labelDato.setText("...");
   setTitle("...:::PUERTO:::SERIAL:::...");
  }catch (Exception ex) {
    System.out.println (ex);
  }
 }
}
public class Hilo extends Thread{
 private Ventana ventana;
 
 public Hilo(Ventana ven){
  ventana=ven;
 }
 
 public void run(){
  try {
   SerialPort libres = new SerialPort();
  List lista = libres.getFreeSerialPort();
  if(lista.size()<1){
  throw new Exception("NO SE HAN ENCONTRADO PUERTOS DISPONIBLES");
  }
  String puerto=lista.get(0);
 Parameters configuracion = new Parameters();
  configuracion.setPort(puerto);
  configuracion.setBaudRate("9600");
  configuracion.setStopBits("2");
 Com com = new Com(configuracion);
  int dato=0;
  int i=0;
  System.out.println("LOG");
  while(true){
  dato = com.receiveSingleDataInt();
 ventana.labelDato.setText( dato +"");
  ventana.setTitle("...:::PUERTO:::SERIAL::("+puerto+"):::..."+dato);
  System.out.println("lee "+dato);
  sleep(100);
  com.sendSingleData(i);
  System.out.println("env "+i);
  i++;
 
  }
  }catch (Exception ex) {
    System.out.println (ex);
  }
 }
 
 public void detener(){
  ventana.dispose();
  ventana=null;
 }
}
public class Ejecutable{
 public static void main(String args[]) {
  Ventana v=new Ventana();
}
}

y aqui les dejo los enlaces para descargar la libreria y el codigo:

si ese no funciona prueba con este:

3 Responses to “Conexion java con puerto serial db 25”


  1. 1 the_lg@hotmail.com
    octubre 27, 2012 a las 12:45 am

    Pudieras agregar de nuevo las librerias? saludos

    • octubre 27, 2012 a las 10:00 am

      voy a tratar de encontrarlas, las versiones antiguas son difíciles de conseguir


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

abril 2009
L M X J V S D
« Oct   May »
 12345
6789101112
13141516171819
20212223242526
27282930  

IngenioDS en twiter


A %d blogueros les gusta esto: