あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Hey社のサーバールームにキンコンチャイムを設置してみる

先日作ったRaspberry Piで鳴らすキンコンチャイムをHey社(弊社)のサーバールームに設置しました。

akkiesoft.hatenablog.jp

その前に、自作のリレーモジュールの回路を盛大に間違えていたので修正しました。が、小さい基板相手に奮闘したら指をハンダゴテでジュゥ〜しました。つれぇ。内容的には、前のは繋いだ時点でダイオードの向き次第で導通してしまうという問題を直しました。多分これでいいはず。

f:id:Akkiesoft:20160201123725j:plain

裏面。シール基板はついでにやめました。昨日アキバ行ったら専用ボンドなくて泣いた。

f:id:Akkiesoft:20160201123836j:plain

さて、サーバールームへの設置ですが、当初はスチール製パーティションにマグネットフックをかけてRPiもぶら下げるのをイメージしてましたが、電源の配線の都合とか、そもそもマグネットフックがなかったなどの理由から床置きとなりました。

f:id:Akkiesoft:20160201124202j:plain

あとはここを人が通ればキンコンが鳴るようになります。しかし今時キンコンチャイムもなかなかないので、鳴るとそれだけでもうだいぶシュールですね。

で、これだけだと特にネットワークも何もないモノですが、ここに適当にインターネットを与えればIoTと言い張ることができるわけですね。言い張りましょう。

Hey社でも今年からSlackの波がやってきて、いい感じに社内メールとIRCが駆逐されつつあるので、キンコンチャイムがなったらSlackに投げるスクリプトも組み込みました。以下のブログにPythonでSlackに投げる方法があったのでこれを真似てみました。

pythonでslack APIを試してみる - kazu22002の技術覚書

キンコンが鳴ると以下のとおりbotPing Pong !!と送ってくれるようになりました。

f:id:Akkiesoft:20160201124639j:plain

今のところ入退室管理はしていないので、専用にチャンネルを立てて全員通知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円とか安すぎか。

www.dx.com

使い方は、実はRaspberry Piの公式サイトにあります。サンタ検知器としての使い方ですが、GPIOの接続とかは参考になります。サンタ検知器って。

Santa Detector | Raspberry Pi Learning Resources

今月末のOSC2016 Spring/Tokyoに持って行って発表予定です。あそびにきてね。

オープンソースカンファレンス2016 Tokyo/Spring - オープンソースの文化祭!