Torna indietro   Hardware Upgrade Forum > Software > Programmazione

KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo
KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo
KTC lancia il nuovo monitor gaming H27E6, un modello da 27 pollici che promette prestazioni estreme grazie al pannello Fast IPS con risoluzione 2K QHD (2560x1440). Il monitor si posiziona come una scelta cruciale per gli appassionati di eSport e i professionisti creativi, combinando una frequenza di aggiornamento di 300Hz e un tempo di risposta di 1ms con un'eccezionale fedeltà cromatica
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-12-2008, 15:48   #1
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
[Java] Pistola laser USB

Salve a tutti. Ho bisogno di sviluppare un programma che riconosca un codice letto da un pezzo di carta con una pistola laser USB (tipo quelle che usano nei super mercati con i codici a barre) e confrontarlo con uno presente nel database.

Avrei bisogno per prima cosa di capire: come posso catturare l'input in ingresso di questa periferica? E' possibile oppure solo il programma in dotazione alla pistola può farlo?

Se è possibile catturare l'input con Java, sapete dirmi come fare di preciso? Esiste qualche guida?

In che modo potrei poi salvare questo codice a barre? Vi prego è urgente, spero che qualcuno sappia aiutarmi
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2008, 16:45   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
I dispositivi di questo tipo che mi e' capitato di vedere, erano di due tipi:
1 - "Simulavano" l'introduzione dei numeri, come se fossero premuti dalla tastiera;
2 - Spedivano i dati come se fossero una normalissima porta seriale;

Nel primo caso, praticamente non si deve far niente di particolare: e' proprio come se si battesse sulla tastiera.
Ovviamente nel secondo caso devi lavorare un po' di piu', ma mica poi tanto.

Sicuramente esisteranno altri tipi, ma non so dirti altro
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2008, 17:15   #3
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Quote:
Originariamente inviato da sottovento Guarda i messaggi
I dispositivi di questo tipo che mi e' capitato di vedere, erano di due tipi:
1 - "Simulavano" l'introduzione dei numeri, come se fossero premuti dalla tastiera;
2 - Spedivano i dati come se fossero una normalissima porta seriale;

Nel primo caso, praticamente non si deve far niente di particolare: e' proprio come se si battesse sulla tastiera.
Ovviamente nel secondo caso devi lavorare un po' di piu', ma mica poi tanto.

Sicuramente esisteranno altri tipi, ma non so dirti altro
Innanzitutto grazie mille per la risposta, è una cosa molto importante per me.
Vorrei però capire in dettaglio come funzionano questi apparecchi.
Devo fare un programma non complicato quindi uno che simula una tastiera andrebbe benissimo.

Allora, se io su un foglio di carta leggo delle lettere o dei numeri con questo dispositivo, mi converte automaticamente l'input in oggetto String?? E cosa succede invece se leggo un codice a barre oppure degli scarabocchi?

Io dovrei sviluppare un programma che salva in una tabella la lista di alcune persone. Ad ogni persona è associato un codice a barre, queste persone devono poter effettuare una sorta di "autenticazione" mostrando il loro codice a barre che hanno su un pezzo di carta. Il lettore dovrebbe leggere questo codice a barre ed interpretarlo, e fare quindi un confronto col codice a barre presente nel database... come potrei sviluppare una cosa del genere?
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 17:02   #4
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Vi prego aiutatemiiiiii, nessuno mi sa dare informazioni al riguardo?
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 17:33   #5
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21842
Quote:
Originariamente inviato da UnknownSoldier Guarda i messaggi
Vi prego aiutatemiiiiii, nessuno mi sa dare informazioni al riguardo?
semplicemente lo scanner di codici a barre del primo tipo viene visto come una tastiera dal sistema operativo, alla lettura del codice si comporta come se digitassi i numeri del codice a barre seguiti da invio tutto li
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 17:49   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da !fazz Guarda i messaggi
semplicemente lo scanner di codici a barre del primo tipo viene visto come una tastiera dal sistema operativo, alla lettura del codice si comporta come se digitassi i numeri del codice a barre seguiti da invio tutto li
Nel qual caso in Java quando avvii l'applicazione dovresti dargli il focus (requestFocus() mi pare in class Component) e poi con un KeyListener catturi e processi gli eventi che ti interessano (KeyPressed(), KeyReleased(), KeyTyped()).

Se la sequenza fosse appunto tutte le cifre del codice seguite da invio sarebbe semplice ricostruire una String che ti potrebbe, come avevi già detto, fare da Key per l'HashMap in cui hai caricato tutte le coppie "codice a barre -> persona" presenti nel db.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 19:28   #7
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Quindi il lettore barcode che simula la tastiera, legge il codice e lo converte automaticamente in valori stringa? Però leggendo su internet ho trovato che ci sono vari algoritmi di codici, devo impostare qualcosa per specificare a quale algoritmo riferirsi? Oppure non c'è ne bisogno e interpreta tutto automaticamente?
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 21:04   #8
newuser
Senior Member
 
L'Avatar di newuser
 
Iscritto dal: Oct 1999
Messaggi: 1565
Questo tipo di lettore "è" una tastiera connessa in parallelo alla tastiera normale (se serve) oppure esclusivamente. Per realizzare il tuo programma devi gestire il normale input da tastiera.

I codici a barre sono di diverse famiglie, in europa e in italia si usa normalmente lo standard EAN-13 che consiste in 12 cifre più una cifra di controllo.
Non dovrebbe essere necessario configurare il lettore, ogni codice a barre ritorna una specifica serie di byte quindi puoi limitarti a contare i byte (12) e verificare che siano tutti valori numerici.
newuser è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 21:50   #9
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Quindi se ho capito bene, questo dispositivo funziona proprio come se fosse una tastiera vera e propria? Mi spiego meglio: creo un codice a barre partendo da una stringa: "my string".

Stampo questo codice a barre e uso il lettore ottico, questo lettore legge questo codice e ritorna al programma proprio la stringa "my string" come se fosse stata data dalla tastiera?
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 09:26   #10
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da UnknownSoldier Guarda i messaggi
Quindi il lettore barcode che simula la tastiera, legge il codice e lo converte automaticamente in valori stringa?
Io prima mi riferivo allo scenario illustrato da fazz! che riprendeva il post di sottovento, dove quest'ultimo dice che sostanzialmente i lettori di codici a barre posso passare le informazioni in due modi:
Quote:
Originariamente inviato da sottovento
I dispositivi di questo tipo che mi e' capitato di vedere, erano di due tipi:
1 - "Simulavano" l'introduzione dei numeri, come se fossero premuti dalla tastiera;
2 - Spedivano i dati come se fossero una normalissima porta seriale;
Dicevo che se nel tuo caso tu avessi la fortuna di avere a che fare con un dispositivo che funziona come illustrato nel primo caso (tipo tastiera), allora tutto quello che dovresti fare dovrebbe essere più o meno quello che ti ho scritto nel post precedente: il lettore di codici a barre quando legge un codice si comporta come una tastiera.

Una tastiera che fa, dal punto di vista di Java?
Genera degli eventi diretti sul Component che ha il focus in quel momento, intercettabili con un Listener.
Mi aspetterei quindi quindi che il dispositivo, letto un codice a barre, generi una sequenza di KeyEvent da dover intercettare e da processare in uno o più tra questi metodi tipici di un KeyListener:
- KeyPressed(), KeyReleased(), KeyTyped().
Insomma, tenterei con questo approccio, farei delle prove almeno!

Questo appunto tu avessi a che fare con un dispositivo del primo tipo.
La prima cosa da fare è capire con che tipo di dispositivo hai a che fare: dovresti dircelo tu questo
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 09:55   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Poi la prova è abbastanza facile, colleghi il lettore, metti il focus su un editor di testo e leggi un codice a barre, così vedi quello che ti legge.
Ovviamente se è USB avrà bisogno anche di un suo driver (che è fornito dal produttore). Generalmente possono funzionare in entrambi i modi, o in simulazione tastiera o in simulazione di seriale.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 11:26   #12
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Raga quindi è come ho detto nell'ultimo mio post (quello prima di questo)? Comunque ho creato un piccolo programma di test, e ho creato un codice a barre con la libreria barbecue, devo solo aspettare che il mio cliente (primo cliente ) si faccia prestare il lettore e provare... praticamente ho utilizzato un semplice programma che usa un JOptionPane che mostra un Input Dialog (quindi il focus è automatico) e vedere se funziona.
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 11:58   #13
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da UnknownSoldier Guarda i messaggi
Raga quindi è come ho detto nell'ultimo mio post (quello prima di questo)?
Forse c'è stato un quiproquo

Quando dici:
Quote:
Stampo questo codice a barre e uso il lettore ottico, questo lettore legge questo codice e ritorna al programma proprio la stringa "my string" come se fosse stata data dalla tastiera?
Parli di "stringa"... Ma non ti arriva direttamente una stringa come oggetto String, per intenderci.
Nel tuo esempio, dove il codice letto è: "my string", lato Java dovresti vedere arrivare una sequenza di KeyEvent, dove ogni singolo evento decodificato è, in questo caso, la singola lettera spedita.

