EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

50
Sponsored by (՞՞)☝ウイーン

Transcript of EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Page 1: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

(☝  ՞ਊ  ՞)☝ウイーン  

Page 2: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

Q.  今日このセッションを  

楽しみにしてる方?  

Page 3: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

(  ՞ਊ  ՞)  

Page 4: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

  ☝          ՞   _人人人人人人_  > (     ) <  ☞   ‾Y^Y^YY^Y^Y‾

 ՞        ਊ  

Page 5: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

EjectコマンドをRaspberry  Piで遊ぼう  ~CD-­‐ROMドライブでかんたん工作~  

Ejectコマンドユーザー会  h<p://eject.kokuda.org/  

あっきぃ  (@AkkiesoF)  

Page 6: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

自己紹介

• あっきぃ と申します  • 生まれ育ちは北海道根室市  • 先月25歳になりました  •  Ejectコマンドユーザー会主宰として全国各地のオープンソースカンファレンス(OSC)に参加

• 普段はサーバー仮想化とかのお仕事してます  

6

Page 7: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

アジェンダ

•  Ejectコマンドユーザー会とは  •  CD-­‐ROMドライブでやる理由  •  Raspberry  Piを使う理由  •  CD-­‐ROMドライブで工作してみよう  

• ハムスターにエサをあげる •  CD-ROMドライブで除夜の鐘をつく • エアコンをCD-ROMドライブで電源操作する

•  GPIOでがんばってみる  • まとめ  

7

Page 8: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

Ejectコマンドユーザー会とは  

Page 9: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

Ejectコマンドユーザー会とは

•  Ejectコマンドユーザー会は、  

•  CD-­‐ROMドライブをリモートからEjectコマンドでトレイ開閉させて  

• トレイに色んなことをさせる工作を作って使う  

• ユーザーの集いです。  

9

Page 10: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

ユーザー会の規模と活動内容

• 現在、Google  Groupsに15人が参加  • やり取りはほぼゼロ  • ユーザー会のミーティングなどは現在のところなし  

• 私がオープンソースカンファレンス(※)にブース出展して布教する程度  

• 実際にCD-­‐ROMドライブを利用してユーザー数は数名  

• もしかして…  

10

Page 11: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

それは果たしてユーザー会なのか?

Q:   _人人人人人人人人人人人人人人人_ > ユーザー会と呼べないのでは < ‾Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y‾  

A:     _人人人人人人人人人人_   > 気にしたら負けだ <   ‾Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y‾   ただ、強いて言うならば……

11

Page 12: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

T.M.RevoluQonみたいな感じ

• 西川貴教と言う男性のソロプロジェクト  • しかし『西川貴教という一個人の名義ではなく、プロデューサーや関係者、また全てのファンも一緒に歩んで行くという意味が込められたプロジェクトの名称(Wikipediaより引用)』である  

• つまり、Ejectコマンドユーザー会というあっきぃのソロプロジェクトで、全てのファンも一緒に歩んで行くという意味が込められている  

• と思いたい。  • ※Ejectコマンドユーザー会は強風とは関係ありません  

12

Page 13: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

活動中は具体的になにをしているのか

• ひらめく  • 作る  • 動作テスト  • ドヤ顔でTwi<erなどに発表  • ふぁぼ、リツイート、いいね!等を稼ぐ  • 満足する(☝  ՞ਊ  ՞)☝

13

Page 14: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

入会するには

•  Ejectコマンドユーザー会のサイトにアクセス  h<p://eject.kokuda.org/  

•  Google  Groupsのリンクがあるので辿ろう  • その他mixiコミュニティもいちおうある  • 宗教上の理由によりFacebookページは無し  • どちらも流量ほぼゼロなので置いてけぼりにされなくて安心!  

•  Sorry,  this  users  group  is  japanese  only...  

14

Page 15: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

CD-­‐ROMドライブでやる理由  

Page 16: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

(1)  難易度が低い

• 回路とか電子部品構成とか考えなくていい  

• ハンダ付けとかしなくてもいい  • ノリ・ハサミ・ダンボールなど、身近な部材を活用することが多いので子どもの工作にも最適  

16

Page 17: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

(2)  簡単に用意できる

• 中古のドライブは100円くらいで簡単に買える  •  Raspberry PiにつなぐためのUSB変換の方が高い

• 買わなくてもみんな  何個か持て余してる  よね?

17

Page 18: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

(3)  そこにドライブがあったから

• 初めて作った時の例  

• 遠隔操作でハムスターにエサをやりたい  • 電子工作は(スキル的に)できない  •  CD-­‐ROMドライブはある  • ドライブのトレイでエサを押せば良いのでは?  

