Slide 1

Slide 1 text

おはよう ございます

Slide 2

Slide 2 text

Ejectの premiamuな 10分セミナー

Slide 3

Slide 3 text

トイレタイム?

Slide 4

Slide 4 text

最後の Ejectセミナー →10月

Slide 5

Slide 5 text

Ejectのこと もう忘れた

Slide 6

Slide 6 text

思い出そう Ejectのこと

Slide 7

Slide 7 text

ウッ頭痛が

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Ejectコマンド工作入門 2016 Ejectコマンドユーザー会 あっきぃ (  id:Akkiesoft  ) 2016/05/14    OSC2016  Gunma

Slide 10

Slide 10 text

自己紹介 • あっきぃ です • 1988年(昭和63年)生まれ/28歳 • 北海道根室市出身(日本最東端の駅の近く) • 渋谷で仮想化エンジニアしてます ? • @Akkiesoft – ツイート量多いのでフォロー非推奨 – 気軽にブロックします

Slide 11

Slide 11 text

本日のイジェンダ(内容) Ejectコマンドユーザー会のEjectコマンド工作入 門方法について15分で解説をします。 必要なのはCD-­‐ROMドライブ、Raspberry   Pi、変 換アダプターと、やりたいことに応じた"しかけ" だけ。 Ejectコマンド工作でクールにIoTの波に乗れ! (てきとうなセミナー概要です)

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

本日のイジェンダ(内容) Ejectコマンドユーザー会のEjectコマンド工作入 門方法について15分で解説をします。 必要なのはCD-­‐ROMドライブ、Raspberry   Pi、変 換アダプターと、やりたいことに応じた"しかけ" だけ。 Ejectコマンド工作でクールにIoTの波に乗れ! (てきとうなセミナー概要です)

Slide 14

Slide 14 text

本日のイジェンダ(内容) • Ejectコマンドユーザー会のご紹介 • Ejectコマンド工作とは • Ejectコマンド工作の始め方

Slide 15

Slide 15 text

Ejectコマンドユーザー会 のご紹介

Slide 16

Slide 16 text

Ejectコマンドユーザー会とは • CD-­‐ROMドライブのトレイ開閉を利用して • トレイに色んなことをさせる工作を作り • リモートやタイマー等で実行することで • QoLの向上を試みるユーザーの集いです

Slide 17

Slide 17 text

IoT

Slide 18

Slide 18 text

って言えば

Slide 19

Slide 19 text

何でも 許される 風潮に

Slide 20

Slide 20 text

No

Slide 21

Slide 21 text

Nokkaru

Slide 22

Slide 22 text

Ejectコマンドユーザー会とは • CD-­‐ROMドライブのトレイ開閉と • Raspberry  Piを組み合わせた • ホームオートメーションを実現する • IoT系工作を作るユーザーの集いです

Slide 23

Slide 23 text

活動情報 • 主にオープンソースカンファレンスで活動 • 公式サイトは Eject  で検索 • Google  Groupsへの入会お待ちしています – 流量ゼロの殺伐コミュニティです

Slide 24

Slide 24 text

アクティビティ • 現在55名強(ML参加人数) • OSC等に展示参加してくれた方は これまで5人(私を含む) • アクティブユーザーが若い • 今、ナウなヤングが集まるアツいOSS? コミュニティはここ(確信)

Slide 25

Slide 25 text

Ejectコマンド工作とは

Slide 26

Slide 26 text

Ejectコマンドとは(manより) • eject  -­‐ リムーバブルメディアをイジェクトする eject を用いると、リムーバブルメディア (CD-­ROM、フロッピーディスク、テープ、 JAZ/ZIP  ディスクなど)  をソフトウェア制御によってイジェクトできる。 また eject  は、 連装 CD-­ROM  チェンジャを制御したり、 デバイスの自動イジェクト機能を制御したり、 CD-­ROM  ドライブのディスクトレイを 閉じることもできる (製品によってはできないこともある)。 引き数  に対応するデバイスがイジェクトされる。 name  はデバイスファイルまたはマウントポイントであり、フルパスでも先頭の "/dev",  "/media",  "/mnt"  を省略した形でもどちらでもよい。 name  が指定されない場合、デフォルトでは "cdrom"  が対象となる。 対象デバイスが CD-­ROM、SCSI  デバイス、リムーバブルフロッピー、 テープであるかによって、4   つの異なるイジェクト方法がある。 デフォルトでは、 eject  は 4  つの方法全てを成功するまで順に試行する。 対象デバイスがマウントされている場合、イジェクト前にアンマウントされる。

