バグトラッカのチケット残数への意識を高める Arduino シールドを作った

実は私、Ruby 2.0.0 のリリースマネージャです。8 月までに各種機能提案を取り仕切らないといけないので、Arduino で遊んでいる場合ではないのでした。
チケット残数を日ごろから意識するにはどうしたらいいか数週間くらい考えた末、こんなものを作りました。

バグトラッカのチケット残数への意識を高める Arduino シールド

見ての通り 7 seg が 3 つ載っただけの Arduino シールドです。PC 側で redmineREST API でチケット残数を取得してきて、Arduino に転送・表示します。つまりこんなスクリプトを cron で動かす。

require "serialport"
require "json"
require "open-uri"

DEV = "/dev/ttyACM0"
RATE = 9600
URL = "http://bugs.ruby-lang.org/issues.json?project_id=1&tracker_id=2&limit=1"

json = open(URL) {|f| f.read }
count = JSON.parse(json)["total_count"].to_i
sp = SerialPort.new(DEV, RATE)
sleep 2
sp.write([count].pack("n"))
sp.close

冗談みたいですが、常時見えるところに置いておけるのは結構いいかもしれない。


父の電子パーツで遊んでるので、なんだか 1970 年代の香りがします。2SC372 とか TLR306 とか。斜体の東芝ロゴがまぶしい。このパーツたちも、40 年経ってから使われるとは思っていなかったことだろう。

東芝の旧ロゴ