Quindi la stringa (intesa come oggetto String) "my string" se tu che te la devi ricostruire a partire dai KeyEvent, non è che ti arriva dal lettore otticco gà bella e pronta, se era questo il tuo dubbio.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 12:06   #14
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Allora, io ho fatto una classe di test in questo modo:

Codice PHP:
import javax.swing.JOptionPane;
import java.io.File;

public class 
TestBarCode
{
    public static 
void main (String[] args)
    {
        try
        {
            
/*Barcode barcode = BarcodeFactory.createEAN13 ("983243209872");
            File file = new File ("mybarcode3.png");
            
            BarcodeImageHandler.savePNG (barcode, file);*/
            
            
String code "983243209872";
            
String result JOptionPane.showInputDialog("Inserisci messaggio");
            if (
result.equals (code))
                
JOptionPane.showMessageDialog (null"Il programma funziona!""Successo"JOptionPane.INFORMATION_MESSAGE);
            else
                
JOptionPane.showMessageDialog (null"Il dispositivo o il programma non funzionano!""Errore"JOptionPane.ERROR_MESSAGE);
        }
        catch (
Exception exception)
        {
            
exception.printStackTrace();
        }
    }

Mi basta questo per poter leggere il codice con il lettore barcode? Mi si apre un input dialog qualunque, e il lettore dovrebbe passare la stringa come se fosse scritta dalla tastiera giusto?
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 12:19   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Mmm...
Penso che dovrebbe andare, se il focus è sul textField costruito dal JOptionPane, non appena il lettore ottico legge il codice a barre, dovrebbe generare eventi di tastiera: questi dovrebbero quindi venire catturati e processati.
Ma oltre alla sequenza rappresentante i caratteri del codice a barre, il lettore ti invia anche un ENTER a fine lettura?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 12:26   #16
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21842
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Mmm...
Penso che dovrebbe andare, se il focus è sul textField costruito dal JOptionPane, non appena il lettore ottico legge il codice a barre, dovrebbe generare eventi di tastiera: questi dovrebbero quindi venire catturati e processati.
Ma oltre alla sequenza rappresentante i caratteri del codice a barre, il lettore ti invia anche un ENTER a fine lettura?
dovrebbe inviarlo, almeno i lettori che avevo provato io lo inviavano
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 12:37   #17
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Mmm...
Penso che dovrebbe andare, se il focus è sul textField costruito dal JOptionPane, non appena il lettore ottico legge il codice a barre, dovrebbe generare eventi di tastiera: questi dovrebbero quindi venire catturati e processati.
Ma oltre alla sequenza rappresentante i caratteri del codice a barre, il lettore ti invia anche un ENTER a fine lettura?
Sì il dialog input ha il focus automatico. Per quello che ho letto in giro l'enter dovrebbe essere automatico e comunque non è un problema.

Grazie a tutti poi vi farò sapere se il test va a buon fine
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2008, 22:29   #18
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Grazie mille a tutti, funziona! E' stato semplice
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2008, 10:28   #19
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21842
prego
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2015, 11:34   #20
Noixe
Member
 
Iscritto dal: Aug 2008
Messaggi: 51
Salve,

scusate se riesumo questo vecchio thread, ma mi chiedevo se foste a conoscenza di qualche lettore di codici a barre con queste caratteristiche:

1. Laser
2. Portabile con memoria interna
3. Con interfaccia USB per poterlo poi connettere al PC e scaricare i codici letti

In merito al 3° punto, il download avviene tramite un software apposito oppure secondo uno standard (ad esempio creazione di un file di testo in formato CSV)?

Grazie
Noixe è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo KTC H27E6 a 300Hz e 1ms: come i rivali ma a met&...
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
QNAP annuncia il JBOD TL-R6020Sep-RP: ol...
Siemens e NVIDIA uniscono le forze: arri...
Ricarica veloce e durata batteria: miti ...
Le "navi volanti" di Candela a...
Bambini su misura? Il caso della startup...
Iliad porta le SIM Express in edicola: r...
Offerte Amazon sui TV Mini LED Hisense 2...
Il silenzio digitale che fa male: come i...
Il responsabile del programma Cybertruck...
Domanda alle stelle per SSD e RAM: in Gi...
Zuckerberg vuole eliminare tutte le mala...
Otto suicidi, un solo chatbot: si moltip...
'Windows fa schifo' perché ha dim...
Tesla aggiorna il camion Semi, e sposta ...
Come funziona la carta Klarna: tre livel...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v