4

Ruby のシリアル ポートを介していくつかの通信を行う必要があります。私の調査によると、シリアル通信用の最新のライブラリはあまりないようで、私が見つけた最新の資料は 2006 年のものです。私が知らない宝石はありますか?

最終的には、USB に接続されたシリアル デバイスとの通信を維持する必要があります (ポートは問題ありません)。

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
4

3 に答える 3

3

ruby-serialport を検索すると、次のように表示されることがあります。

toholio の github リポジトリはアクティブではなくなったようです (2010 年 9 月現在)。公開された宝石は

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

于 2010-09-28T10:53:28.227 に答える
2

シリアルポートの仕様は永遠に変わっていません。ライブラリがどれくらい古いかは気になりません。

2006年からルビーとシリアルポートについてのこの記事を見たと思います

今年Macで動作するようにRuby-SerialPortライブラリを入手した人がいます。

Win32シリアルAPIへのインターフェースについてのルビートークからのこの古い投稿もあります。

于 2008-10-03T18:05:22.460 に答える
1

シリアル標準は変更されていませんが、Ruby Gems が Ruby C 拡張機能と対話する方法は長年にわたって大幅に変更されたため、RubyForge シリアル ポート拡張機能はうまく機能しませんでした。これを修正するために、RubyForge には何年にもわたっていくつかのパッチが適用されてきましたが、きれいなものではありませんでした。素晴らしいニュースは、Github が Ruby シリアル ポート拡張機能をクリーンアップする活動を信じられないほど加速させたことです。少なくとも 3 人の異なる人が、Github でシリアル ポート コードをクロスブランチしています。Github で検索できますが、Ruby シリアル ポートを Ruby Gem として再コード化および再パッケージ化する最新のコードが Toholio にあると思います。(ええ!)

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

これは Linux でうまく機能し、最新の Ruby Gems リリースとの以前の競合を解決します。Windows では、まだ動作に問題があります。Windows で Ruby 拡張機能をコンパイルするのは決して簡単なことではありませんが、それはまったくの「ワーム」です。人々が Ruby シリアルポートのサポートに再び取り組んでいることを嬉しく思います。私は Toholio に、すべての問題を解決する Windows バイナリ gem を生成するように依頼しました。

于 2008-10-27T23:06:13.083 に答える