Quali sono i vari modi per accedere ai dispositivi sul PC client - un lettore di codici a barre, uno scanner, ecc. - da un browser? Mi rendo conto che i miei utenti potrebbero aver bisogno di un plug-in. Questi dispositivi possono avere un'API specifica per il loro dispositivo; Mi piacerebbe sfruttare la loro API se disponibile (forse Java, forse C, forse riga di comando).Come accedere ai dispositivi su un PC client da un browser
risposta
A firmato L'applet Java può avere accesso indipendente dalla piattaforma alla maggior parte delle cose. L'utente deve avere Java installato e deve consentire l'esecuzione dell'applet firmato.
Se si scrive un plug-in su NSAPI, dopo averlo installato si avrà accesso a qualsiasi cosa l'utente possa accedere. Ovviamente, devono installare il plug-in.
Flash offre un sacco di accesso ai dispositivi.
Ottima risposta; Grazie. – Upperstage
Questa non è una cosa banale e non esiste un'API standardizzata (tranne forse nell'area di JScript/ActiveX che è limitata a Internet Explorer).
Per accedere agli scanner tramite l'interfaccia TWAIN, consultare this question per tutte le opzioni generalmente disponibili che conosco.
La maggior parte delle altre attività sarà programmata con Active-X e altri plug-in personalizzati. Ho visto plug-in di codici a barre commerciali discussi su SO, ma al momento non riesco a trovare la domanda.
NSAPI è piuttosto standard. –
Buon collegamento, grazie. – Upperstage
Molti lettori di codici a barre possono essere inseriti tra la tastiera e il PC, quindi i codici a barre scansionati vanno direttamente nel buffer della tastiera. Altri dispositivi si collegano a una porta seriale o hanno driver che emulano una porta seriale. Il seguente codice Python copierà i dati da una porta COM reale o virtuale al buffer della tastiera della finestra attiva. Il numero della porta COM è hardcoded, ma può essere facilmente modificato.
import serial
import SendKeys
ser = serial.Serial(2)
print ser.portstr
while 1: # exit loop when ctrl/c pressed
line = ""
while 1:
char = ser.read()
if char == "\r": break
line = line + char
print line
SendKeys.SendKeys(line, 0)
ser.close()
A seconda di cosa si sta tentando di fare, Silverlight e Adobe hanno entrambe alcune funzionalità limitate in questa arena. WebCam, stampa in Silverlight 4.0, ecc. Tuttavia, non è banale. Silverlight 4.0 e Flash supportano entrambi la scansione dei codici a barre.
Ogni barcode scanner che abbia mai visto funziona come una tastiera, in modo da funzionare in tutto il mondo una tastiera sarà con alcuna installazione supplementare. –
I dispositivi sono più simili a uno scanner che a un lettore di codici a barre. – Upperstage