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
Raspberry Pi ZeroをCD-ROMドライブに埋め込む狂気/20160717-yo...
Search
Akira Ouchi
July 17, 2016
How-to & DIY
1
960
Raspberry Pi ZeroをCD-ROMドライブに埋め込む狂気/20160717-yokohama-robot
横浜ロボット勉強会にて発表
Akira Ouchi
July 17, 2016
Tweet
Share
More Decks by Akira Ouchi
See All by Akira Ouchi
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
最近のラズピッピいじり / 20250308-rpijam-13th-birthday
akkiesoft
0
1k
Raspberry Pi 秋の新製品をチェックしてみよう / 20231202-rpi-jam-tokyo
akkiesoft
0
790
Raspberry Pi Pico 2 移行はアリか? / 20240927-rpi-pico2
akkiesoft
0
110
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
67
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 20240420-osunc2024-kawagoe
akkiesoft
0
270
Misskey OSPNサーバーでFediverseをはじめよう / 20240203-msky-ospn
akkiesoft
1
640
Raspberry PiではじめるKiCad入門 / 20240226-rpi-jam
akkiesoft
1
4.4k
ワンチャンXから離脱してFediverseに飛び込もう / 20240203-homeserver
akkiesoft
0
360
Other Decks in How-to & DIY
See All in How-to & DIY
生成AIとミニ四駆で学ぶ! MATLAB/Simulink
covao
1
360
JAWS-UG Community Upadate - JAWS-UG 熊本
awsjcpm
2
150
人はなぜコミュニティとつながると幸せを感じるのか
448jp
3
290
M5Stackを使ってSズキの魔改造モンスターマシンを作ってみた
syumme01
0
170
AWSコミュニティプログラムのご紹介 -グローバル展開するコミュニティプログラム-
awsjcpm
0
170
M5Stickと超小型エッジAIカメラ「AITRIOS」
hoshinoresearch
0
480
How to get hundreds of organic backlinks through statistics link building
ronishehu
1
270
#Stampfly #M5Stack 開発ストーリーと今後の可能性 前説
takasumasakazu
0
120
「無理」を「コントロール」するスキル / Skills to Control "Muri"
hageyahhoo
6
2.2k
「AITRIOS」でトカゲの活動量を可視化
hoshinoresearch
0
380
ミニ四駆ベースのAIカー TatamiRacerの製作
covao
1
190
ミシンと刺繍とOSS
godan
3
110
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Speed Design
sergeychernyshev
32
1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Side Projects
sachag
455
42k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Done Done
chrislema
184
16k
Transcript
Raspberry Pi Zeroを CD-‐ROMドライブに 埋め込む狂気 Ejectコマンドユーザー会 あっきぃ ( id:Akkiesoft )
2016/07/17 横浜ロボット勉強会
自己紹介 • あっきぃ (@Akkiesoft) です • Ejectコマンドユーザー会主宰 • Japanese Raspberry
Pi Users Group – リードの太田さんのお手伝いとか
Japanese Raspberry Pi Users Group • raspi.jpの運営(Raspberry Pi情報の発信) • MLの運営
• イベント – 現在はおもにOSCに展示・セミナー出展 – Raspberry JAM(Raspberry Piユーザーの集まり)を 不定期開催
本日の展示物 ↑今日発表するやつ SuicaとかPASMOとか nanacoとかの IC残高チェッカー Pimoroni製 BLINKT!ボード スイッチサイエンス製 RPi3向けACアダプター(5V3A)
本日の展示物 • タイムラプス用カメラ • PiZero+Pi Camera • 20秒に1度撮影して サーバーにアップ ロード
• 最新の10枚は 8639.tk/cameraで 見られます
金魚タイムラプス(びみょう)
本日のお題 • Raspberry Pi Zeroのサイズを活かして • Raspberry Pi Zeroを活かせているのか わからない謎の工作を作って
• 謎の使い方をするお話です • Raspberry Pi Zero自体の話についても 色々触れていきます
Ejectコマンドユーザー会の ご紹介
Ejectコマンドユーザー会とは • CD-‐ROMドライブのトレイ開閉と • Raspberry Pi等の小型Linuxマシンと • ダンボール等の簡単な工作を組み合わせて • ホームオートメーションを実現する
• IoT系工作を作るユーザーの集いです
ハムスターにエサをあげる • 初めて作った作品 • 外出先からハムスターの餌をあげられる • ドライブを積めば複数日の給餌に対応 • いまはハムスターが いないので未使用
エアコンの電源を操作する • 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だけで喜んでいるのはちょっとやばい
Raspberry Pi Zeroについて
Raspberry Pi Zeroの登場 • 2015年11月26日にリリース • 今までで1番薄くて小さい普通のRaspberry Pi • そして安い($5/4£)
• RPi A+とCompute Moduleを足して2で割った ような見た目・スペック感 + = ?
リリース当日 • すかさずキャッチ
リリースの予兆 • Eben Uptonが奥さん(広報)の様子を伺う (11/26 15:58)
なかなか買えなかったPiZero • イギリスではMagPi40号に付録としてZeroをつ けて販売→瞬殺 – 空港のセキュリティチェックを通過した後の売店 に残っていたよ!(無理ゲー)とか言うレベル • 入荷時期も不定期で瞬殺続き –
たまごっちブームっぽい感じだ!w • Raspberry Pi 3リリースでしばらく入荷なし • Raspberry Pi ファンが怒りはじめる
現在のPiZero • 5月にマイナーアップデート – CSIカメラポートが追加 – 価格は変わらず$5/4£ • 日本は3.33£ •
毎日1000台を製造して需要に応える – 毎週水曜日にPimoroniに入荷 – 最近は売り切れの日数が減ってきている – ポンド安もあるので今が買い • https://shop.pimoroni.com/products/raspberry-‐pi-‐zero
PiZeroの向き・不向き • 向いてる – 小型のカメラ装置 – 狭いところに組み込んで小型システムを作る • 向いてない –
デスクトップ環境 – Raspberry Pi入門機
向かないトコ • デスクトップにするには 色々なアダプタが 必要になる • アダプタを挿した後の PiZeroのなにこれ感 • アダプタを用意するなら
通常モデルを買った方 がはやい
OTGと言う選択肢? • 2016年5月リリースのRaspbianでOTGサポート • OTG対応USBケーブルでPCにつなぐと、PCと 1:1でネットワーク接続できる – PCからインターネット共有すれば外にも出られる • SSHとかVNCでリモート作業OK
• http://www.raspi.jp/ 2016/07/pizero-‐usb-‐otg/
向いてるトコ • カメラとの相性はなかなかよい • 小さいので持ち運びに便利
そして組み込み
EjectZero • Raspberry Pi ZeroをCD-‐ROMドライブに内蔵 • USBポート数の都合上トレイ開閉はGPIO – さよならEjectコマンド……? •
トレイにRPiを固定しているので、 Ejectすると† †コア† †を吐く
EjectZeroのつくりかた
ざっくり • ドライブの中身を撤去 • トレイに穴を開けてPiZeroをネジ固定 • ドライブから5V電源を取ってPiZeroに接続 • GPIOとフォトカプラでドライブのEjectボタンに 接続
• 無線LANを接続 • OSなどの環境構築
ドライブの中身を撤去 • レーザーユニットを外すと170gくらい軽くなっ て、スペースを確保できて、Ejectも変わらず に実行できる
トレイの加工 • 穴を開けてネジで固定する • ネジはM2〜M2.6で短めのものを
電源の確保 • 5Vをドライブから取って、PiZeroのGPIO 5Vと GNDに接続
フォトカプラの用意 • TLP785(GB)と1KΩ抵抗を千石で購入 • 図のようなイメージで配線
固定と配線 • 配線はヘッダピンを使って着脱可能にした
無線LANの接続 • 小型OTGアダプターを使用 • アキバとかでも買えるようだけど多分高い • dx.comがおすすめ – bit.ly/dxcom-‐otg
完成
電源も手軽にしたい • USB給電ケーブルを作成 – 5V: そのままUSBケーブル化 – 12V: 12V昇圧モジュールを使用 •
USB電源があれば ひととおり動く – モバイルバッテリー も、もちろんOK
EjectZeroのソフトの実装
EjectZeroの役割 • 現在は「除夜のEject」用ドライブとして運用 • OSCで展示してます • 操作方法 – PiZero内のWebサーバーにアクセスして操作 –
PiZeroに用意したAPI(接続元IP制限付き)経由で 操作
大晦日:除夜のEject図解 Port:8000 (EjectZero) 自宅 ツイのオタク 煩悩 映像・生活音(Ustream) ConoHaに置いてる特設ページ
API経由はデモしにくい • イベント会場でテザリング接続すると Port8000を開けるとかができない • これの対応はだるいのでやりたくない Port:8000 (EjectZero) イベント会場 ツイのオタク
煩悩 ConoHaのページ
Node.js+Socket.ioで実装 • ConoHa VPS上にサーバーを建てる • EjectZeroがサーバーに接続して botのように待機 • ユーザーがConoHa VPSのサーバーに接続し
てEjectボタンをクリック • サーバーからEject指示が来て、 EjectZeroのトレイが開閉される
こんなかんじ Node.js+Websocket.ioサーバー@ConoHa botとして接続 ボタンが押されたら サーバーから指示が来るので Ejectする サーバーからHTMLページを提供 Ejectボタンを押せる
アクセスしてみよう • http://d250g2.com:3980 • Optical drive statusが ReadyだったらEjectできる • ダメなときはNot
readyに なる
スクリプト公開中 • サンプルコードをいじっただけなのでセキュリ ティ的にはマズい、気がする • https://github.com/Akkiesoft/Eject-‐ Command-‐Users-‐Group/tree/master/ EjectZero
どこでもEject • 安SIMと組合わせて野外Ejectもできそう • Ejectの農業IoT業界進出もあるで(ない)
※通常モデルも入ります • トレイには入らないので、ドライブ内に配置 • 写真はRPi 1 Model A • 配線を簡略化できる
• 見た目がすっきり • カーテンEject用に 使用中
RPi内蔵ドライブはゴールではない • 「Ejectコマンド工作は手段」なので、内蔵ドラ イブを作って終わりではなく、むしろスタート • 実験が済んで常設フェーズに移ったEjectコマ ンド工作をスマートに置くための手段など • 個人的にはイベント展示の準備・片付けが楽 (代わりに説明が大変)
まとめ
まとめ • EjectZeroでスマートなEjectコマンド工作環境 を実現しよう • Ejectコマンド工作で簡単にホームオートメー ションを始めてみよう(?) • Raspberry Pi
Zeroは安価な入門機ではなく、 物理的な小ささをうまく調理できる人向けのア イテムだとおもう
告知 • コミックマーケット90にてEjectコマンド工作の 同人誌「Ejectコマンド工作クックブック」を頒布 • EjectZeroの作り方も掲載! • 1部500円 • >>
3日目(8/14)西g-‐17a <<
おわり