OSC2016 Nagoyaにて発表
Node.js+Socket.ioでEjectできるようにしてみるEjectコマンドユーザー会あっきぃ ( id:Akkiesoft )2016/05/28 OSC2016 Nagoya
View Slide
自己紹介• あっきぃ です• 1988年(昭和63年)生まれ/28歳• 北海道根室市出身(日本最東端の駅の近く)• 渋谷で仮想化エンジニアしてます ?• @Akkiesoft– ツイート量多いのでフォロー非推奨– 気軽にブロックします
EjectZero• Raspberry Pi ZeroをCD-‐ROMドライブに内蔵• USBポート数の都合上トレイ開閉はGPIO– さよならEjectコマンド……?• トレイにRPiを固定しているので、Ejectすると† †コア† †を吐く
EjectZeroの役割• 現在は「除夜のEject」用ドライブ• 以下の方法で操作可能– Webアクセスして実行– 内臓のAPI(接続元IP制限付き)経由で実行
大晦日:除夜のEject図解インターネットPort:8000こくだランドツイのオタク煩悩映像・生活音
OSCの展示の時……• API経由は使いづらい• テザリングはPort8000を開けるとかできない• 対応しているうちに日が暮れる– そもそも家で作りこめインターネットOSC会場テザリング
OSCの展示デモ改善計画• 我がブースのみウワッハッハーーン!! 我がブースのッハアーーーー! 我がブースノミナラズ! OSCみんなの、日本中の問題じゃないですか!!• 今まで†手†でドライブのトレイ開閉をしていたデモ環境を! ウグッブーン!! ゴノ! デの! モガッハッハアン!! ア゛ーーデモ環境を! ゥ改善シダイ!
OSCの展示デモ改善計画• EjectZeroは誰でもブラウザからリモート制御できるようにする• エアコンリモート操作のデモをPiTFTで画面タッチで制御できるようにする←別途展示中
Node.js+Socket.ioで実装• ConoHa VPS上にNode.js+Socket.ioでチャットサーバーを建てる• EjectZeroがチャットサーバーに接続– botっぽいかんじ• ユーザーがConoHa VPSのチャットサーバーに接続してEjectを指示• EjectZeroのトレイが開閉される
うおおおおおおおおおおおおあああああああああああああああああああああああああああああああ!!!!!!!!!!! (ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブ ブゥゥゥゥッッッ!!!!!!!)こんなかんじNode.js+Websocket.ioサーバー@ConoHabotとして接続荒ぶるドライブチャットサーバーからページを提供ツイのオタクのアタック
アクセスしてみよう• http://d250g2.com:3980• Optical drive statusがReadyだったらEjectできる• ダメなときはNot readyになる
公開していない• サンプルコードをいじっただけなのでセキュリティ的にかなりマズい、気がする• この辺のノウハウはもっと収集してみたい
どこでもEject• 安SIMと組合わせて野外Ejectもできる• Ejectの農業IoT業界進出もあるで(ない)
おわり