Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

EJectコマンド工作、その魅力に迫る。 / osc15do-eject

EJectコマンド工作、その魅力に迫る。 / osc15do-eject

OSC2015 Hokkaidoにて発表。

Akira Ouchi

June 13, 2015
Tweet

More Decks by Akira Ouchi

Other Decks in How-to & DIY

Transcript

  1. 自己紹介 •  あっきぃ です   •  1988年(昭和63年)生まれ/27歳   •  北海道根室市出身(日本最東端の駅の近く)  

    •  OSC北海道皆勤賞(2005年から11回目)   •  渋谷で仮想化エンジニアしてます   •  @AkkiesoI   – ツイート量多いのでフォロー非推奨  
  2. Ejectコマンドユーザー会とは •  CD-­‐ROMドライブのトレイ開閉を利用して   •  トレイに色んなことをさせる工作を作り   •  リモートやタイマー等で実行することで  

    •  QoLの向上を試みるユーザーの集いです   •  主にオープンソースカンファレンスで活動   •  公式サイトは  Eject  で検索   •  Google  Groupsへの入会お待ちしています  
  3. 除夜の鐘 •  通称「除夜のEject」   •  毎年12月31日にUSTREAMで中継   •  だれでもEjectで鐘をつくことができる  

    •  Eject結果はUSTで   確認   •  昨年は実家でやった   ものの、失敗した  
  4. ユーザー会のアクティビティ •  現在55名強(ML参加人数)   •  OSC等に展示参加してくれた方は   これまで5人(私を含む)   • 

    先月のOSC2015-­‐Nagoyaではブースの   半分以上が私以外のユーザーによる展示!   •  アクティブユーザーは若い   •  今、ナウなヤングが集まるアツいOSS?コミュ ニティはここ(確信)  
  5. [LT]   ドライブ軽量化大作戦   (Rev.2) これを発表したイベント(Rev.1)   2014/7/12  カーネルVM探検隊  

           @北陸(予告編)   2014/8/2  OSC2014  Kansai@Kyoto   2014/10/19  OSC2014  Tokyo/Fall  
  6. さっそく趣旨からズレる •  スペースはFlashAirなら普通に押し込める   だろうって感じだった(完)   •  ドライブ内はいくつかの基板とレンズとがリボ ンケーブルで接続されていた  

    – リボンケーブルを外したらどうなるだろうか?   – レンズの部分の稼働を止められたら省電力化   できるか?   •  調査からエクストリーム分解に変わった
  7. 材料 •  SATA接続DVD-­‐ROMドライブ   •  2.5インチSATA  HDD-­‐USB変換   •  Raspberry

     Pi  Model  B   •  SATAケーブル   •  ジャンパケーブル   •  USB無線LANドングル   •  SD-­‐MicroSD変換アダプタ   •  養生テープ
  8. ドライブとRPiの接続部をつくる •  SATAケーブルを適当な長さに切り出す   •  ドライブのSATAコネクタ(データ側)破壊して基 板にケーブルをハンダ付け   •  2.5インチSATA

     HDD-­‐USB変換のコネクタを破 壊してSATAケーブルをはんだづけ   •  USB-­‐MiniUSBケーブルでRPiとドライブを接続  
  9. ソフトウェアの実装 •  デモ用途なので、Twiierでふぁぼられたら EjectするFavEjectを使用   – hips://github.com/AkkiesoI/Eject-­‐Command-­‐ Users-­‐Group/blob/master/faveject.py   •  OSはもちろんEjebian

      – RaspbianをEject仕様にカスタマイズしたもの   – 不要パッケージ削除+ejectインストール+SSH公開 鍵登録済   – NOOBSイメージ化されていていつでもデプロイ可
  10. まとめ •  ドライブはレンズユニットを取り外すと軽くなる   – 軽くなるので工作によってはドライブの力が弱ま る   •  空いたところに物を埋め込んで何か作れる  

    •  モバイルEject環境は個人的には便利(人に 見せやすい)な反面、説明は複雑   •  ドライブがアイデンティティを失う  
  11. 操作画面の作成 •  Web画面もサンプルの   HTMLをベース作りこみ   •  むだにWebフォントを使用   • 

    (  ՞ਊ  ՞)の文字は機種依存   なのでSVGデータにして   ボタン風に配置   •  麦子ちゃんでシャレオッティに   コッディネーヨっ  
  12. CD-­‐ROMドライブを使う意義 •  Ejectコマンド工作でやることの大半は電子工 作などで解決する   •  電子工作を勉強したら楽しいはず   •  しかし、電子工作に抵抗がある人はいる

      •  電子工作ができない人は諦めなければいけ ないか?→NO   •  CD-­‐ROMドライブを使って工作したら少しカン タンにできないだろうか?
  13. Ejectコマンド工作のデメリット •  工作の実行成功率にムラがある   – 工作による   •  場所を取る   • 

    サーバー構築の知識はある程度必要   •  Ejectコマンド工作は万能でない   Ejectコマンド工作は万能でない   – 可能性は無限大とは言いつつ、できることは実は あまりない   – 出来る範囲のことをやろう
  14. Ejectである必要はない •  自分で実現可能な方法で自由に実装しよう   •  電子工作ができる人はそれでやれば良い   – 私のエアコンリモートはRasPiに移行した   • 

    市販品が良いならそれを使えば良い   – 普通の人が注目するソリューションなので、   ブログに書くとブクマとかアクセス数とか稼げる   •  Ejectで良いと思ったらそうすれば良い   – すぐできるし工作する時間は楽しいしネタになる
  15. まとめ •  Ejectコマンド工作はトレイ開閉の動力を使っ た工作   •  電子工作しなくてもCD-­‐ROMドライブで簡単に 実現できる(かもしれない)   • 

    Linuxの勉強にもなる   •  Ejectは手段であり、目的ではない   – 無理にEjectですることを考えてはいけない
  16. 工作に必要なもの •  Eject機材   – CD-­‐ROMドライブ(¥100〜¥300)   – IDE-­‐USB変換ケーブル(¥1,000)   – 余っている適当なマシンなど  

    •  Raspberry  Pi(¥4,000くらい)   •  工作の材料   – ダンボール片・紙の小箱・ヒモ   – エアコンのリモコン・スイッチ   – はさみ・カッター・のりなど文具
  17. IDE-­‐USB変換ケーブル •  本来はむき出しの内蔵HDDをUSB接続するた めに使用される   – 外付けディスクとして   – データレスキュー用に   • 

    秋葉原・家電量販店・Amazon等で入手可能   – ヤフオクにも安いのがあるっぽい   •  外部電源が付いているタイプを選ぶ   – ついていないものは2.5インチHDD向け
  18. 工作の材料 •  やりたいものの内容に応じて変化する   •  ハムスターの餌やり   – ダンボール片   – セロハンテープ等

      •  エアコンの電源操作   – エアコンのリモコン   – ケーブル   – アーケードスイッチ等ドライブで押しやすいボタン
  19. 例えば…… •  Casi(  hip://casi.com/  )   – ネコの餌やり・水やり機   – 体重計がついていて、ネコの体重を記録できて、 スマホから見られる

      – カメラがついていて、ネコの顔認識が   できるので複数ネコの認識や、どのネコ   がどのくらい飲食しているか記録できる   •  hip://www.itmedia.co.jp/mobile   /artcles/1506/03/news112.html  
  20. 例えば…… •  Ambi  Climate(  hip://www.ambiclimate.com/  )   – hip://thebridge.jp/2014/10/ambi-­‐climate-­‐starts-­‐ kickstarter-­‐campaign  

    – エアコンをリモート制御できるIoTガジェット   – スマホで温度とかを見られるようになる   – KickStarterで$25,000を目標にスタートしたところ、 $114,892集まった模様  
  21. 『エアぴっぴ』 •  Raspberry  Pi  Model  B   (私の中古)を使用   • 

    リモコンはAmazonの激安   学習リモコン(370円)   •  温度センサーはDS18B20   (300円)   •  RasPiを新規で買っても 4,000円くらいで作れる  
  22. 公開中 •  改良したい部分もまだあるけど公開中   •  hips://github.com/AkkiesoI/airpippi   •  Ansible  playbook形式で配布。ダウンロードし

    たらさくっとインストールできる(完全にできる とは言っていない)   •  無線LAN対応が   急務! !?
  23. 最近参加したイベント •  各地のOSC   •  Kernel/VM探検隊@金沢(7/12)   •  Ogaki  Mini

     Maker  Faire  2014(2014/8/23-­‐24)   •  出張このべん:猫カフェ×Ejectユーザー会、奇 跡のコラボハンズオン!ConoHa  by   GMO(2014/9/27)  
  24. 各地のOSC •  展示中心で、EjectのLTは量を減らしている   – 少しずつ軸足をEjectからRaspberry  Piに移したい   – 新しい人たちにLTの枠を譲り、貴重なセミナー枠 を獲る→人の少ない朝イチに割り当てられる  

    •  名古屋はEject界のホープであるあひるさんや、 2box2boさんなどアクティブユーザーがいるの で必ず参加、展示もわりとお任せ   •  私がいなくても出展みたいなことができ始め ている。良い。  
  25. Ogaki  Mini  Maker  Faire  2014 •  Ejectコマンドユーザー会初のMaker  Faire参加   • 

    初の  "私が参加していない"  Eject出展   •  中京圏のユーザー(2box2boさん、あひるさん、 じょりろじゃさん+おおたさん@東京)による出 展  
  26. 出張このべん •  ConoHa(by  GMO)さんとコラボレーション企画   •  猫カフェでEjectコマンド工作ハンズオン   •  内容

      – ConoHaのVPSとRaspberry  Piを組み合わせてEject コマンド工作を作る   – 猫の餌やり装置を作る  
  27. VPSとEjectの連携の仕組み •  VPSにWeb  APIを用意   •  ユーザーがVPSのWebにアクセスしてボタンを 押すとAPIがEject可の状態を返すようになる   • 

    遠隔地にいるマシンが定期的にAPIにアクセ スして、Eject可の状態だったらEjectを実行   ConoHa   VPS (1)Web画面から   Eject実行 (2)Ejectフラグを取得   (ポーリング) (3)Eject 97
  28. 猫の給餌装置 •  箱の側面の下の方を下・左・右の3方向切る   •  下の部分にレバーを付ける   •  切り込みの上から1/3くらい  

    の部分に輪ゴムを付ける   •  箱のなかに滑り台状に板を   敷いて餌が落ちやすくなる   ようにする 98