全自動起動時間計測器を作ってみた
ビットトレードワンの赤外線リモコンを制御できるmruby-remoconとmruby-pingで起動時間計測器を作ってみました。
仕組みはmruby-remoconで秋月電子のSSRをコントロールできるようにして100VのOFF/ONを行い、その後にpingが通るまでの時間を計測します。
mruby-pingはlibnetというライブラリを使っていてFreeBSDの場合pkgかportsからインストールが必要でした。
FreeBSD/amd64 10.3Rでmruby 1.2で実行しています。
def ir(pat)
t = Remocon.new()
num = 0
while num < 3 do
t.send(pat)
usleep 45*1000
num = num + 1
end
end
sig = [0x33, 0x89, 0x00]
ir(sig)
usleep 1000*1000
sig = [0x33, 0x09, 0x00]
ir(sig)
start_time = Time.now
pin = ARPPinger.new('re0')
pin.set_targets([ARGV[0]])
while pin.send_pings(1).count == 0 do
sleep 1
end
p "#{Time.now - start_time}s"
mruby-remoconとmruby-pingともにroot権限が必要なのでsudoで実行します。
結果
microserver % sudo mruby boottime.rb 10.10.10.60
"29.830396s"
microserver % sudo mruby boottime.rb 10.10.10.65
"36.884279s"
最初がFreeBSD/MT7620で後の方がFreeBSD/RT5350です。
Author And Source
この問題について(全自動起動時間計測器を作ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/yamori813/items/bf056a5d1b8d4501675b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .