Node.js+Socket.ioでEjectできるようにしてみる/20160528-osc16ng
by
Akira Ouchi
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
おわり