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
2.1k
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 秋の新製品をチェックしてみよう / 20231202-rpi-jam-tokyo
akkiesoft
0
650
Raspberry Pi Pico 2 移行はアリか? / 20240927-rpi-pico2
akkiesoft
0
71
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
42
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 20240420-osunc2024-kawagoe
akkiesoft
0
220
Misskey OSPNサーバーでFediverseをはじめよう / 20240203-msky-ospn
akkiesoft
1
570
Raspberry PiではじめるKiCad入門 / 20240226-rpi-jam
akkiesoft
1
4.1k
ワンチャンXから離脱してFediverseに飛び込もう / 20240203-homeserver
akkiesoft
0
310
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 202401-rpijam-osc24os
akkiesoft
0
2.8k
ラズピッピ・ファイブ / 20231024-rpi-jam-tokyo
akkiesoft
0
2.1k
Other Decks in How-to & DIY
See All in How-to & DIY
ライトニングトーク: JAWS-UGが凄いぞ、という小ネタ
awsjcpm
0
140
LT(Lightning Talk)のドキドキ感を共有する IoT ぼっとキーホルダ!
scbc1167
0
290
お家で育てる制御実験環境
zilmina
0
920
音に負けない!子どもが騒いでいる脇でも快適オンラインMTGの秘伝
kaitou
0
330
一番やさしいDJ入門 2024
stefafafan
6
1.9k
工作教室 ロボットハンドを作ろう
keicafeblack
0
150
安全に失敗するための手遊び-未定義動作を引き出そう-
zilmina
0
520
What I Talk About When I Talk About Social Media
idealhack
0
140
miiboとamiibo繋げてみた。 #miibo #amiibo #iotlt
n0bisuke2
1
300
JAWS-UGから学んだコミュニティの成功要因 (Success Factors)
awsjcpm
4
380
JAWS Days 2024 Keynote by Jeff Barr
awsjcpm
0
160
Notionでの快適メモ術
ayumu11
0
1.1k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
89
5.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Building Your Own Lightsaber
phodgson
104
6.2k
Raft: Consensus for Rubyists
vanstee
137
6.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
3k
For a Future-Friendly Web
brad_frost
176
9.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
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
おわり