Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

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

498 vues

Publié le

外付けCDケースとRpi2でセルフCDライターを作ってみたという話
OSC東京 2017春 東海道らぐLT大会にて発表

Publié dans : Périphériques & matériel
  • Login to see the comments

  • Soyez le premier à aimer ceci

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

  1. 1. おーぷんここん セルフCDライター SHIMADA Hirofumi, @shimadah
  2. 2. OSC展示配布時の課題 ● opencocon をバージョンアップすると、CDを焼きた めてもすぐに古くなってしまう ● これまで来場予測(勘)を基にCDを焼いていたた め、ロスや在庫不足がよく出てしまっていた – CD-Rディスクは寄贈品なので、できればロスは出したく ない ● 事前に焼くのが面倒:できれば直前まで改良したい
  3. 3. ではどうすれば? ● オンデマンドでCD焼けるようにすればいいのでは ● 高速に焼いて、すぐ提供できるようにしたい – できれば 3 分以内 ● 複数のISOイメージから選べるようにしたい ● ブースに誰もいなくても焼けるようにしたい:来場者 自らでオンデマンド焼きを可能にしたい
  4. 4. ということで、いろいろ用意 ● 古い外付けCDドライブのケース – 5 inchドライブが入るもの – 丁度EJECT専用になってしまっていたものがあった ● 新しいDVDドライブ – これも 5 inch : スリムドライブよりも焼くのが高速 ● USB-SATA変換ケーブル : 2.0でよい ● テンキーボード : ISOイメージ選択用 ● PC
  5. 5. こういうDVDドライブ
  6. 6. ドライブと基盤を取っ払ったところ
  7. 7. 新しいDVDドライブを入れる
  8. 8. ん? この隙間は
  9. 9. アレ埋め込めるんとちゃうの
  10. 10. 路線変更:RasPiでCD焼き ● 手元に Rpi2 と Adafruit PiTFT があった – 頂き物であるが、まだ新しめのマシンで用途がなかった ● Raspbian に wodim をインストールし、試しに CDを48倍焼き → うまく焼ける – FIFOバッファも安定している – メモリもあまり食わない – マルチコアなので他のプロセスに吊られにくいはず – USB 2.0 の転送帯域がしっかりしていれば問題ないと判断。 ● Rpi2 と PiTFT を CDドライブの後ろに埋め込む – そのために穴を開ける
  11. 11. ケースのABS樹脂を一部カット
  12. 12. ケーブルとRpi2を詰めて完成
  13. 13. ここまでの課題 ● Rpi2をちゃんと固定していないため、不意におかし くなることがあるかもしれない – 一応ダンボールで絶縁と、SDカードの抜け防止加工 ● PiTFTが衝撃で壊れやすい(らしい)ため、運搬時に それなりのシールドが要る ● ケーブルが結構邪魔でスペースをとっている ● PiTFTはタッチパネル付きだが、XとY軸が逆になっ てしまっている。原因はまだ不明。
  14. 14. 次はソフトウェア ● GUIとかめんどいので、シェルスクリプトで書きたい ● 基本的にはテンキーのキー1回押しだけでドライブ がEJECTし、ディスクが挿入され次第焼き始めるよ うにする ● ここにアップしました : opencocon kiosk disk writer https://github.com/dejiko/cocon-writer
  15. 15. こんな感じ
  16. 16. 操作方法 ① 希望するイメージの番号をテンキーで押す ② EJECTされるので、CD-Rを入れる ③ 数分待つと焼き上がってEJECTされる ④ 備え付けのペンでラベル面に落書きをする ⑤ 袋に入れて持ち帰る
  17. 17. CUIでCDを焼くときの勘所(2) ● CDドライブをEJECTして、CDを入れてトレイを占め るのを検知するには? → このコマンドで取得できる $ sg_get_config $CDDRV 2>&1 | grep "Current profile:" ● Current Profile に何もかいてなければ未挿 入。CD-R とか書いてあれば挿入済 – 本当は焼けるディスクかも判定する必要がある
  18. 18. 課題 ● 焼くとき、だいぶうるさくなる – 48倍なので当たり前といえば当たり前やけど... – OSCは賑やかなのでそんなに気にならない気もする ● 電源が追いつくか不安 – 100V いかないブース下での稼働がうまくいくか
  19. 19. そして汎用CDライターへ ● これは ?.imagedef というファイルで焼けるイメージ をいくらでも定義することができる ● ここん以外のLinuxディストリを焼きたいという要望 をどうするか – いくつか用意してもいいとは思ってる – しかし、ここんで配布するんだから、ここんの宣伝も伴っ ていたい。 → 他ディストリでも、ここんラベルのCDに焼くことでおお むね解決
  20. 20. で、こうなった
  21. 21. 本日のラインナップ
  22. 22. そして、先ほどの発表にあったアレは ● [ 9 ] 番でCDに焼けます!
  23. 23. 感想 ● 適当にやったつもりが、割と実用的なCD配布ソリュー ションができてしまった – またつまらぬシェル芸をしてしまった ● OSS界隈では、CDドライブはEJECTだけをするもの だと思われていたことが判った ● TAKERUっぽいねと言われた ● opencocon自体の開発は、これのせいで若干遅れて しまい、新バージョンが間に合わなかった – 自動化した意味ないやん

×