Foros del Web » Programación para mayores de 30 ;) » Java »

lector de codigo de barras...

Estas en el tema de lector de codigo de barras... en el foro de Java en Foros del Web. Buenas [email protected], soy nuevito en el foro, y me gustaria mucho que me ayuden a un problema que me parte el cerebro.. Revizando el foro ...
  #1 (permalink)  
Antiguo 17/01/2012, 14:48
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 7 años, 10 meses
Puntos: 0
lector de codigo de barras...

Buenas [email protected], soy nuevito en el foro, y me gustaria mucho que me ayuden a un problema que me parte el cerebro..

Revizando el foro encontre a varios con problemas similares pero ninguno como mi caso... (eso creo).

Bueno les cuento...
Tengo un lector de codigo de barras Cubit 6520 que conecto a al puerto COM1.

utilizo la libreria RXTXcomm.jar para leer los datos, pero mi tema es que no e logrado leer el COM1.

Tengo un trozo de codigo, pero no se que me falta.
Código:
Enumeration puertosCOM = CommPortIdentifier.getPortIdentifiers();

            CommPortIdentifier miPuerto = null;

            while (puertosCOM.hasMoreElements()) {

                miPuerto = (CommPortIdentifier) puertosCOM.nextElement();
                if (miPuerto.getName().equals(nombrePuerto)) {
                    break;
                }

            }

            CommPort puerto = miPuerto.open("aqui no se que va...", 1000);

            SerialPort puertoSerie = (SerialPort) puerto;

            puertoSerie.setSerialPortParams(19200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
comento que en los otros temas que lei respecto a los lectores de codigo de barras es que actuan como un teclado y bla bla bla... pero todos son del tipo que tienen el boton para lanzar la orden de leer..
y mi lector no tiene nada de eso...es solo el laser rojo

porfa...su ayuda es indispenzable...pues aun que no es para un trabajo oficial...quiero aprender a usar este tipo de herramientas...

desde ya muchas gracias a todos los que respondan
  #2 (permalink)  
Antiguo 17/01/2012, 14:55
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 12 años
Puntos: 75
Respuesta: lector de codigo de barras...

Pues el mío también tiene laser rojo y con tal de que un objeto de tipo entrada de texto tenga el foco con eso basta para que lo escriba ahí.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 17/01/2012, 19:51
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: lector de codigo de barras...

si...como dije... sabia que los lectores estos actuan como un teclado o algo similar...que solo basta con hacer "click" en el lector y esto escribe automagicamente en un JTextField o donde se necesite...el problema es que mi lector no tiene ningun boton xD entonces...indagando por ahi...lei que hay que capturar el puerto (COM1 es el que uso) y con eso ya podia manejar el codigo que leo y procesarlo para lo que necesite...

por eso.... AYUDAAAAAAAAAAAAAA...
  #4 (permalink)  
Antiguo 17/01/2012, 21:24
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 9 años, 6 meses
Puntos: 69
Respuesta: lector de codigo de barras...

Mira una vez trabajé con el puerto serial en un chat de la escuela, mas omenos lo que hacia era esto:

Código PHP:
//bandera para operacion despues de encontrar puerto
boolean bandPEncontrado false;
String nomPuerto "";

//Se guarda una lista de los puertos del PC y se determina un objeto que se usara para tratar el puerto
Enumeration puertosComm CommPortIdentifier.getPortIdentifiers();
CommPortIdentifier puertoPCOM null;

//Se recorre la lista de puertos
while(puertosComm.hasMoreElements()) {
    
//se crea un objeto puerto para almacenar el elemento actual de la lista
    
puertoPCOM = (CommPortIdentifierpuertosComm.nextElement();
    
    
//se averigua si el puerto actual es el serial que buscamos
    
nomPuerto JOptionPane.showInputDialog("Inserta Nombre de Puerto COM1/COM2");
    if(
puertoPCOM.getName().equals(nomPuerto)) {
        
//encontro el puerto
        
bandPEncontrado true;
        break;
    } else {
        
//No existe el puerto
        
bandPEncontrado false;
        
JOptionPane.showMessageDialog(null"No se encontró el puerto "+nomPuerto);
    }
}

//si se encontro el puerto vamos a tratarlo
if(bandPEncontrado == true) {
    try {
        
//abrimos el puerto
        
CommPort puertoOpen puertoPCOM.open("Puerto Serial" nomPuerto2000);
        
        
//obtenemos el puerto serial
        
puertoSerial = (SerialPortpuertoOpen;
        
    } catch(
PortInUseException ex) {
        
ex.printStackTrace();
    }               

No es la mejor lógica pero me sirvio, una vez que tengo el puerto, hago unos flujos para trabajar tanto envio de datos como lectura de datos, en tu caso solo debes de leer para obtener lo que el laser te de... algo asi

Código PHP:
private void iniciaFlujo() {
        try {
            
ois = new ObjectInputStream(puertoSerial.getInputStream());
        } catch(
IOException ex) {
            
ex.printStackTrace();
            
this.cerrarTodo();
        }
}

//Esto va en un thread
private void leerDatos() {
        try {
            while(
true) {
                
Object aux ois.readObject();
                
                if(
aux != null && aux instanceof String) {
                    
String msgn = (String) aux;
                    
objVentanaPrinc.getTxtChatA().append("El dice: " msgn "\n");
                }
                
                
Thread.sleep(15);
            }
        } catch(
Exception ex) {
            
ex.printStackTrace();
            
this.cerrarTodo();
        }

En mi caso era un chat por serial asi que debia preguntar con el instance of si recibia una string, asi que depende de lo que te mande el lector de barras tu sabras que es lo que esperas, que puedes usar el object solamente y despues interpretar los datos...

espero y te sirva recodad el karma xD
  #5 (permalink)  
Antiguo 18/01/2012, 00:26
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: lector de codigo de barras...

a ver...se me fue el internet por casi todo el dia...xD...veo y comento ...gracias a los 2 por la velocidad de respuesta..:D pence que seria mas tramite :D...

Karma a los 2 :D
  #6 (permalink)  
Antiguo 18/01/2012, 01:01
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: lector de codigo de barras...

jojo...eres groso zero0097...logre hacer la lectura....

pero surgen excepciones :

java.io.StreamCorruptedException: invalid stream header: 02683737
java.lang.NullPointerException

la java.lang.NullPointerException la comprendo

a que se debe
la primera ?? xD

bueno..en relidad lee a medias...pues no consigo que muestre el codigo que recive xD

de todas formas...agradesco mucho su ayuda... :)

sigo intentando...
  #7 (permalink)  
Antiguo 18/01/2012, 21:18
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 9 años, 6 meses
Puntos: 69
Respuesta: lector de codigo de barras...

La null pinter exception con un debug la quitas, casi puede ser que se incia el thread de lectura antes de que se instancien los streams para recibir los datos......la otra excepcion la verdad no se, nunca me ha tocado recibirla checa en Google
  #8 (permalink)  
Antiguo 26/01/2012, 22:18
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: lector de codigo de barras...

disculpas por responder tan tarde a esto...pero me cortaron la conexion al Internet por no pago XD...

les cuento que no logre solucionar la exception java.io.StreamCorruptedException: invalid stream header: 02683737..
indague busque en google y ..otros... pero en ninguna parte hay una respuesta concreta ....

les agradesco a los que leyeron mi post y ofrecieron ayudar.....
ahora soy uno de ustedes y tratare de ayudar cuando se presente :D..

PD : soy un novato aun xD

eso..simplemente Gracias :D
  #9 (permalink)  
Antiguo 27/01/2012, 01:47
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 9 años, 6 meses
Puntos: 69
Respuesta: lector de codigo de barras...

De nada bro, y pues raro que no encontraras el error, puedes checar la documentacion y ves la clase StreamCorruptedException y alli te dice "This class is throwed when ..." algo asi pero sin mal ingles...
__________________
De nada, hay te encargo +1...
  #10 (permalink)  
Antiguo 27/01/2012, 02:32
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: lector de codigo de barras...

en realidad como que ya no importa... solo queria aprender al respecto.

Seguire intentando y si hay novedades lo posteare para los futuros usuarios.

Etiquetas: jar, lector
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:44.