2015年8月21日金曜日

websocket

これまでは自宅のNAT内のRaspberryPiのホームコントロールシステムを外からアクセス出来るようにするためにNAT内から外のサーバーに対してTLSでsocketを1本通しておいて、外部サーバーの443portにアクセスしてきたものをclient認証をした後にTLSを逆流させてRaspberryPiのapache2に繋ぐという仕組みを作って運用していました。
これはこれで簡単でいいのですが、apache2をRaspberryPiで運用していたのでどうしても重たくなっていました。
少し世間一般的な解決方法を取り入れようと考えて、色々と最近の流行を調べたりしているのですが、webの世界はフレームワークの標準とかの変化が激しすぎてなかなかついていけません。とりあえず始めないと始まらないので、まずは手始めにサーバーサイドをnode.jsにしてRaspberryPi上のホームコントロールサーバーにwebsocketのプロトコルを話せるような機能を追加してみました。
websocketはwikipediaの説明を読めば大体理解できたので対向のwebsocketサーバーにnode.jsのサンプルプログラムを利用してそのままTLS化して繋いで動作確認をしていきます。
まだ他の部分が安定して動作してないので安定してきたら公開しようかと思います。
最終的にはセンサー、HAコントロール、etcの機能をESP8266を使ったWiFiモジュールで実現し、RaspberryPi2上のホームコントロールサーバーで情報集約してsecure websocketでNAT越しにさくらVPSで借りているサーバー上のnode.jsに接続、そこからiPhone上のWebAppに繋ぐということを実現しようかと考えています。
まだjavascriptを勉強し始めたところなので道のりが長そうですが........

0 件のコメント:

コメントを投稿