The origins
発端
- Notify to Growl?
- Ping from internet?
I am a slave to programmable intercoms.
好きなところから好きな方法でインターホンを利用したいという極めて原始的な欲求
“ All our intercom are belong to us ”
「私達のインターホンは、全てインターネットがいただいた。」
the provided API ⇒ Machine Friendly
プログラマブル ⇒ 機械に優しい
Machine Friendly ⇒ It is nice to Next Generation Human
機械に優しい ⇒ インターネット人間に優しい
RESTful intercoms
レストフル・インターホン
RESTful intercoms
レストフル・インターホン
not RESTful intercoms
_人人人人人人_
> 諸事情により <
 ̄YYYYYYY ̄
特にレストフルでない「ふつうの」プログラマブル・インターホン
e.g. the intercom is now available on your smartphone
実装例: スマートホンで押せるインターホン
※ 既存の実装があった
(製作者さまにお聞きした所、ソフトウェア実装のインターホンの様子でした。本物と連携する予定はあるとのこと)
E.G. the intercom is now available on Twitter or HipChat
実装例: Twitterやチャットから使えるインターホン
((( the demonstration )))
((( デモ )))
Code sample
((( コードのサンプル )))
Impressions
- The hardware is hard to release and clone. (;´Д`)
-
Raspberry Pi is a really Linux box. (^O^)
- But, we can not emulate on Virtual Machine.(ARM is not x86)
- It is hard to connect network with wireless USB Adapter ><;;
... Technologies Memo(1/3) ...
- Raspberry Pi (model B) + Debian ⇒ 小型のLinux機がいくつかたまたま手元にあった
- 死ぬほど熱い USB WiFi モジュール
- 電源容量が足りない!!
-
Sunzi ⇒ Server Provisioning Tool(サーバー設定の自動化を補助)
-
serverspec ⇒ サーバーのテストツール
- Ruby 1.9+
-
internetintercom gem ⇒ これ用に作ったインターホン用DSLライブラリ ⇒ not yet implemented
-
Chatroid gem ⇒ botを簡単に作るためのDSL
-
pi_piper gem ⇒ イベントベースで書けるGPIOライブラリ
... Technologies Memo (2/3) ...
- Knowledge of electricity ⇒ 電気の勉強中だったので、モチベーションの向上、実際の応用にも都合がよかった
- Hack the intercom ⇒ 手元にあったファミマの音が鳴るインターホンを回路を追って結線
- ボタンが押されたときに繋がる線を切断して取り出す
- スイッチを結線する用の線を取り出す
- トランジスタ(BJT)を使った教科書的な簡単な回路を作成
- インターホン(ファミマ) ⇔ 回路 ⇔ サーバー(RaspberryPi)
-
Mouser, 秋月電子通商 ⇒ 電子パーツ屋。前者は海外(いい機会なので利用してみた)
... Technologies Memo (3/3) ...
-
reveal.js ⇒ このプレゼン
- HTMLで書いて、印刷すれば配布用のPDFにできる
- 手元で node.js が動けば 外部においた Markdown でほとんど書ける ⇒ ただし、閲覧時は node.jsが動いていないといけない……
-
Web UI ⇒ 次回にでも