serial puerto electronica configurar comunicacion caracteristicas ruby serial-port communication

ruby - electronica - puerto serial caracteristicas



Necesita ayuda con las comunicaciones del puerto serie en Ruby (3)

La especificación del puerto serie no ha cambiado para siempre, no me preocuparía la antigüedad de las bibliotecas.

Supongo que vieron este artículo de 2006 sobre ruby ​​y puertos serie

Aquí hay alguien que mencionó la biblioteca Ruby-SerialPort allí para trabajar en Macs este año.

También hay una publicación anterior de ruby ​​talk sobre la interfaz con Win32 Serial API.

Necesito hacer algunas comunicaciones sobre un puerto serie en Ruby. De mi investigación, parece que no hay muchas bibliotecas modernas para comunicaciones en serie y el material más nuevo que puedo encontrar es del 2006. ¿Hay gemas que no conozco?

En última instancia, necesito mantener las comunicaciones con un dispositivo en serie conectado a USB (puedo deducir que el puerto no es un problema) para comunicaciones de ida y vuelta como ese (pseudo código de Ruby-esque).

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


Si bien el estándar de serie no ha cambiado, la forma en que Ruby Gems interactúa con las extensiones de Ruby C ha cambiado lo suficiente a lo largo de los años, por lo que la extensión del puerto serie de RubyForge no funcionaría bien. Ha habido algunos parches a lo largo de los años en RubyForge para arreglar eso, pero no ha sido bonito. La gran noticia es que Github ha permitido una increíble aceleración en la actividad para limpiar la extensión del puerto serie de Ruby. Al menos tres personas diferentes están cruzando las ramificaciones de su código de puerto serie en Github. Puede buscar en Github, pero creo que Toholio tiene el código más reciente, que recodifica y vuelve a empaquetar el puerto serie de Ruby como una gema de Ruby. (¡Sí!)

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

Funciona muy bien para mí en Linux, resolviendo el conflicto anterior con la última versión de Ruby Gems. En Windows, sigo teniendo problemas para que funcione. La compilación de extensiones de Ruby en Windows nunca es muy fácil, pero es una gran cantidad de gusanos. Estoy feliz de que la gente esté trabajando en el soporte del puerto serie Ruby nuevamente. Le pedí a Toholio que generara una gema binaria de Windows, que resolvería los problemas de todos, y dice que está en su lista.


Solo porque buscar ruby-serialport te llevará a veces aquí:

El repositorio github de toholio ya no parece estar activo (a partir de 09/2010). La gema publicada proviene de

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