Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ejectコマンド工作入門2016 / 20160514-osc2016gm
Search
Akira Ouchi
May 14, 2016
How-to & DIY
0
2k
Ejectコマンド工作入門2016 / 20160514-osc2016gm
2016/5/14 OSC2016 Gunmaにて発表
Akira Ouchi
May 14, 2016
Tweet
Share
More Decks by Akira Ouchi
See All by Akira Ouchi
Raspberry Pi Pico 2 移行はアリか? / 20240927-rpi-pico2
akkiesoft
0
47
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
30
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 20240420-osunc2024-kawagoe
akkiesoft
0
190
Misskey OSPNサーバーでFediverseをはじめよう / 20240203-msky-ospn
akkiesoft
1
530
Raspberry PiではじめるKiCad入門 / 20240226-rpi-jam
akkiesoft
1
3.3k
ワンチャンXから離脱してFediverseに飛び込もう / 20240203-homeserver
akkiesoft
0
280
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 202401-rpijam-osc24os
akkiesoft
0
2.6k
ラズピッピ・ファイブ / 20231024-rpi-jam-tokyo
akkiesoft
0
2.1k
今年のラズパイなんかあった? / 20230830-rpijamtokyo
akkiesoft
0
1.2k
Other Decks in How-to & DIY
See All in How-to & DIY
ITエンジニアにおすすめのゲームFactorio御紹介
zembutsu
PRO
1
1.1k
ドラムスティックケースを生まれ変わらせて一歩踏み出した話
scbc1167
0
170
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
230
こんなにあるの? 最近のIPAトレンドを ざっくりまとめてみた
watany
3
610
How to create better speaker proposals
logico_jp
2
370
安全に失敗するための手遊び-未定義動作を引き出そう-
zilmina
0
450
電気工事士を取ったら一瞬で元が取れた件
bicstone
3
4.3k
Invitation to Okinawa.rb in 2024
yasslab
PRO
1
690
グローバルAWSユーザー コミュニティとJAWS-UG - JAWS FESTA 2024 in Hiroshima
awsjcpm
0
4k
コロナ後の世界メイカーフェア事情 高須正和@Nico-Tech Shenzhen #KMMF2024 #KariyaMMF2024
takasumasakazu
0
250
[너구리랑! 회고 밋업 2023] 비전공자 PM의 우당탕탕 2023년 // 의현 님
develop_neoguri
0
100
Earthquake and Kominka
ramtop
0
140
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
Code Review Best Practice
trishagee
64
17k
Designing for humans not robots
tammielis
250
25k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A designer walks into a library…
pauljervisheath
203
24k
For a Future-Friendly Web
brad_frost
175
9.4k
Navigating Team Friction
lara
183
14k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
How GitHub (no longer) Works
holman
310
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Transcript
おはよう ございます
Ejectの premiamuな 10分セミナー
トイレタイム?
最後の Ejectセミナー →10月
Ejectのこと もう忘れた
思い出そう Ejectのこと
ウッ頭痛が
☝ ՞ _人人人人人_ > ( ) < ☞  ̄Y^Y^YY^Y^Y ̄ ՞
ਊ
Ejectコマンド工作入門 2016 Ejectコマンドユーザー会 あっきぃ ( id:Akkiesoft ) 2016/05/14 OSC2016
Gunma
自己紹介 • あっきぃ です • 1988年(昭和63年)生まれ/28歳 • 北海道根室市出身(日本最東端の駅の近く) • 渋谷で仮想化エンジニアしてます
? • @Akkiesoft – ツイート量多いのでフォロー非推奨 – 気軽にブロックします
本日のイジェンダ(内容) Ejectコマンドユーザー会のEjectコマンド工作入 門方法について15分で解説をします。 必要なのはCD-‐ROMドライブ、Raspberry Pi、変 換アダプターと、やりたいことに応じた"しかけ" だけ。 Ejectコマンド工作でクールにIoTの波に乗れ! (てきとうなセミナー概要です)
None
本日のイジェンダ(内容) Ejectコマンドユーザー会のEjectコマンド工作入 門方法について15分で解説をします。 必要なのはCD-‐ROMドライブ、Raspberry Pi、変 換アダプターと、やりたいことに応じた"しかけ" だけ。 Ejectコマンド工作でクールにIoTの波に乗れ! (てきとうなセミナー概要です)
本日のイジェンダ(内容) • Ejectコマンドユーザー会のご紹介 • Ejectコマンド工作とは • Ejectコマンド工作の始め方
Ejectコマンドユーザー会 のご紹介
Ejectコマンドユーザー会とは • CD-‐ROMドライブのトレイ開閉を利用して • トレイに色んなことをさせる工作を作り • リモートやタイマー等で実行することで • QoLの向上を試みるユーザーの集いです
IoT
って言えば
何でも 許される 風潮に
No
Nokkaru
Ejectコマンドユーザー会とは • CD-‐ROMドライブのトレイ開閉と • Raspberry Piを組み合わせた • ホームオートメーションを実現する • IoT系工作を作るユーザーの集いです
活動情報 • 主にオープンソースカンファレンスで活動 • 公式サイトは Eject で検索 • Google Groupsへの入会お待ちしています
– 流量ゼロの殺伐コミュニティです
アクティビティ • 現在55名強(ML参加人数) • OSC等に展示参加してくれた方は これまで5人(私を含む) • アクティブユーザーが若い • 今、ナウなヤングが集まるアツいOSS?
コミュニティはここ(確信)
Ejectコマンド工作とは
Ejectコマンドとは(manより) • eject -‐ リムーバブルメディアをイジェクトする eject を用いると、リムーバブルメディア (CD-ROM、フロッピーディスク、テープ、 JAZ/ZIP ディスクなど)
をソフトウェア制御によってイジェクトできる。 また eject は、 連装 CD-ROM チェンジャを制御したり、 デバイスの自動イジェクト機能を制御したり、 CD-ROM ドライブのディスクトレイを 閉じることもできる (製品によってはできないこともある)。 引き数 <name> に対応するデバイスがイジェクトされる。 name はデバイスファイルまたはマウントポイントであり、フルパスでも先頭の "/dev", "/media", "/mnt" を省略した形でもどちらでもよい。 name が指定されない場合、デフォルトでは "cdrom" が対象となる。 対象デバイスが CD-ROM、SCSI デバイス、リムーバブルフロッピー、 テープであるかによって、4 つの異なるイジェクト方法がある。 デフォルトでは、 eject は 4 つの方法全てを成功するまで順に試行する。 対象デバイスがマウントされている場合、イジェクト前にアンマウントされる。
Ejectコマンドとは • https://linuxjm.osdn.jp/html/eject/man1/ eject.1.html • 要約 – ソフトウェア制御によってイジェクトできる – CD-‐ROMドライブのトレイを開閉できる
– マウントされていたらアンマウントする • 現代においてはUSBメモリ等フラッシュメモリに有用 • umountでいいんだけど。
リモートやタイマーでEjectする • SSHからリモートで実行可能 – データセンターではサーバの特定に利用される – いたずらにも利用される • Ejectコマンド工作的には、PHPやRubyなどの 言語を利用してWeb画面からEjectする
• Twitter連携 • cronやatdを利用して決まった時間にEjectコマ ンド工作を実行させる
「トレイ開閉を利用する」とは • CD-‐ROMドライブはEjectコマンドを実行すると トレイの開閉運動を得ることができる – Ejectする=トレイでものを押しだす・突くなど • こらちを主に利用 – Loadする=トレイでものを引く
• 5インチベイタイプのドライブの場合、開閉運 動を繰り返し得ることができる 29
Ejectコマンド工作とは •Ejectのソフトウェア制御 によるトレイ開閉を利用 して、トレイの開閉運動 と連動した工作物をつく ること
Ejectコマンド工作の例 • ハムスターにエサをあげる • エアコンの電源を操作する • AC電源を操作する • 除夜の鐘をつく
ハムスターにエサをあげる • 初めて作った作品 • 外出先からハムスターの餌をあげられる • ドライブを積めば複数日の給餌に対応 • いまはハムスターが いないので未使用
• 本日デモ予定
エアコンの電源を操作する • 2010年ごろ開発 • トレイでボタンを直接押す→リモコンから電源 回路をハックして外付けボタンをトレイで押す →Raspberry Piで、 予めハックしたリモコン を操作するように進化
AC電源リモート操作 • AC電源をEjectでON/OFFする • ホームセンターで買える スイッチと電線で作れる • プログラムタイマーとしても 使える •
本日デモ中
除夜の鐘 • 通称「除夜のEject」 • 毎年12月31日にUSTREAMで中継 • だれでもEjectで鐘をつくことができる • Eject結果はUSTで 確認
• 本日デモ予定
Ejectカーテン • 朝になったらカーテンを開く装置 • カーテンにヒモを通して、おもりを 落とすとカーテンが開く • おもりを落とすのがCD-‐ROM ドライブ •
このためだけに RasPiを1台消費
CD-‐ROMドライブを使う意義 • Ejectコマンド工作の大半は電子工作で解決 • 電子工作を勉強したら楽しいはず • しかし、電子工作に抵抗がある人はいる • 電子工作ができない人は諦めなければいけ ないか?→NO
• CD-‐ROMドライブを使って工作したら少しカン タンにできないだろうか?
Ejectコマンド工作のメリット • カンタン(電子工作ができなくても大丈夫) • 手軽(物品調達は難しくなく、比較的安価) • わりと安全(ハンダ付けとかほとんど無い) • Linuxの知識が身につく(かも知れない) –
atd, cron, udevなど、ふだんあまりさわる機会がな い部分も色々触れる
Ejectコマンド工作のデメリット • 工作の実行成功率にムラがある – 正直、工作による • 場所を取る • サーバー構築の知識はある程度必要 •
Ejectコマンド工作は万能ではない – 可能性は無限大とは言いつつ、できることは実は あまりない – 出来る範囲のことをやろう
Ejectである必要はない • 自分で実現可能な方法で自由に実装しよう • 電子工作ができる人はそれでやれば良い – 私のエアコンリモートはRasPiに移行した • 市販品が良いならそれを使えば良い –
普通の人が注目するソリューションなので、 ブログに書くとブクマとかアクセス数とか稼げる • Ejectで良いと思ったらそうすれば良い – すぐできるし工作する時間は楽しいしネタになる
Ejectコマンド工作は手段 • 当時飼っていたハムスターの世話をOSCで遠 征していてもできるようにしたいという課題解 決の必要に迫られて作った – 数週間くらいしかなくて悩んでいた – OSCなどのイベントのネタにしたかった、というの も…あるよ(
;`ω´) • 単にEjectをしたくて作ったわけではない – Ejectだけで喜んでいるのはちょっとやばい
Ejectコマンド工作 入門
工作に必要なもの • Eject機材 – CD-‐ROMドライブ(¥100〜¥300) – IDE-‐USB変換ケーブル(¥1,000) – 余っている適当なマシンなど •
Raspberry Pi(¥5,000くらい) • 工作の材料 – ダンボール片・紙の小箱・ヒモ – エアコンのリモコン・スイッチ – はさみ・カッター・のりなど文具
CD-‐ROMドライブの入手 • 基本的に5インチベイタイプの大きい物を使用 • 薄型はトレイを閉められないので向かない • ドライブ本来の機能(読み書きできるかどう か)は重要視されないのでジャンクでも良い • ハードオフや秋葉原のジャンク屋などで入手
• 分解してレーザーユニットを外すと軽量化可 能
IDE-‐USB変換ケーブル • 主に内蔵HDDをUSB接続するために使用 – 外付けディスクとして – データレスキュー用 • 秋葉原・家電量販店・Amazon等で入手可能 –
ヤフオクにも安いのがある – 外部電源が付いているタイプを選ぶ – ついていないものは2.5インチHDD向け
マシンの用意 • Linuxが入っている適当なマシンを用意する • 軽くにお試しするときにはなんでも良い • 常時稼働させたくなった時は、省電力なマシ ンを選択すると良い – ノートPC(昔のネットブックとか)
– Raspberry Piなどシングルボードコンピュータ
工作の材料 • やりたいものの内容に応じて変化する • ハムスターの餌やり – ダンボール片 – セロハンテープ等 •
エアコンの電源操作 – エアコンのリモコン – ケーブル – アーケードスイッチ等ドライブで押しやすいボタン
工作の材料(続き) • カーテンの開閉 – ヒモ – 重り – 滑車 •
除夜の鐘 – 鐘型の風鈴 – カタログスタンド
Ejectする手段を確保する 方法 外出先から実行できるか SSHでログインして Eject 外に公開するか、VPNがあればで きる Web画面からEject 外に公開するか、VPNがあればで きる。もしくは、VPSなどから間接
的に実行する方法もある TwitterからEject できる
いちおうオープンソース • 「WebからEject」も「TwitterからEject」も、 やり方はソースを公開しています • http://github.com/Akkiesoft/Eject-‐Command-‐ Users-‐Group/ • WebはPHP、TwitterはPythonで実装 •
どうぞご利用ください
そうしてできあがり • 何を作るかはあなた次第 • あったら便利そうなものを思いついたら自分 で作ってみよう(私に言ってもダメ)
まとめ
まとめ • CD-‐ROMドライブでホームオートメーションは できる • 肩肘張らず気軽にやってみよう • 意識の低いIoT – 意識が他界IoT
おわり