• ゲーセンのコイン落としみたいに • ドライブはSSH経由でEjectコマンドを使って  操作できる  

• よし作ろう(←この時点で深夜)  

18

Page 19: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

ようするに

• (材料費が)    安い  • (製作スピードが)  早い  • (ネタ的に?)  うまい  

• 牛丼並のメリットを持ち合わせた  ある意味最強のソリューションである

19

Page 20: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

Raspberry  Piでやる理由  

Page 21: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

省電力

•  Raspberry  Piは省電力  • ModelBは2.5W • ModelAだと1W!!

• モバイルバッテリーでも動いちゃう  

•  CD-­‐ROMドライブを動かすだけにパソコンを出してきて数十ワットも消費するのは惜しい  

• ちょっと使いの常駐コンピューターとして、Raspberry  Piは小回りがきくのでとても便利  

21

Page 22: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

小さい

•  Raspberry  Piは物理的にも小さい  • ケーブルが四方から飛び出すので、収まりが良くないこともあるけれど…!

•  CD-­‐ROMドライブのほうが大きいわ(◞‸◟)  •  Ejectコマンドユーザー会としてはイベントで展示するときに重宝  

•  Ejectソリューションキットとして売り出しやすそう。売れるのかどうかは別として( ˘ਊ˘)……  

22

Page 23: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

いつかGPIOに転換(できるかもしれない)

• 夢と希望が詰まったGPIO端子もある  

• 頑張ったらCD-­‐ROMドライブからこっちにグレードアップできるかもしれない……!  

• と思いながら今日もCD-­‐ROMドライブをウイーンウイーン言わせるのであった  

(☝  ՞ਊ  ՞)☝ウイーン

23

Page 24: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

CD-­‐ROMドライブで工作してみよう  

Page 25: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

ハムスターのフードフィーダー

•  CD-­‐ROMドライブのトレイ開閉の動力を利用した小動物向けフードフィーダー  

• 意外と小動物向けの市販のフードフィーダーが無いので作った  

25

Page 26: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

特長とか

• 短期間の旅行や出張のときに便利  •  1回きりしかあげられないのは仕様  • エサをあげられても他の世話ができないから  

• ただし、  エサがすごく  飛び散る  

26

Page 27: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

作ってみよう

• ダンボールにCD-­‐ROMドライブを載せて固定  • トレイにアームをつける  • アームにそってガイドレールをつける  • 完成

27

Page 28: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

Raspberry  Piとつなぐ

•  USB-­‐IDE変換ケーブルを使ってCD-­‐ROMドライブを接続

• こんなかんじで  

28

Page 29: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

実行する

•  Raspbianの場合、最初にEjectコマンドをインストールする  

• そしてEjectコマンドを実行  

• 今週も使いました→

$ sudo apt-get install –y eject

$ eject

29

Page 30: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

除夜の鐘

• 日本の年末年始に欠かせない仏教文化の一つ  •  108回鐘をついて煩悩を払い、新年を迎える  • これをCD-­‐ROMドライブを使ってつく  • 「除夜のEject」と命名  

30

Page 31: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

除夜の鐘

• さらに、Webから誰でも実行できるようにしてみんなで108回の鐘をつけるようにした  

• 鐘をつく様子はUstreamで中継  •  Twi<erと連携してコメントも付けられる  

31

Page 32: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

除夜のEject  2013もやる、はず

•  2012年12月31日の開催に向けて準備済み  • 鐘を改良  • 熊よけ鈴から鐘(風鈴の)にグレードアップ  • 見た目は重要  • コミケのあとは除夜のEjectな!  

•  h<p://eject.kokuda.org/joya/  

32

Page 33: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

エアコンのリモート操作

• ハムスターのための室温調節用として、エアコンの電源をリモート操作するしくみをCD-­‐ROMドライブで開発  

•  Web上からCD-­‐ROMドライブを操作できるようにした→リモコンの仮想化  

• リモコンをなくすことなくWebから操作できる  • 外出先からオンオフが可能になる  

• エアコン切り忘れ対策に最適 • 帰宅前に電源を入れて快適な部屋をつくれる

33

Page 34: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

Webインターフェイス

•  githubにコードを公開中  (Wri<en  in  PHP)  

•  http://github.com/Akkiesoft/Eject-Command-Users-Group/

• グローバルに出す場合セキュリティ対策が必要(BASIC認証など)  

• ローカルの場合は無くても良い

34

Page 35: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

初期型(直接方式)

