Slide 1

Slide 1 text

Node.js+Socket.ioで Ejectできるように してみる Ejectコマンドユーザー会 あっきぃ (  id:Akkiesoft  ) 2016/05/28 OSC2016  Nagoya

Slide 2

Slide 2 text

自己紹介 • あっきぃ です • 1988年(昭和63年)生まれ/28歳 • 北海道根室市出身(日本最東端の駅の近く) • 渋谷で仮想化エンジニアしてます ? • @Akkiesoft – ツイート量多いのでフォロー非推奨 – 気軽にブロックします

Slide 3

Slide 3 text

EjectZero • Raspberry  Pi  ZeroをCD-­‐ROMドライブに内蔵 • USBポート数の都合上トレイ開閉はGPIO – さよならEjectコマンド……? • トレイにRPiを固定しているので、 Ejectすると†  †コア†  †を吐く

Slide 4

Slide 4 text

EjectZeroの役割 • 現在は「除夜のEject」用ドライブ • 以下の方法で操作可能 – Webアクセスして実行 – 内臓のAPI(接続元IP制限付き)経由で実行

Slide 5

Slide 5 text

大晦日:除夜のEject図解 イ ン タ ー ネ ッ ト Port:8000 こくだランド ツイのオタク 煩悩 映像・生活音

Slide 6

Slide 6 text

OSCの展示の時…… • API経由は使いづらい • テザリングはPort8000を開けるとかできない • 対応しているうちに日が暮れる – そもそも家で作りこめ イ ン タ ー ネ ッ ト OSC会場 テザリング

Slide 7

Slide 7 text

OSCの展示デモ改善計画 • 我がブースのみウワッハッハーーン!! 我 がブースのッハアーーーー! 我がブースノ ミナラズ! OSCみんなの、日本中の問題じゃ ないですか!! • 今まで†手†でドライブのトレイ開閉をしていた デモ環境を! ウグッブーン!! ゴノ! デ の! モガッハッハアン!! ア゛ーーデモ環 境を! ゥ改善シダイ!

Slide 8

Slide 8 text

OSCの展示デモ改善計画 • EjectZeroは誰でもブラウザからリモート制御 できるようにする • エアコンリモート操作のデモをPiTFTで画面 タッチで制御できるようにする←別途展示中

Slide 9

Slide 9 text

Node.js+Socket.ioで実装 • ConoHa  VPS上にNode.js+Socket.ioでチャット サーバーを建てる • EjectZeroがチャットサーバーに接続 – botっぽいかんじ • ユーザーがConoHa  VPSのチャットサーバーに 接続してEjectを指示 • EjectZeroのトレイが開閉される

Slide 10

Slide 10 text

うおおおおおおおおおおおおああ あああああああああああああああ あああああああああああああ あ!!!!!!!!!!! (ブリ ブリブリブリュリュリュリュリュリュ!!!! !!ブツチチブブブチチチチブリリイリブブ ブ ブゥゥゥゥッッッ!!!!!!!) こんなかんじ Node.js+Websocket.ioサーバー@ConoHa botとして接続 荒ぶるドライブ チャットサーバーからページを提供 ツイのオタクのアタック

Slide 11

Slide 11 text

アクセスしてみよう • http://d250g2.com:3980 • Optical  drive  statusが ReadyだったらEjectできる • ダメなときはNot  readyに なる

Slide 12

Slide 12 text

公開していない • サンプルコードをいじっただけなのでセキュリ ティ的にかなりマズい、気がする • この辺のノウハウはもっと収集してみたい

Slide 13

Slide 13 text

どこでもEject • 安SIMと組合わせて野外Ejectもできる • Ejectの農業IoT業界進出もあるで(ない)

Slide 14

Slide 14 text

おわり