2013-08-22 13 views
5

è possibile forzare qualsiasi comunicazione da ad es. Javascript/JQuery a qualsiasi comportamento seriale ?!JavaScript/JQuery comunicare con SerialPort/COM1

Google non è in grado di rispondere a questa domanda .. ma in ogni caso dovrebbe essere possibile .. env è firefox nel mio caso ..

idee/conoscenza è molto gradito.

nastro gentile

+0

_ "ma in ogni caso dovrebbe essere possibile" _ - perché dovrebbe essere possibile? Come regola generale, JavaScript in esecuzione nel browser non può accedere a nulla al di fuori del browser. Questa è una funzione di sicurezza deliberata. Stai parlando di fornire questa funzione su una pagina Web pubblica (in cui non puoi controllare quale browser l'utente potrebbe avere), o stai parlando solo di FF o ...? – nnnnnn

+0

hai perfettamente ragione - lo so .. ma forse è possibile forzarlo via about: config o quant'altro .. sto parlando di una soluzione desktop, no (pubblica) internet e SOLO per l'utilizzo di firefox! devo risolvere questo problema .. se non è possibile devo installare un server semplice sul client e prendere la porta via ajax - questo è il fallback .. –

risposta

2

Sì, è possibile, ma non con un browser tipico. I browser sono in modalità sandbox per non avere accesso al file system locale (tranne i cookie) in modo che i siti dannosi non possano leggere/scrivere sul disco rigido. Per quanto ne so non c'è modo di scavalcare questo behvior (a meno di scrivere il tuo browser).

Tuttavia, questo può essere fatto in JavaScript utilizzando Node.js. Funziona come un processo piuttosto che in una finestra del browser e può accedere al file system. In particolare, esiste già un modulo npm (libreria dei nodi) per la comunicazione seriale: https://github.com/voodootikigod/node-serialport

In alternativa, è sempre possibile ruotare un server Web locale (tramite node.js, php, rails, ecc.). I server Web possono accedere ai file system e pertanto dovrebbero essere in grado di accedere alle porte seriali.

Spero che questo aiuti.

1

suggerimento di kimstik, utilizzando il plugin jUART per il browser è una soluzione eccellente .

Un'altra possibilità è utilizzare un middleware, che facilita la comunicazione seriale e fornisce un'interfaccia web, che JavaScript può interfacciare con l'utilizzo delle richieste AJAX.

Python potrebbe essere utilizzato, ad es. uno script che utilizza una combinazione di pySerial e python-bobo.

+1

Aggiornamento su questo: 15 settembre 2015 Chrome non supporterà più il NPAPI e la soluzione probabilmente non funzioneranno più. [vedi qui] (https://support.google.com/chrome/answer/6213033?hl = it) – nerdwaller

Problemi correlati