こんにちは♥	初！Ejectでフルセミナー！	

4030分も間が持つ気がしない！	

そんなスライドで大丈夫か？	

大丈夫だ、問題しかない！	

技術と遊びの架け橋	  〜Ejectコマンドユーザー会〜	

2012/07/15	  LDD’12/SUMMER	  in	  KITAMI	  あっきぃ(	  h>p://eject.kokuda.org/	  )	

ハッシュタグには	  ぜひ	  #EJUG	  もつけてね★	

自己紹介	
• あっきぃ(大内 明)	  • 24さい(昭和63年生まれ)	  • 北海道根室市出身	  • 現在は神奈川県横浜市在住	  • 日本仮想化技術株式会社 もしくは	  株式会社びぎねっと に勤務（6年目）	  • Ejectコマンドユーザー会主宰、というかひとり。	  提供	日本仮想化技術株式会社	(	  旅 費 の 一 部	  )	

先月	• OSC2012	  Hokkaido(札幌)参加・帰省	  • 1ヶ月ぶりの北海道！すてき！さむい！	  
– 35度の世界から14度の世界へ	  • 甥っ子とモルモットの子供を見てきた	  モルモットかわいい	

甥っ子かわいい	• 頑張って洗脳英才教育	  しないとですね！	  
– Eject教育とは	  鹿かわ・・・いくない	• 庭先にでてくんなし	Ejectコマンドユーザー会	  とは	

Q:	  知ってる人？	

Ejectコマンドユーザー会とは	CD-­‐ROMドライブのトレイ開閉と、	  どのLinuxにもほぼ標準でインストールされているEjectコマンドを用いて、	  排出されたCDトレイに何かをさせるユーザーの集いです。	

CD-­‐ROMドライブのトレイ開閉	CD-­‐ROMドライブのトレイ開閉	トレイ開閉の動きを利用	トレイ開閉の動きを利用	トレイ開閉の動きをどう利用するか	
• トレイの押し出す力を利用	  – あらかじめ設置したものを押し出して落とす	  – 特定のボタンを押させる	  • トレイの” 出る”、”引っ込む”動きを利用	  – スイッチのオン・オフ	  – トレイが出た時と引っ込んだ時に違う仕掛けが動くようなものを操作するとき	  • 計量レバー付きの米びつのようなイメージ	  – ものをゆらす	  トレイ開閉をEjectコマンドで実行	#	  eject	• 実際にはオプションやドライブの指定を行う	  – -­‐T:	  トグルオプション（開閉を繰り返す）	  – -­‐t:	  閉じるだけ(開けるのはオプション指定なし)	  – /dev/sr0	  とか	  sr1とか（挿し順とかによる）	  こんな感じ。	

Ejectコマンド実行	  	  ←	  ↓	  	EjectコマンドをWebから実行	
• Ejectで“何か”をさせるとき、いちいちコマンドを実行するのは手間	  • WebページからEjectコマンドを実行できるようにする	  • 近くでも、遠くでも、PCやiPhone等を使って、実行できるようになる	  – Webの操作画面だけを見れば、Ejectが実行されていることはわからない	  こんな感じ。	

←	  インターネット越しに	  Ejectコマンド操作 ←	Ejectコマンド実行	  	  ←	  ↓	  	どうです？なにか作ってみたくなったでしょう？	  Ejectコマンドユーザー会とは	CD-­‐ROMドライブのトレイ開閉と、	  どのLinuxにもほぼ標準でインストールされているEjectコマンドを用いて、	  排出されたCDトレイに何かをさせるユーザーの集いです。	

Ejectコマンドユーザー会とは	• パソコンでピタゴラスイッチのようなものをつくって、真面目なことをしようとしているユーザーともいえる	  • WebからEjectを実行する仕掛けは技術っぽい	  • トレイが動いたあとの仕掛けがピタゴラ装置（遊び）っぽい	  • →技術と遊びの架け橋になっている？	  本日のアジェンダ	• Ejectコマンドユーザー会とは	  (済)	  • なぜEjectを使い始めたのか	  – 私はいったい、何にEjectを使ったのか	  • Ejectである理由	  – 他に方法はなかったのか	  • Ejectコマンドユーザー会の活動	  なぜEjectを	  使い始めたのか	ハムスター	• 2009年2月にハムスターを飼い始める	  • 子供の頃からたくさん生きものを飼ってきたのもあって、一人暮らしはなんか寂しくなった	  • りんと名付けた	  どうです？かわいいでしょう	どうです？どうです？	

尺稼ぎ乙！！！	

しかし、課題が多い	
• 私は昔も今も独身、一人暮らし	  • 頼れる人も身近にはあまりいない	  • 華の都会に思わぬ落とし穴	  • すると、生き物を飼うとたくさんの課題が立ちはだかる	単身者が都会で	  生きものを飼うときの課題	
• 社会人なので、夜しか家にいない＝ハムスターの一生のうち半分しか一緒にいられない	  • 帰省とか旅行で家を空ける時の考慮が必要	  – 会社なり友人なり、預ける先があるか	  – いきものを運ぶリスク(乗り物の運賃・生体への負荷)	  • 室温管理	• 死んだ時にどうするか決めておく必要がある	– マンションやそのへんの公園には埋められない	  – 行政サービスは自宅から遠い上に5000円も取られる	短い一生を少しでも長く見届けたい	• Webカメラを設置して24時間Webで見られるようにした	  • Linuxの自宅サーバーにUVC規格対応のWebカメラを接続	  • オープンソースのキャプチャソフトを使用して画像ファイル出力	  • PHPスクリプトを組んでWebページを作成	  Webで監視観察	• PCやらLinuxやらを触ってきたノウハウがハムスター飼育に活かせることに気づいた	  死んだ時どうなったか	
• 親との交渉の末、クール宅急便（冷凍）で実家に送って、庭に埋めてもらった	  • 利点:	  実家に帰れば手を合わせられる	  • 問題点	  – 品名に冷凍食品と書いた	  – いつまでもあると思うな親となんとか	  • →新しい子を迎え入れにくくなった	  – それでも親はまた送ればいいと言ってくれている	  残りの2つをEjectで解決した	
• 家を数日あけた時の世話	  • 室温管理	＼ なんだってーー！ ／	自宅を空けるときの課題	
• 飼いはじめて4ヶ月後、OSC2009	  Hokkaidoで北海道出張が迫る	  – ※オープンソースのイベントです	  

• 帰省しないで日曜日に帰る旅程だったので、会社に預けても誰もおらず無意味	  • エサと水がどうにかなればなんとかなるはず	  – 水は給水ボトルいっぱいにしておけば数日持つので問題はエサだろう	  自動エサやり機	• 犬猫とか魚類の場合、自動エサやり機という物が多く市販されているけど小動物はなさげ	  • 一回だけでいいから、リモートでハムスターにエサをやれれば良いと	  思った	  • ふとCD-­‐ROMドライブに目	  がとまって閃いた	  • 深夜のノリで作り始めた	  (2009年)	

はじめてのEject	  (My	  ﬁrst	  Eject.)	

こんなのができた	＋	  ||	

Ejectエサやり装置	
• 材料	  – エサかご（ヨーグルトのカップ、ヒモ、段ボール）	  – CD-­‐ROMドライブ	  – IDE-­‐USB変換ケーブル	  • エサかごをつり下げ、CD-­‐ROMドライブのトレイで横に倒し、トレイの穴からエサを落とす仕掛け	

Let’s	  Eject.	

• h>p://nico.ms/sm8362833	  でも見られます	  餌やりのオチ	
※エサを家に溜め込む習性があるハムスターには、3日程度でこんな仕掛けは不要だったので、エサやりはこの1回しかやらず	  ／(^o^)＼	でも、もっと改良できるはず	• 1回だけでいいなら、トレイで餌を押し出して下に落とす方法でもよさそう	  • 複数回できるようにするなら、計量米びつ的な方法でできないだろうか	  • 今週ちょっと試作してみた	ちょっとだけ作りかけた	うーん？	

またそのうち。	
• 次にいきものを飼うときにチャレンジしたい	本日の展示	• 後ろの展示ブースにて、当時の餌やり装置を再現	  • 練習なしでぶっつけでも5分でできました	  室温管理	
• 暑さに弱いハムスターは、夏にノビてしまう	  • エアコン24時間稼働は電気代的に厳しい	  • リモート操作を実現する市販品は高かった	  • CD-­‐ROMドライブに目がとまって閃いた	  • また深夜のノリで作り始めた(2010年)	

こんなのができた	エアコンリモート操作	  by	  Eject	• トレイの先に、エアコンのリモコンをおく	  – 電源ボタンにバネをとりつける	• (Ejectコマンドにより)トレイが開く	  • リモコンの電源ボタンについたバネに当たる	  • 電源ボタンが押される	  • バネによって、トレイが勝手に戻る	  • 欠点は、成功率が少し低かった	  確認方法を用意	
• この時初めてWebで実行できるようにした	  • 操作の状況と温度をWebカメラで撮影した	  没案	

人間にも非常に有用	
• エアコンリモート操作は自分自身にもメリット	  – 帰宅前にあらかじめ室温調整できる	  – 電源を切り忘れて家を出てしまっても対処可	  • 私が唯一常用しているEjectソリューション	  市販のリモコンの採用	
• リモコンを市販の学	  習リモコンに変更	  • エアコンの電源部分	  の回路にケーブルを	  付けて、別のボタン	  で操作可能にした	  • 操作の成功率が向上	  • エアコンが変わっても設定変更で対応可能	  Web操作画面も改良	
• Webカメラを廃し、USB温度計で室温表示	  – 海外の通販で数ドル（送料無料）	  • タイマーを実装	  – 寝る前のオフタイマーとして	  – 起きる直前のオンタイマーとして	  オープンソース	
• 使用しているPHPスクリプトは、オープンソース化してgithubに公開	  – h>ps://github.com/Akkiesog/Eject-­‐Command-­‐Users-­‐Group	• だれでも簡単にEjectによるリモート操作が可能に！	

Let’s	  Eject	

• h>p://youtu.be/CrgWCCrc6AY	  でも見られます	  本日の展示	• 後ろの展示ブースにて、実際に使用しているリモコンを展示中	  • 輸送中に壊れてしまったようです……(	  ；｀ω´)	  • 家に帰ったら修理しな	  いとですね(	  ;;;｀ω´)	  なぜEjectを使い始めたのか	• ハムスターの世話という課題を遠隔地から解決したいという必要に迫られて使い始めた	  • OSCなどのイベントのネタにしたかった、というのも…あるよ(	  ；｀ω´)	  – 北海道では完全に定着	  – 数日前からTwi>erでも話題に	  • 深夜のノリでネタに走ってしまった結果とも言える	– 変な物質が脳みそから出る時間ですし！	  ※深夜のノリで作られたもの集	

ペンマウス	  • ペンタブが買えない人のための安価なソリューションを目指そうとした	  • ペンのように持って使える	  • べつに使いやすくなかった	

電車USBメモリ	
• Bトレインショーティという鉄道模型にUSBメモ
リを取り付けたもの	  • 先頭車が余ることが多いので、それを利用	  • たまに中間車両を使用	  して、延長ケーブルを	  作ることもある	くだらない！！	

Ejectである理由	  （なぜEjectだったのか）	

身近にあるものだった	• コマンドを叩いて、物理的に（繰り返し出たり引っ込んだり）動くようなものはCD-­‐ROMドライ
ブだけ	  – テープもEjectできるけど、あれは1回出るだけ	  • たぶんPC好きな人の家にはだいたい転がっているはず	  • 自宅サーバーを運用しているので、リモートからのEjectコマンド発行もすぐできる環境だった	思いついた瞬間に始められる	• おもむろにCD-­‐ROMドライブを取り出してLinux機に接続して工作開始	  – USB変換ケーブルがあると良い。というか必須？	  
でも1本くらいもってるよね？	  

• 出来上がったら本番環境（本棚とか適当なところ）に移動して配線	  • サーバーの設定	  • おわり	

CD-­‐ROMドライブがもったいなかった	• もともと、マルチドライブに換装したりして、CD-­‐ROMドライブがたくさん余っていた	  – 某社製サーバーのML11xとかのあれ	  • CD-­‐ROMしか読めないとはいえ新品	  • 捨てるのはもったいないし、何か利用できないかと悩んでいた	  参考にしたもの	
• メールの到着を CD-­‐ROMドライブでお知らせ	
– h>p://0xcc.net/cdbiﬀ/	  • Ejectでゆりかご	– h>p://youtu.be/bYcF_xX2DE8	  • CD-­‐ROMドライブによる文字表示	
– h>p://youtu.be/tXMzMVlY_b8	  • ドリンクホルダー	
– h>p://youtu.be/_x0smjDaD9I	  よくあるツッコミ	
• 電子工作で作った方が早いじゃん	  – PICとかArdinoとかを使えば、エアコンリモートなんて直接できる。電源以外も制御できる	  • 市販品でいいじゃん	  – iRemoconとか買えば済むよね？	  

• 要するに、Ejectみたいな遠回りをする必要はないのでは、と言うコメント	  Ejectのデメリット	• 成功率が100%でない	  – 仕掛けがズレたりすると修正が必要	  – 電子工作や市販品のほうがきっと確実	  • 場所をとる	  – ドライブ＋トレイが開ききるだけのスペースがいる	  • 稼動音が気になるケースもある	  – 夜寝ている間にエアコンをタイマー操作が実行されると、ガシャガシャという音で目が覚める	  • サーバーの電気代の問題	  誰もが電子工作ができるとは限らない	• 私は電子工作はできません	  – AC電源リモート操作用のタップを開発したときに	  配線を間違えてブレーカーを落とす程度の知識	  • 部材をそろえる手間や、それの組み付け、プログラミング（大抵アセンブラ）とか時間を考えたら、面倒……	  市販品は高い	• iRemoconは2万5千円強。むり。	  
– しかもiPhone/Androidアプリが前提で、Webからの操作は力技になるらしい	  • その他の製品でも、大体は1万円から	  – 操作したい家電全てに対応しているとは限らない	  – 特にダ○キン製エアコンは対応していないことが多いらしい	• うちの学習リモコンは対応	  • iRemoconも大丈夫みたい	  Ejectでやるメリット	
• 簡単	  – 身近にあって、すぐに作り始められる	  – 小学校の工作のノリだけで、リモート操作の仕組みができあがる（できる……はず！）	  – Web画面のソースは私が公開しているし、どのみちやることはEjectコマンドの実行だけ	  • 安価	  – 余ったCD-­‐ROMドライブとIDE-­‐USB変換ケーブルとサーバーがあれば良い	  サーバー？	
• Linuxが動いて、Ejectができれば何でも良い	  • 省電力そうなサーバーを使うとGOOD	  – 自宅はIntel	  Atomのサーバー（30W程）	  – すでに稼働中のサーバーに兼任させている	• もっと省電力なものも使える	  – Linux化した玄箱(2.5インチHDD搭載なら8W弱)	  – Raspberry	  Pi(安価な小型ARMボード。消費電力は不明だけど数ワットのはず。現在手配中)	  – OpenBlocksなど	  Windows……	
• PowerShellで動くEject	  Webサービススクリプト	  – h>p://d.hatena.ne.jp/
the48/20120326/1332766915	  – 今年3月、愛媛のOSCで私の展示ブースを見てインスパイアされた方！	  
– フレームワークと同じディレクトリにソースを置いて、フレームワークのソースを数個文字化け修正
すると動かせるようになる。ちょっと大変かも	  • ドライブの開閉が若干もたつくっぽい	  Windowsでの実行例	

• Windowsが常時稼動している人でもEjectができる……かもNe！	

Ejectである必要はとくにない	• 好きな方法で実装すればいい	  – 好きな方法≒自分で実現可能な方法	  • 電子工作ができる人はそれでやれば良い	  • 市販品が良いならそれを使えば良い	  – 普通の人が注目するソリューションなので、	  ブログに書くとブクマとかアクセス数とか稼げる	  • Ejectで良いと思ったらそうすれば良い	  – すぐできるし工作する時間は楽しい	  – ネタになる	Ejectコマンドユーザー会	  の活動	活動	• 2011年、Ejectコマンドユーザー会としての活動を正式に開始	  • 全国各地のOSCをまわり、Ejectネタを発表	  • ハムスターとは関係のないネタもあるよ	  – 100V電源や	  USBのリモート操作	  • しかし最近はネタ切れ	ユーザーの獲得	
• ファンはたくさんいるようだが、ユーザー・事例は少ない	  – Linux-­‐HA	  Japan	  STONITHプラグイン	  “Eject”	  (OSC	  2011	  Hokkaido)	  – PS2のEject	  (OSC2012	  Hokkaido)	  • 事例を増やして、Ejectユーザーを増やす	  • と言う夢物語	今後のイベント参加予定	
• コミケ(8/11)	  西い-­‐28b	  – Ejectの薄い本を出す予定。これを読めばEjectができる！みたいな本。	  
– 全然進んでなくて大ピンチ	  • OSC2012	  Tokyo/Fall	  • OSC2012	  Okinawa	  – エアコンが欠かせない南国の沖縄でEjectを普及させられるか？！	  まとめ	• ハムスターがかわいくてやった	  • 目的を実現するために、一応まじめに取り組んでいるが、CD-­‐ROMドライブの再活用について考えていたために、手段がおかしくなった	  • でも、身近にあって、簡単すぐにつくれて、便利につかえる素敵なソリューションだと思いたい	  Ejectの可能性は無限大	こんなくだらない	  発表に	  おつきあいいただき	  ありがとうございました！