Slide 27

Slide 27 text

Ejectコマンドとは • https://linuxjm.osdn.jp/html/eject/man1/ eject.1.html • 要約 – ソフトウェア制御によってイジェクトできる – CD-­‐ROMドライブのトレイを開閉できる – マウントされていたらアンマウントする • 現代においてはUSBメモリ等フラッシュメモリに有用 • umountでいいんだけど。

Slide 28

Slide 28 text

リモートやタイマーでEjectする • SSHからリモートで実行可能 – データセンターではサーバの特定に利用される – いたずらにも利用される • Ejectコマンド工作的には、PHPやRubyなどの 言語を利用してWeb画面からEjectする • Twitter連携 • cronやatdを利用して決まった時間にEjectコマ ンド工作を実行させる

Slide 29

Slide 29 text

「トレイ開閉を利用する」とは • CD-­‐ROMドライブはEjectコマンドを実行すると トレイの開閉運動を得ることができる – Ejectする=トレイでものを押しだす・突くなど • こらちを主に利用 – Loadする=トレイでものを引く • 5インチベイタイプのドライブの場合、開閉運 動を繰り返し得ることができる 29

Slide 30

Slide 30 text

Ejectコマンド工作とは •Ejectのソフトウェア制御 によるトレイ開閉を利用 して、トレイの開閉運動 と連動した工作物をつく ること

Slide 31

Slide 31 text

Ejectコマンド工作の例 • ハムスターにエサをあげる • エアコンの電源を操作する • AC電源を操作する • 除夜の鐘をつく

Slide 32

Slide 32 text

ハムスターにエサをあげる • 初めて作った作品 • 外出先からハムスターの餌をあげられる • ドライブを積めば複数日の給餌に対応 • いまはハムスターが いないので未使用 • 本日デモ予定

Slide 33

Slide 33 text

エアコンの電源を操作する • 2010年ごろ開発 • トレイでボタンを直接押す→リモコンから電源 回路をハックして外付けボタンをトレイで押す →Raspberry  Piで、 予めハックしたリモコン を操作するように進化

Slide 34

Slide 34 text

AC電源リモート操作 • AC電源をEjectでON/OFFする • ホームセンターで買える スイッチと電線で作れる • プログラムタイマーとしても 使える • 本日デモ中

Slide 35

Slide 35 text

除夜の鐘 • 通称「除夜のEject」 • 毎年12月31日にUSTREAMで中継 • だれでもEjectで鐘をつくことができる • Eject結果はUSTで 確認 • 本日デモ予定

Slide 36

Slide 36 text

Ejectカーテン • 朝になったらカーテンを開く装置 • カーテンにヒモを通して、おもりを 落とすとカーテンが開く • おもりを落とすのがCD-­‐ROM ドライブ • このためだけに RasPiを1台消費

Slide 37

Slide 37 text

CD-­‐ROMドライブを使う意義 • Ejectコマンド工作の大半は電子工作で解決 • 電子工作を勉強したら楽しいはず • しかし、電子工作に抵抗がある人はいる • 電子工作ができない人は諦めなければいけ ないか?→NO • CD-­‐ROMドライブを使って工作したら少しカン タンにできないだろうか?

Slide 38

Slide 38 text

Ejectコマンド工作のメリット • カンタン(電子工作ができなくても大丈夫) • 手軽(物品調達は難しくなく、比較的安価) • わりと安全(ハンダ付けとかほとんど無い) • Linuxの知識が身につく(かも知れない) – atd,  cron,  udevなど、ふだんあまりさわる機会がな い部分も色々触れる

Slide 39

Slide 39 text

Ejectコマンド工作のデメリット • 工作の実行成功率にムラがある – 正直、工作による • 場所を取る • サーバー構築の知識はある程度必要 • Ejectコマンド工作は万能ではない – 可能性は無限大とは言いつつ、できることは実は あまりない – 出来る範囲のことをやろう

