先日作ったRaspberry Piで鳴らすキンコンチャイムをHey社(弊社)のサーバールームに設置しました。
その前に、自作のリレーモジュールの回路を盛大に間違えていたので修正しました。が、小さい基板相手に奮闘したら指をハンダゴテでジュゥ〜しました。つれぇ。内容的には、前のは繋いだ時点でダイオードの向き次第で導通してしまうという問題を直しました。多分これでいいはず。
裏面。シール基板はついでにやめました。昨日アキバ行ったら専用ボンドなくて泣いた。
さて、サーバールームへの設置ですが、当初はスチール製パーティションにマグネットフックをかけてRPiもぶら下げるのをイメージしてましたが、電源の配線の都合とか、そもそもマグネットフックがなかったなどの理由から床置きとなりました。
あとはここを人が通ればキンコンが鳴るようになります。しかし今時キンコンチャイムもなかなかないので、鳴るとそれだけでもうだいぶシュールですね。
で、これだけだと特にネットワークも何もないモノですが、ここに適当にインターネットを与えればIoTと言い張ることができるわけですね。言い張りましょう。
Hey社でも今年からSlackの波がやってきて、いい感じに社内メールとIRCが駆逐されつつあるので、キンコンチャイムがなったらSlackに投げるスクリプトも組み込みました。以下のブログにPythonでSlackに投げる方法があったのでこれを真似てみました。
pythonでslack APIを試してみる - kazu22002の技術覚書
キンコンが鳴ると以下のとおりbotがPing Pong !!と送ってくれるようになりました。
今のところ入退室管理はしていないので、専用にチャンネルを立てて全員通知OFFにしてたまに眺めるというあまり意味のない運用になりそうです。ただ、キンコンチャイムなしでSlackだけにしてもおもしろいかもしれません。
スクリプトは、先日のエントリのものに、先ほどの参考ブログをもとにpost_slack()を足して、ピンポンのタイミングで送るようにしました(と言うかPost投げるだけなのね)。
import urllib import urllib2 def post_slack(): params = { 'token':'ここにトークンを入れてお得ーン(ダジャレに失敗)', 'channel':'チャンネルID', 'text': 'Ping Pong !!', 'username': 'Server room door watcher', 'icon_emoji': ':information_desk_person:' } params = urllib.urlencode(params) req = urllib2.Request("https://slack.com/api/chat.postMessage") req.add_header('Content-Type', 'application/x-www-form-urlencoded') req.add_data(params) urllib2.urlopen(req)
あと、あまり触れていなかった赤外線センサーについては、dx.comで調達したものです。240円とか安すぎか。
使い方は、実はRaspberry Piの公式サイトにあります。サンタ検知器としての使い方ですが、GPIOの接続とかは参考になります。サンタ検知器って。
Santa Detector | Raspberry Pi Learning Resources
今月末のOSC2016 Spring/Tokyoに持って行って発表予定です。あそびにきてね。