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
900
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
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
18
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 20240420-osunc2024-kawagoe
akkiesoft
0
180
Misskey OSPNサーバーでFediverseをはじめよう / 20240203-msky-ospn
akkiesoft
1
510
Raspberry PiではじめるKiCad入門 / 20240226-rpi-jam
akkiesoft
1
3.3k
ワンチャンXから離脱してFediverseに飛び込もう / 20240203-homeserver
akkiesoft
0
260
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 202401-rpijam-osc24os
akkiesoft
0
2.5k
ラズピッピ・ファイブ / 20231024-rpi-jam-tokyo
akkiesoft
0
2k
今年のラズパイなんかあった? / 20230830-rpijamtokyo
akkiesoft
0
1.2k
でも…Raspberry Piって買えないんでしょう? / 20230725-ml-almalinux-rpi
akkiesoft
0
260
Other Decks in How-to & DIY
See All in How-to & DIY
中指立てたか判定IoT #iotlt #p5js
n0bisuke2
0
200
ServiceNow Knowledgeの歩き方
manarobot
0
280
カフェでノートPCが盗難されたかどうかを検知するIoT #linedc #iotlt #obniz #protoout
n0bisuke2
1
250
400人誰もやらんので私がやってみました社内でChatGPT LINE Bot
okinakagaikotu
0
250
音に負けない!子どもが騒いでいる脇でも快適オンラインMTGの秘伝
kaitou
0
280
#スタックチャン「魔改造の夜」に行く
syumme01
1
140
ついにiPaaSでobnizが動くかも?! #iotlt #pipedream #obniz
n0bisuke2
0
300
Notionでの快適メモ術
ayumu11
0
930
GPT-4oに遅刻理由を考えてもらうボタン #gpt_4o #iotlt #chatgpt
n0bisuke2
0
200
まだまだダンボールスタックチャンv2
syumme01
0
2.1k
コロナ後の世界メイカーフェア事情 高須正和@Nico-Tech Shenzhen #KMMF2024 #KariyaMMF2024
takasumasakazu
0
230
教習資料PDF_4. 交差点編(優先・非優先)
sawagaku
0
25k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
105
48k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Art, The Web, and Tiny UX
lynnandtonic
295
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Clear Off the Table
cherdarchuk
91
320k
Thoughts on Productivity
jonyablonski
67
4.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
279
13k
Making Projects Easy
brettharned
114
5.8k
Adopting Sorbet at Scale
ufuk
73
8.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
Fireside Chat
paigeccino
32
2.9k
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 <<
おわり