Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Raspberry Pi Zeroを CD-‐ROMドライブに 埋め込む狂気 Ejectコマンドユーザー会 あっきぃ ( id:Akkiesoft ) 2016/07/17 横浜ロボット勉強会
Slide 2
Slide 2 text
自己紹介 • あっきぃ (@Akkiesoft) です • Ejectコマンドユーザー会主宰 • Japanese Raspberry Pi Users Group – リードの太田さんのお手伝いとか
Slide 3
Slide 3 text
Japanese Raspberry Pi Users Group • raspi.jpの運営(Raspberry Pi情報の発信) • MLの運営 • イベント – 現在はおもにOSCに展示・セミナー出展 – Raspberry JAM(Raspberry Piユーザーの集まり)を 不定期開催
Slide 4
Slide 4 text
本日の展示物 ↑今日発表するやつ SuicaとかPASMOとか nanacoとかの IC残高チェッカー Pimoroni製 BLINKT!ボード スイッチサイエンス製 RPi3向けACアダプター(5V3A)
Slide 5
Slide 5 text
本日の展示物 • タイムラプス用カメラ • PiZero+Pi Camera • 20秒に1度撮影して サーバーにアップ ロード • 最新の10枚は 8639.tk/cameraで 見られます
Slide 6
Slide 6 text
金魚タイムラプス(びみょう)
Slide 7
Slide 7 text
本日のお題 • Raspberry Pi Zeroのサイズを活かして • Raspberry Pi Zeroを活かせているのか わからない謎の工作を作って • 謎の使い方をするお話です • Raspberry Pi Zero自体の話についても 色々触れていきます
Slide 8
Slide 8 text
Ejectコマンドユーザー会の ご紹介
Slide 9
Slide 9 text
Ejectコマンドユーザー会とは • CD-‐ROMドライブのトレイ開閉と • Raspberry Pi等の小型Linuxマシンと • ダンボール等の簡単な工作を組み合わせて • ホームオートメーションを実現する • IoT系工作を作るユーザーの集いです
Slide 10
Slide 10 text
ハムスターにエサをあげる • 初めて作った作品 • 外出先からハムスターの餌をあげられる • ドライブを積めば複数日の給餌に対応 • いまはハムスターが いないので未使用
Slide 11
Slide 11 text
エアコンの電源を操作する • 2010年ごろ開発 • トレイでボタンを直接押す→リモコンから電源 回路をハックして外付けボタンをトレイで押す →Raspberry Piで、 予めハックしたリモコン を操作するように進化
Slide 12
Slide 12 text
AC電源リモート操作 • AC電源をEjectでON/OFFする • ホームセンターで買える スイッチと電線で作れる • プログラムタイマーとしても 使える
Slide 13
Slide 13 text
除夜の鐘 • 通称「除夜のEject」 • 毎年12月31日にUSTREAMで中継 • だれでもEjectで鐘をつくことができる • Eject結果はUSTで 確認
Slide 14
Slide 14 text
Ejectカーテン • 朝になったらカーテンを開く装置 • カーテンにヒモを通し、おもりを落 とすとカーテンが開く装置を開発 • おもりを落とすのがCD-‐ROM ドライブ • このためだけに RasPiを1台消費
Slide 15
Slide 15 text
CD-‐ROMドライブを使う意義 • Ejectコマンド工作の大半は電子工作で解決 • 電子工作を勉強したら楽しいはず • しかし、電子工作に抵抗がある人はいる • 電子工作ができない人は諦めなければいけ ないか?→NO • CD-‐ROMドライブを使って工作したら少しカン タンにできないだろうか?
Slide 16
Slide 16 text
Ejectコマンド工作のメリット • カンタン(電子工作ができなくても大丈夫) • 手軽(物品調達は難しくなく、比較的安価) • わりと安全(ハンダ付けとかほとんど無い) • Linuxの知識が身につく(かも知れない) – atd, cron, udevなど、ふだんあまりさわる機会がな い部分も色々触れる
Slide 17
Slide 17 text
Ejectコマンド工作のデメリット • 工作の実行成功率にムラがある – 正直、工作による • 場所を取る • サーバー構築の知識はある程度必要 • Ejectコマンド工作は万能ではない – 可能性は無限大とは言いつつ、できることは実は あまりない – 出来る範囲のことをやろう
Slide 18
Slide 18 text
Ejectである必要はない • 自分で実現可能な方法で自由に実装しよう • 電子工作ができる人はそれでやれば良い – 私のエアコンリモートはRasPiに移行した • 市販品が良いならそれを使えば良い – 普通の人が注目するソリューションなので、 ブログに書くとブクマとかアクセス数とか稼げる • Ejectで良いと思ったらそうすれば良い – すぐできるし工作する時間は楽しいしネタになる
Slide 19
Slide 19 text
Ejectコマンド工作は手段 • 当時飼っていたハムスターの世話をOSCで遠 征していてもできるようにしたいという課題解 決の必要に迫られて作った – 数週間くらいしかなくて悩んでいた – OSCなどのイベントのネタにしたかった、というの も…あるよ( ;`ω´) • 単にEjectをしたくて作ったわけではない – Ejectだけで喜んでいるのはちょっとやばい
Slide 20
Slide 20 text
Raspberry Pi Zeroについて
Slide 21
Slide 21 text
Raspberry Pi Zeroの登場 • 2015年11月26日にリリース • 今までで1番薄くて小さい普通のRaspberry Pi • そして安い($5/4£) • RPi A+とCompute Moduleを足して2で割った ような見た目・スペック感 + = ?
Slide 22
Slide 22 text
リリース当日 • すかさずキャッチ
Slide 23
Slide 23 text
リリースの予兆 • Eben Uptonが奥さん(広報)の様子を伺う (11/26 15:58)
Slide 24
Slide 24 text
なかなか買えなかったPiZero • イギリスではMagPi40号に付録としてZeroをつ けて販売→瞬殺 – 空港のセキュリティチェックを通過した後の売店 に残っていたよ!(無理ゲー)とか言うレベル • 入荷時期も不定期で瞬殺続き – たまごっちブームっぽい感じだ!w • Raspberry Pi 3リリースでしばらく入荷なし • Raspberry Pi ファンが怒りはじめる
Slide 25
Slide 25 text
現在のPiZero • 5月にマイナーアップデート – CSIカメラポートが追加 – 価格は変わらず$5/4£ • 日本は3.33£ • 毎日1000台を製造して需要に応える – 毎週水曜日にPimoroniに入荷 – 最近は売り切れの日数が減ってきている – ポンド安もあるので今が買い • https://shop.pimoroni.com/products/raspberry-‐pi-‐zero
Slide 26
Slide 26 text
PiZeroの向き・不向き • 向いてる – 小型のカメラ装置 – 狭いところに組み込んで小型システムを作る • 向いてない – デスクトップ環境 – Raspberry Pi入門機
Slide 27
Slide 27 text
向かないトコ • デスクトップにするには 色々なアダプタが 必要になる • アダプタを挿した後の PiZeroのなにこれ感 • アダプタを用意するなら 通常モデルを買った方 がはやい
Slide 28
Slide 28 text
OTGと言う選択肢? • 2016年5月リリースのRaspbianでOTGサポート • OTG対応USBケーブルでPCにつなぐと、PCと 1:1でネットワーク接続できる – PCからインターネット共有すれば外にも出られる • SSHとかVNCでリモート作業OK • http://www.raspi.jp/ 2016/07/pizero-‐usb-‐otg/
Slide 29
Slide 29 text
向いてるトコ • カメラとの相性はなかなかよい • 小さいので持ち運びに便利
Slide 30
Slide 30 text
そして組み込み
Slide 31
Slide 31 text
EjectZero • Raspberry Pi ZeroをCD-‐ROMドライブに内蔵 • USBポート数の都合上トレイ開閉はGPIO – さよならEjectコマンド……? • トレイにRPiを固定しているので、 Ejectすると† †コア† †を吐く
Slide 32
Slide 32 text
EjectZeroのつくりかた
Slide 33
Slide 33 text
ざっくり • ドライブの中身を撤去 • トレイに穴を開けてPiZeroをネジ固定 • ドライブから5V電源を取ってPiZeroに接続 • GPIOとフォトカプラでドライブのEjectボタンに 接続 • 無線LANを接続 • OSなどの環境構築
Slide 34
Slide 34 text
ドライブの中身を撤去 • レーザーユニットを外すと170gくらい軽くなっ て、スペースを確保できて、Ejectも変わらず に実行できる
Slide 35
Slide 35 text
トレイの加工 • 穴を開けてネジで固定する • ネジはM2〜M2.6で短めのものを
Slide 36
Slide 36 text
電源の確保 • 5Vをドライブから取って、PiZeroのGPIO 5Vと GNDに接続
Slide 37
Slide 37 text
フォトカプラの用意 • TLP785(GB)と1KΩ抵抗を千石で購入 • 図のようなイメージで配線
Slide 38
Slide 38 text
固定と配線 • 配線はヘッダピンを使って着脱可能にした
Slide 39
Slide 39 text
無線LANの接続 • 小型OTGアダプターを使用 • アキバとかでも買えるようだけど多分高い • dx.comがおすすめ – bit.ly/dxcom-‐otg
Slide 40
Slide 40 text
完成
Slide 41
Slide 41 text
電源も手軽にしたい • USB給電ケーブルを作成 – 5V: そのままUSBケーブル化 – 12V: 12V昇圧モジュールを使用 • USB電源があれば ひととおり動く – モバイルバッテリー も、もちろんOK
Slide 42
Slide 42 text
EjectZeroのソフトの実装
Slide 43
Slide 43 text
EjectZeroの役割 • 現在は「除夜のEject」用ドライブとして運用 • OSCで展示してます • 操作方法 – PiZero内のWebサーバーにアクセスして操作 – PiZeroに用意したAPI(接続元IP制限付き)経由で 操作
Slide 44
Slide 44 text
大晦日:除夜のEject図解 Port:8000 (EjectZero) 自宅 ツイのオタク 煩悩 映像・生活音(Ustream) ConoHaに置いてる特設ページ
Slide 45
Slide 45 text
API経由はデモしにくい • イベント会場でテザリング接続すると Port8000を開けるとかができない • これの対応はだるいのでやりたくない Port:8000 (EjectZero) イベント会場 ツイのオタク 煩悩 ConoHaのページ
Slide 46
Slide 46 text
Node.js+Socket.ioで実装 • ConoHa VPS上にサーバーを建てる • EjectZeroがサーバーに接続して botのように待機 • ユーザーがConoHa VPSのサーバーに接続し てEjectボタンをクリック • サーバーからEject指示が来て、 EjectZeroのトレイが開閉される
Slide 47
Slide 47 text
こんなかんじ Node.js+Websocket.ioサーバー@ConoHa botとして接続 ボタンが押されたら サーバーから指示が来るので Ejectする サーバーからHTMLページを提供 Ejectボタンを押せる
Slide 48
Slide 48 text
アクセスしてみよう • http://d250g2.com:3980 • Optical drive statusが ReadyだったらEjectできる • ダメなときはNot readyに なる
Slide 49
Slide 49 text
スクリプト公開中 • サンプルコードをいじっただけなのでセキュリ ティ的にはマズい、気がする • https://github.com/Akkiesoft/Eject-‐ Command-‐Users-‐Group/tree/master/ EjectZero
Slide 50
Slide 50 text
どこでもEject • 安SIMと組合わせて野外Ejectもできそう • Ejectの農業IoT業界進出もあるで(ない)
Slide 51
Slide 51 text
※通常モデルも入ります • トレイには入らないので、ドライブ内に配置 • 写真はRPi 1 Model A • 配線を簡略化できる • 見た目がすっきり • カーテンEject用に 使用中
Slide 52
Slide 52 text
RPi内蔵ドライブはゴールではない • 「Ejectコマンド工作は手段」なので、内蔵ドラ イブを作って終わりではなく、むしろスタート • 実験が済んで常設フェーズに移ったEjectコマ ンド工作をスマートに置くための手段など • 個人的にはイベント展示の準備・片付けが楽 (代わりに説明が大変)
Slide 53
Slide 53 text
まとめ
Slide 54
Slide 54 text
まとめ • EjectZeroでスマートなEjectコマンド工作環境 を実現しよう • Ejectコマンド工作で簡単にホームオートメー ションを始めてみよう(?) • Raspberry Pi Zeroは安価な入門機ではなく、 物理的な小ささをうまく調理できる人向けのア イテムだとおもう
Slide 55
Slide 55 text
告知 • コミックマーケット90にてEjectコマンド工作の 同人誌「Ejectコマンド工作クックブック」を頒布 • EjectZeroの作り方も掲載! • 1部500円 • >> 3日目(8/14)西g-‐17a <<
Slide 56
Slide 56 text
おわり