$30 off During Our Annual Pro Sale. View Details »

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

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

OSC2016 Nagoyaにて発表

Akira Ouchi

May 28, 2016
Tweet

More Decks by Akira Ouchi

Other Decks in How-to & DIY

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. 大晦日:除夜のEject図解







    Port:8000
    こくだランド
    ツイのオタク
    煩悩
    映像・生活音

    View Slide

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







    OSC会場
    テザリング

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  14. おわり

    View Slide