• リモコンの電源ボタンを直接トレイに押させる  • 失敗率高め・リモコンによっては難しい  

35

Page 36: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

現行型(リモコン改造方式)

• リモコンを分解して電源ボタンの接点を取り出して、ドライブのトレイで押しやすいボタンで押せるようにする

36

Page 37: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

IT’S  VERY  USEFUL  .  (迫真)

• 運用の結果、ハムスターはもちろんのこと、  人間に対しても非常に有用であることが判明  

• 震災後は節電に一役買った(たぶん)  •  Ejectコマンドユーザー会の主力ソリューション  

• ※パナソニックのエアコンリモートでリモート操作にグレー感が出ていた(オフしかリモート操作できない微妙なエアコンの)件は経済産業省が規制緩和に向けて検討を始めているところ、らしい。  

37

Page 38: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

作り方(ダイジェスト)

• リモコンを改造(基盤から電源ボタンの端子をイヤホンソケットか何かに引き出す)  

• ボタンとイヤホンプラグを、つなぐ  • 配置  

38

Page 39: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

今日のブース(Eject分)

• コンセントの電源をオン・オフする装置  •  Ejectの鐘  rev.2    鐘が重すぎてならない(◞‸◟)                ・エアコンの                 リモコン

39

Page 40: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

GPIOでがんばってみる  

Page 41: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

エアコンの電源操作をGPIOからやろう

• 作例で紹介した「CD-­‐ROMドライブでエアコンの電源操作」を、GPIOで実現してみよう  

• ただし、電子工作そんなにできないので、シンプルに作れるものがいい  

•  GPIO入門のLEDチカチカぐらいの簡単さがいい  

• というわけで、フォトカプラを使って実現してみよう

41

Page 42: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

完成品

• リモコンは作例のものを流用  •  CD-­‐ROMドライブが無くなってスッキリ  • 電子工作してるっぽい雰囲気が出る

42

Page 43: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

赤外線制御しないの?

• 赤外線LEDを使った学習リモコンも作れる  • ただし、面倒くさい。  

• 制御するには赤外線信号を解析する必要がある  • これはきっと手間だろう  • 敷居が高そう  

• 汎用リモコンは学習済みなので、メーカー番号を指定するだけで大体は使えるようになる  

43

Page 44: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

材料

• フォトカプラ  • 抵抗  • イヤホンケーブル  • ピン付きケーブル  

• その他細々加工道具  

• 材料費は300円弱  • おてごろ!  

44

Page 45: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

組立て

•  LED側のアノードに抵抗をつける  • ピン付きケーブルをLED側につける  • イヤホンケーブ  ルはエミッタ・  コレクタに接続  

• これだけ  

• 回路をホットボンドで保護し  て完成!

45

Page 46: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

制御方法

•  LEDチカチカと全く同じ  •  PinXXにアノード、PinXXにカソードを接続  • コマンドを叩いて動作を確認  

# ### 初期化 # echo "17" > /sys/class/gpio/export # echo "out" > /sys/class/gpio/gpio17/direction

# ### LED(0.1秒くらいでいい) # echo "1" > /sys/class/gpio/gpio17/value \ sleep 0.1 \ echo "0" > /sys/class/gpio/gpio17/value

# ### 開放する # echo "17" > /sys/class/gpio/unexport

46

Page 47: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

工夫次第で更に便利に。そして詳細は書籍で!

• 制御するボタンの数を増やせばもっと細かく制御もできるはず  

•  WebIOPiを使用してWebから制御できるようにすると、インターネットが繋がるどこからでも自宅のエアコンが制御できるように!  

• まだ自宅用のやつ作ってない(◞‸◟) •  Raspberry  Piの本でもうちょっと詳しい作り方を紹介してます。発売されたらぜひ買ってね!  

• 今夏の冷房シーズンに向けてぜひつくってみて  • 展示もやってます(☝  ՞ਊ  ՞)☝

47

Page 48: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

まとめ  

Page 49: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

まとめ

• ネタっぽいけれどやっている事は意外とまじめ  • ネタもできるけど  •  GPIOもいいけれど、存在が薄れつつあるCD-­‐ROMドライブにもう一度光を!(?)  

•  Ejectの可能性は無限大  <Eject  command  has  infinite  potenQal!>  

49

Page 50: EjectコマンドをRaspberry Piで遊ぼう~CD-ROMドライブでかんたん工作~

Sponsored by

おしまい

• お付き合いいただきありがとうございました!  •  Thank  you  for  watching  my  presentaQon!  

•  (☝  ՞ਊ  ՞)☝ウイーン  

50