【有志活動】コーヒーサーバの制作


2011年度、RCCで最初の公式的な有志活動が行われました。
現在、RCCは単にコンピュータでプログラムを作るサークルではなく、
コンピュータが社会に与える影響を考え新しいものづくりを
することができる人間を目指す団体です。

その平常活動はグループでIT技術を調べて、社会的背景や社会的役割、
社会的展望を考えるものであり、代わりに制作活動や個人研究を
有志活動と称してサークルで支援する事になりました。
これはその第一回目の有志活動になります。

このコーヒーサーバは僕(@PG_nokkii)と
@side_tanaさんの2人で作業分担して作っていました。

そもそもコーヒーサーバとは?
明確な定義はないのでここで言うコーヒーサーバとは
「コーヒーを飲むことを支援するサーバ」としています。
歴史は古く、The Trojan Room Coffee Machine(1991-2001)
というものがあり、ケンブリッジ大学のコンピュータ研究室で
運用されていたコーヒーの残量をリアルタイムにカメラで確認できるシステムが
祖であると言われています。

このコーヒーサーバのためのプロトコル、
ハイパーテキストコーヒーポット制御プロトコル (HTCPCP/1.0)は
同研究室の開発したATM用RPCであるMSRPC2を使った最初の
アプリケーションとして制作された。
jpegファイルによってコーヒーの残量を知る機能がある。

mixiのコーヒーサーバ
mixiの社員が自由時間に制作したコーヒーサーバ
コーヒーが淹れられたことをTwitterとIRCで知らせる機能を持つ。
仕組みはドリップ終了時にパイロットランプが切れたことを
CdS光導電セルを用いてAVRマイコンにパイロットランプの情報をInputし、
AVRからPCに送信する。
PC上のサーバソフトによって各種サービスへ流すといったもの。

RCCのコーヒーサーバ
紹介動画

RCCのコーヒーサーバは自動化と今風に言えばビッグデータに力を入れており、
Twitter認証で個人単位のライフログを取得出来ます。
豆と水を入れておけば、会内無線LANから好きな時間に
Webクライアントにアクセスしてコーヒーを淹れる事が可能で、
飲みたいときにWebクライアントから注ぐこともまた可能になっています。
また、収集したログを使ってコーヒーが一番飲まれている時間帯や
一番飲んでいるユーザーを算出することが可能です。
抽出量をコントロールすることも可能なので残量を計算することも可能です。

仕組み
コーヒーサーバは2つの既成ハードウェアがベースになっています。
・象印 EC-CA40-B(スイッチによる2種類の動作:ドリップ&保温、ミルの動作)
・ニッソー 水中ポンプ(コンセント直挿しによる連動)

回路
kairojitukairo
・トランジスタ2SC1815
・5Vリレー
・USBシリアル -> パラレルIC FT245BMボード

Windowsバイナリ
・PompStandby.exe – ポンプ内の空気を抜く、引数はポンプの励起回数
・Input.exe – デバイスエラーやコップセンサーにコップが置かれているかの情報を取得する
・Output.exe – 抽出、保温、ポンピングを行う

Webインターフェース
backend
Ruby+Sinatra+Webrickで構成されています。
バックエンド技術はHTML、JQuery、Sinatra、Ruby、C、USB、RS-232C、
パラレル8bitの順で使われています。

おわりに
今のところデータマイニングを行うにはMongoを直に叩く必要があるので
マイニングのためのインターフェースを作る必要があります。
また、サーバがミニノートであるためWebrickの動作が非常に遅く
残念なため、軽いサーバプログラムに変えるかサーバを強化する必要があります。

カテゴリー: BC記事 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です