Slide 40

Slide 40 text

Ejectである必要はない • 自分で実現可能な方法で自由に実装しよう • 電子工作ができる人はそれでやれば良い – 私のエアコンリモートはRasPiに移行した • 市販品が良いならそれを使えば良い – 普通の人が注目するソリューションなので、 ブログに書くとブクマとかアクセス数とか稼げる • Ejectで良いと思ったらそうすれば良い – すぐできるし工作する時間は楽しいしネタになる

Slide 41

Slide 41 text

Ejectコマンド工作は手段 • 当時飼っていたハムスターの世話をOSCで遠 征していてもできるようにしたいという課題解 決の必要に迫られて作った – 数週間くらいしかなくて悩んでいた – OSCなどのイベントのネタにしたかった、というの も…あるよ(  ;`ω´) • 単にEjectをしたくて作ったわけではない – Ejectだけで喜んでいるのはちょっとやばい

Slide 42

Slide 42 text

Ejectコマンド工作 入門

Slide 43

Slide 43 text

工作に必要なもの • Eject機材 – CD-­‐ROMドライブ(¥100〜¥300) – IDE-­‐USB変換ケーブル(¥1,000) – 余っている適当なマシンなど • Raspberry  Pi(¥5,000くらい) • 工作の材料 – ダンボール片・紙の小箱・ヒモ – エアコンのリモコン・スイッチ – はさみ・カッター・のりなど文具

Slide 44

Slide 44 text

CD-­‐ROMドライブの入手 • 基本的に5インチベイタイプの大きい物を使用 • 薄型はトレイを閉められないので向かない • ドライブ本来の機能(読み書きできるかどう か)は重要視されないのでジャンクでも良い • ハードオフや秋葉原のジャンク屋などで入手 • 分解してレーザーユニットを外すと軽量化可 能

Slide 45

Slide 45 text

IDE-­‐USB変換ケーブル • 主に内蔵HDDをUSB接続するために使用 – 外付けディスクとして – データレスキュー用 • 秋葉原・家電量販店・Amazon等で入手可能 – ヤフオクにも安いのがある – 外部電源が付いているタイプを選ぶ – ついていないものは2.5インチHDD向け

Slide 46

Slide 46 text

マシンの用意 • Linuxが入っている適当なマシンを用意する • 軽くにお試しするときにはなんでも良い • 常時稼働させたくなった時は、省電力なマシ ンを選択すると良い – ノートPC(昔のネットブックとか) – Raspberry  Piなどシングルボードコンピュータ

Slide 47

Slide 47 text

工作の材料 • やりたいものの内容に応じて変化する • ハムスターの餌やり – ダンボール片 – セロハンテープ等 • エアコンの電源操作 – エアコンのリモコン – ケーブル – アーケードスイッチ等ドライブで押しやすいボタン

Slide 48

Slide 48 text

工作の材料(続き) • カーテンの開閉 – ヒモ – 重り – 滑車 • 除夜の鐘 – 鐘型の風鈴 – カタログスタンド

Slide 49

Slide 49 text

Ejectする手段を確保する 方法 外出先から実行できるか SSHでログインして Eject 外に公開するか、VPNがあればで きる Web画面からEject 外に公開するか、VPNがあればで きる。もしくは、VPSなどから間接 的に実行する方法もある TwitterからEject できる

Slide 50

Slide 50 text

いちおうオープンソース • 「WebからEject」も「TwitterからEject」も、 やり方はソースを公開しています • http://github.com/Akkiesoft/Eject-­‐Command-­‐ Users-­‐Group/ • WebはPHP、TwitterはPythonで実装 • どうぞご利用ください

Slide 51

Slide 51 text

そうしてできあがり • 何を作るかはあなた次第 • あったら便利そうなものを思いついたら自分 で作ってみよう(私に言ってもダメ)

Slide 52

Slide 52 text

まとめ

Slide 53

Slide 53 text

まとめ • CD-­‐ROMドライブでホームオートメーションは できる • 肩肘張らず気軽にやってみよう • 意識の低いIoT – 意識が他界IoT

Slide 54

Slide 54 text

おわり