2013年7月29日月曜日

RubyでGC10のcpmを取得

Ruby失敗日記: Ruby-serialportでシリアル通信というそのものずばりなサイトを参考にしてRubyでGC10のcpmを取得しよう。

まずはRVMでRubyをインストール。

% curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3

そしたら

% gem install serialport

それで参考サイトのソースをちょびっと変更。

# encoding:utf-8
require 'serialport'

 #シリアルポート通信設定
$serial_port = '/dev/ttyUSB0' 
$serial_baudrate = 9600
$serial_databit = 8
$serial_stopbit = 1
$serial_paritycheck = 0
$serial_delimiter = "\n"

sp = SerialPort.new($serial_port, $serial_baudrate, $serial_databit, $serial_stopbit, $serial_paritycheck) 
sp.read_timeout=1000 #受信時のタイムアウト(ミリ秒単位)

##送信(例えばこんな感じ)
#sp.puts "ARM:COUNt 1#{$serial_delimiter}"
#sp.write "INIT#{$serial_delimiter}" 

#受信(例えばこんな感じ)
#デリミターを引数として渡しておくとgetsはデリミターが受信されるまで
#あるいは設定されたタイムアウトになるまで待ちます
puts line = sp.gets("#{$serial_delimiter}") 
#あとは受信された内容を解釈するだけ

#シリアルポートを閉じる
sp.close
おもむろに実行
% ruby gc10.rb
17

とれた。
次はtwitterボット作成。
RaspberryPIはまだ届いてない。

0 件のコメント:

amazonアソシエイト