javascript - serialport - serial port parser




Interfaccia Javascript con porta seriale RS-232 (6)

Attualmente sto lavorando a un progetto che prevede un commutatore A / V a 4 porte. Questo interruttore può essere controllato tramite RS-232.

Il computer che si interfaccia con lo switch esegue Vista. Vorrei creare un gadget della barra laterale con 4 pulsanti: 1 per ogni porta sullo switch. Quando l'utente preme il pulsante, passa a quella porta.

Ho fatto un po 'di googling e sembra che non ci sia un ottimo modo per interfacciare javascript con rs-232.

Qualcuno ha qualche suggerimento per me?

Grazie!


È necessario un componente ActiveX RS-232 che si installa sul sistema e quindi creare un oggetto dal codice javascript nel widget della barra laterale. Nota che non esiste uno standard per creare oggetti da componenti ActiveX, questo è disponibile solo in JScript, l'implementazione Microsoft della lingua che tutti conosciamo come Javascript.


Potresti provare a guardare qualcosa come V8 e scrivere un piccolo wrapper per la libreria C da esporre alla VM.


RealTerm ha una vasta interfaccia COM ed è facile da controllare da JavaScript su Windows. La pagina di download di SourceForge ha la versione 2.0.0.57 e i2cchip.com ha una versione 2.0.0.70.

C'è un esempio JavaScript nella sottodirectory "examples" che viene installata di default.

Purtroppo, gli esempi JavaScript sembrano essere stati rimossi dalle versioni successive 4 Potrebbe ancora essere possibile farlo, ma non ci sono esempi.


Ti piacciono gli hack complicati?

Installa un server web. Usa CGI, Python, PHP, Perl o qualche altro metodo per controllare la porta seriale da una pagina sul server web.

Puntare il controllo sulla pagina Web.


Javascript in particolare, o solo dal browser con qualche metodo? E quale browser? (IE o Firefox?) I plugin di Firefox usando XUL + javascript sono piuttosto semplici, anche se dovresti ancora implementare qualcosa in XPCOM (l'equivalente di Mozilla di ActiveX / COM) per lavorare su RS232.

In alternativa, è possibile utilizzare JSDB come server Web improvvisato (su una porta alternativa del computer locale). È incredibilmente facile usare la porta RS232 in JSDB:

c:\>jsdb
js>S=new Stream('com1://115200');
com1
js>S.write('\x00');    // send ASCII character 0 to the serial port
1
js>

Quindi l'implementazione del tuo browser potrebbe essere qualsiasi cosa il tuo preferito / link / cosa è link a http://localhost:9999/comport/1 dove 9999 è la porta # JSDB sta ascoltando, e "1" è il seriale interruttore di porta. Il codice JSDB ascoltava la porta e inviava il comando RS232 appropriato dopo aver analizzato una richiesta GET dal browser.


Non ho una soluzione, ma qui potrebbe essere l'inizio di una.

  1. L'applet java firmato ti consente di accedere al sistema
  2. Utilizzare RXTX (Java Serial COM API) per connettersi alle porte seriali
  3. L'applet dovrebbe installare i file nella cartella jre / ext. Riavvia l'app dopo averlo fatto.

Ora se si sta eseguendo il javascript dal proprio computer, è possibile utilizzare HTA per avere accesso completo al sistema.





windows-vista