おーぷんここんセルフcdライター

23
おーぷんここん セルフCDライター SHIMADA Hirofumi, @shimadah

Upload: shimadah

Post on 12-Apr-2017

141 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

おーぷんここんセルフCDライター

SHIMADA Hirofumi,@shimadah

OSC展示配布時の課題

● opencocon をバージョンアップすると、CDを焼きためてもすぐに古くなってしまう

● これまで来場予測(勘)を基にCDを焼いていたため、ロスや在庫不足がよく出てしまっていた– CD-Rディスクは寄贈品なので、できればロスは出したく

ない

● 事前に焼くのが面倒:できれば直前まで改良したい

ではどうすれば?

● オンデマンドでCD焼けるようにすればいいのでは● 高速に焼いて、すぐ提供できるようにしたい

– できれば 3 分以内

● 複数のISOイメージから選べるようにしたい● ブースに誰もいなくても焼けるようにしたい:来場者

自らでオンデマンド焼きを可能にしたい

ということで、いろいろ用意

● 古い外付けCDドライブのケース– 5 inchドライブが入るもの

– 丁度EJECT専用になってしまっていたものがあった

● 新しいDVDドライブ– これも 5 inch : スリムドライブよりも焼くのが高速

● USB-SATA変換ケーブル : 2.0でよい

● テンキーボード : ISOイメージ選択用

● PC

こういうDVDドライブ

ドライブと基盤を取っ払ったところ

新しいDVDドライブを入れる

ん? この隙間は

アレ埋め込めるんとちゃうの

路線変更:RasPiでCD焼き

● 手元に Rpi2 と Adafruit PiTFT があった– 頂き物であるが、まだ新しめのマシンで用途がなかった

● Raspbian に wodim をインストールし、試しに CDを48倍焼き → うまく焼ける– FIFOバッファも安定している

– メモリもあまり食わない– マルチコアなので他のプロセスに吊られにくいはず– USB 2.0 の転送帯域がしっかりしていれば問題ないと判断。

● Rpi2 と PiTFT を CDドライブの後ろに埋め込む– そのために穴を開ける

ケースのABS樹脂を一部カット

ケーブルとRpi2を詰めて完成

ここまでの課題

● Rpi2をちゃんと固定していないため、不意におかしくなることがあるかもしれない– 一応ダンボールで絶縁と、SDカードの抜け防止加工

● PiTFTが衝撃で壊れやすい(らしい)ため、運搬時にそれなりのシールドが要る

● ケーブルが結構邪魔でスペースをとっている● PiTFTはタッチパネル付きだが、XとY軸が逆になっ

てしまっている。原因はまだ不明。

次はソフトウェア

● GUIとかめんどいので、シェルスクリプトで書きたい

● 基本的にはテンキーのキー1回押しだけでドライブがEJECTし、ディスクが挿入され次第焼き始めるようにする

● ここにアップしました : opencocon kiosk disk writer https://github.com/dejiko/cocon-writer

こんな感じ

操作方法

① 希望するイメージの番号をテンキーで押す

② EJECTされるので、CD-Rを入れる

③ 数分待つと焼き上がってEJECTされる

④ 備え付けのペンでラベル面に落書きをする

⑤ 袋に入れて持ち帰る

CUIでCDを焼くときの勘所(2)

● CDドライブをEJECTして、CDを入れてトレイを占めるのを検知するには? → このコマンドで取得できる

$ sg_get_config $CDDRV 2>&1 | grep "Current profile:"

● Current Profile に何もかいてなければ未挿入。CD-R とか書いてあれば挿入済– 本当は焼けるディスクかも判定する必要がある

課題

● 焼くとき、だいぶうるさくなる– 48倍なので当たり前といえば当たり前やけど...

– OSCは賑やかなのでそんなに気にならない気もする

● 電源が追いつくか不安– 100V いかないブース下での稼働がうまくいくか

そして汎用CDライターへ

● これは ?.imagedef というファイルで焼けるイメージをいくらでも定義することができる

● ここん以外のLinuxディストリを焼きたいという要望をどうするか– いくつか用意してもいいとは思ってる– しかし、ここんで配布するんだから、ここんの宣伝も伴っ

ていたい。→ 他ディストリでも、ここんラベルのCDに焼くことでおおむね解決

で、こうなった

本日のラインナップ

そして、先ほどの発表にあったアレは

● [ 9 ] 番でCDに焼けます!

感想

● 適当にやったつもりが、割と実用的なCD配布ソリューションができてしまった– またつまらぬシェル芸をしてしまった

● OSS界隈では、CDドライブはEJECTだけをするものだと思われていたことが判った

● TAKERUっぽいねと言われた

● opencocon自体の開発は、これのせいで若干遅れてしまい、新バージョンが間に合わなかった– 自動化した意味ないやん