@m_seki の

I like ruby tooから引っ越し

どうなったらIoTなんだろ

2年前に書いたrendez-vous、当時は3DSの画像の受け渡し用だったけど、今はマリシス(ラズパイとWebCamによる愛犬観察システム)やラズパイのIPアドレス通知とかに使われてます。
それを改造して、dRubyで待ち合わせの中身にアクセスできるようにしました。*1

class RdVUp < WEBrick::CGI
 include ERB::Util

 def initialize(*args)
   super(*args)
   @rdv = RdVSpace.new
 end

 attr_reader :rdv # ← これを増やしただけ
 ...

これにより、Webサービス版のrendez-voussとdRuby経由で待ち合わせができます。
あるチャネルにラズパイから水温計のデータが送られてくるのですが、それを取得するにはこんな感じ。

$ irb -rdrb
irb(main):001:0> ro = DRbObject.new_with_uri('druby://localhost:54331')
=> #<RdVUp:0x9199ad4>
irb(main):001:0> ro.rdv.take('チャネル名')
=> ["text/plain", "26.75\t2015-07-29 17:57:10\n"]

これを使って水温*2をin-memory dripで記録して、ERBで整形したページがこれ。

http://www.druby.org/chart.html

*1:なお、前のバージョンは次のページにあります。- http://d.hatena.ne.jp/m_seki/20130827#1377614857

*2:時間帯によって水温だったり室温だったりするんだけどね。