rubyでpatliteを鳴らす。
今回つかったのはPATLITE社のPHN-3FBっていうLAN型のパトライト。
細かい仕様はマニュアルをみてくれなはれ。
・patlite.rb
#!/usr/bin/ruby require 'socket' #control command COMMANDS = { 'req_cmd' => 87, 'R' => 1, 'Y' => 2, 'G' => 4, 's' => 8, 'l' => 16, 'r' => 32, 'y' => 64, 'g' => 128 } class Patlite def initialize(host, port) @host = host @port = port @time = 3 end def alert(opt) byte_data = 0 opt.split(//).each {|c| byte_data += COMMANDS[c] } begin s = TCPSocket.open(@host, @port) rescue p $! else s.write([COMMANDS['req_cmd'], byte_data].pack('c*')) sleep @time s.write([COMMANDS['req_cmd'], 0].pack('c*')) s.close end end end
・使い方はこんな感じ。
#!/usr/bin/ruby require 'patlite' pat = Patlite.new(アドレス, ポート番号) pat.alert('Rs')
alertに渡すオプションは以下のとおり
- R 赤点灯
- Y 黄点灯
- G 緑点灯
- s 短いビープ(ピピピッ)
- l 長いビープ(ピーピー)
- r 赤点滅
- y 黄点滅
- g 緑点滅
まぁ、荒い作りなのでもし必要な方がいたら、良い感じに作り直して使ってください。