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
700
Raspberry Pi Pico 2 移行はアリか? / 20240927-rpi-pico2
akkiesoft
0
78
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
49
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 20240420-osunc2024-kawagoe
akkiesoft
0
230
Misskey OSPNサーバーでFediverseをはじめよう / 20240203-msky-ospn
akkiesoft
1
580
Raspberry PiではじめるKiCad入門 / 20240226-rpi-jam
akkiesoft
1
4.2k
ワンチャンXから離脱してFediverseに飛び込もう / 20240203-homeserver
akkiesoft
0
320
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 202401-rpijam-osc24os
akkiesoft
0
2.9k
ラズピッピ・ファイブ / 20231024-rpi-jam-tokyo
akkiesoft
0
2.2k
Other Decks in How-to & DIY
See All in How-to & DIY
テストも、国際化も! 小中高生クリエータ支援プログラム『未踏ジュニア』を支える技術
yasulab
PRO
1
100
メイカーフェア東京、深セン、台北、サンフランシスコにみるFactory Automationみ/製造業み
takasumasakazu
0
1.1k
「RubyでLチカ」に挑戦してみた
isaka1022
0
160
#スタックチャン「魔改造の夜」に行く
syumme01
1
190
「AITRIOS」でトカゲの活動量を可視化
hoshinoresearch
0
330
わたしと技術コミュニティとキャリア
kotomin_m
2
1.3k
いぬぬウォッチャー - オレトク賞オンライン決勝 #ヒーローズリーグ
n0bisuke2
0
140
Earthquake and Kominka
ramtop
0
160
グローバルAWSユーザー コミュニティとJAWS-UG - JAWS FESTA 2024 in Hiroshima
awsjcpm
0
4.4k
OKRで目標立ててみた
kenyamasuko
0
140
骨折と入院とIoT #iotlt
n0bisuke2
1
260
IoTカーテンオープナー
keicafeblack
0
350
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Cult of Friendly URLs
andyhume
78
6.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
The Pragmatic Product Professional
lauravandoore
32
6.4k
BBQ
matthewcrist
87
9.5k
4 Signs Your Business is Dying
shpigford
182
22k
YesSQL, Process and Tooling at Scale
rocio
172
14k
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
おわり