Node.js+Socket.ioでEjectできるようにしてみる/20160528-osc16ng

 Node.js+Socket.ioでEjectできるようにしてみる/20160528-osc16ng

OSC2016 Nagoyaにて発表

74476e142a767a018d68c5e72e34ee2f?s=128

Akira Ouchi

May 28, 2016
Tweet

Transcript

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

     Nagoya
  2. 自己紹介 • あっきぃ です • 1988年(昭和63年)生まれ/28歳 • 北海道根室市出身(日本最東端の駅の近く) • 渋谷で仮想化エンジニアしてます

    ? • @Akkiesoft – ツイート量多いのでフォロー非推奨 – 気軽にブロックします
  3. EjectZero • Raspberry  Pi  ZeroをCD-­‐ROMドライブに内蔵 • USBポート数の都合上トレイ開閉はGPIO – さよならEjectコマンド……? •

    トレイにRPiを固定しているので、 Ejectすると†  †コア†  †を吐く
  4. EjectZeroの役割 • 現在は「除夜のEject」用ドライブ • 以下の方法で操作可能 – Webアクセスして実行 – 内臓のAPI(接続元IP制限付き)経由で実行

  5. 大晦日:除夜のEject図解 イ ン タ ー ネ ッ ト Port:8000 こくだランド

    ツイのオタク 煩悩 映像・生活音
  6. OSCの展示の時…… • API経由は使いづらい • テザリングはPort8000を開けるとかできない • 対応しているうちに日が暮れる – そもそも家で作りこめ イ

    ン タ ー ネ ッ ト OSC会場 テザリング
  7. OSCの展示デモ改善計画 • 我がブースのみウワッハッハーーン!! 我 がブースのッハアーーーー! 我がブースノ ミナラズ! OSCみんなの、日本中の問題じゃ ないですか!! •

    今まで†手†でドライブのトレイ開閉をしていた デモ環境を! ウグッブーン!! ゴノ! デ の! モガッハッハアン!! ア゛ーーデモ環 境を! ゥ改善シダイ!
  8. OSCの展示デモ改善計画 • EjectZeroは誰でもブラウザからリモート制御 できるようにする • エアコンリモート操作のデモをPiTFTで画面 タッチで制御できるようにする←別途展示中

  9. Node.js+Socket.ioで実装 • ConoHa  VPS上にNode.js+Socket.ioでチャット サーバーを建てる • EjectZeroがチャットサーバーに接続 – botっぽいかんじ •

    ユーザーがConoHa  VPSのチャットサーバーに 接続してEjectを指示 • EjectZeroのトレイが開閉される
  10. うおおおおおおおおおおおおああ あああああああああああああああ あああああああああああああ あ!!!!!!!!!!! (ブリ ブリブリブリュリュリュリュリュリュ!!!! !!ブツチチブブブチチチチブリリイリブブ ブ ブゥゥゥゥッッッ!!!!!!!) こんなかんじ

    Node.js+Websocket.ioサーバー@ConoHa botとして接続 荒ぶるドライブ チャットサーバーからページを提供 ツイのオタクのアタック
  11. アクセスしてみよう • http://d250g2.com:3980 • Optical  drive  statusが ReadyだったらEjectできる • ダメなときはNot

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

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

  14. おわり