Domanda

Devo fare alcune comunicazioni su una porta seriale in Ruby. Dalla mia ricerca, sembra che non ci siano molte biblioteche moderne per le comunicazioni seriali e il materiale più recente che posso trovare è del 2006. Ci sono gemme di cui non sono a conoscenza?

Alla fine ho bisogno di mantenere le comunicazioni con un dispositivo seriale collegato a USB (non riesco a capire la porta senza problemi) per comunicazioni avanti e indietro in quel modo (un po 'di codice pseudo-rubino).

def serial_write_read
  if serial.read == "READY"
    serial.write "1"
    until serial.read == "OK"
      serial.write "5"
    end
    return when serial.read == "DONE"
  end
end
È stato utile?

Soluzione

Le specifiche della porta seriale non sono cambiate per sempre, non mi preoccuperei di quanti anni hanno le librerie.

Suppongo che tu abbia visto this articolo del 2006 su ruby ??e porte seriali

Ecco qualcuno che ha ottenuto la Ruby-SerialPort menzionata lì per lavorare sui mac quest'anno.

C'è anche questo vecchio post from ruby ??talk, sull'interfacciamento con l'API seriale Win32.

Altri suggerimenti

Solo perché la ricerca di ruby-serialport ti porterà a volte qui:

il repository github di toholio non sembra più essere attivo (dal 09/2010). La gemma pubblicata proviene da

http://github.com/hparra/ruby-serialport

Sebbene lo standard seriale non sia cambiato, il modo in cui Ruby Gems interagisce con le estensioni di Ruby C è cambiato abbastanza nel corso degli anni in modo che l'estensione della porta seriale di RubyForge non funzionasse bene. Ci sono state alcune patch nel corso degli anni su RubyForge per risolvere il problema, ma non è stato carino. La grande notizia è che Github ha permesso un'incredibile accelerazione dell'attività per ripulire l'estensione della porta seriale Ruby. Almeno tre persone diverse stanno ramificando il proprio codice di porta seriale su Github. Puoi cercare su Github, ma credo che Toholio abbia l'ultimo codice, che ricodifica e riconfeziona la porta seriale di Ruby come una gemma di Ruby. (Yea!)

http://github.com/toholio/ruby-serialport/tree/master

Funziona benissimo per me su Linux, risolvendo il conflitto precedente con l'ultima versione di Ruby Gems. Su Windows, ho ancora problemi a farlo funzionare. Compilare le estensioni di Ruby su Windows non è mai molto semplice, ma questa è un'intera "lattina di vermi". Sono solo felice che le persone stiano lavorando di nuovo sul supporto della porta seriale Ruby. Ho chiesto a Toholio di generare un gioiello binario di Windows, che risolverebbe i problemi di tutti, e dice che è nella sua lista da fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top