What's JINS MEME
一言でいうと、外ではなく内を見ることのできるメガネです。詳細については以前まとめたものがありますので、そちらをご参考ください。
http://qiita.com/mito_log/items/020a87996ed2b9d793e6
Background
前々回はPOSTで出力。前回はtcpソケット通信で出力。ときて、ここまできたらsocket.ioでも出力してしまおうということで、今回はsocket.ioでJINS MEMEのデータを出力してやります。これで大抵の外部連携はできるのではないでしょうか。外堀埋めまくりです。
What to cover
今回は2部構成の1部目の記事、という体裁にしています。各部の内容は以下:
- ローカルに立ち上げたsocket.ioサーバを介してデータをリアルタイムにmac PCに出力する (← 本記事)
- mac側では受け取ったデータを使って、PCを離れると自動的に画面ロックがかかる
Network Diagram
Screenshots
Github
https://github.com/mitolog/JINSMEMESampler
今回のサンプル部分はこちら
How to use
- app.jsのあるフォルダで 必要に応じて
npm install socket.io
- ios app, mac appを両方立ち上げてホストを指定してつなげる
※ 注意点
- 毎秒約20サンプルデータがはいってくるので、できるだけネット環境のいい場所がいいです
- disconnectボタンを押しても実際にサーバ側でdisconnectが呼ばれるまで少しラグが発生します
Recap
ちょっとしたことなのですが、RxSwiftでメソッドチェーン作っていくと、クロージャで [unowned self]
をよく入れる機会があるのですが、毎回書くのを忘れてしまいそうになってヒヤヒヤします。予めRxSwift側のauto completeの一部として登録したいです。
Next...
今回のサンプルで、webを介した通信も(概ね)対応することができました。次回はJINS MEMEの記事として6つめでついに(!)アプリらしきものを作りますよ。既にネタバレしていますが、
- mac側では受け取ったデータを使って、PCを離れると自動的に画面ロックがかかる
を作ってみます。だいぶ JINS MEME Advent Calendar 15日目の記事に近い気もしますが、コンプライアンス的にはいんじゃないでしょうか。できるかわかんないですが、とりあえずやってみます!(※ というかMQTTなんかよさ気ですね。ちょっと調べてみよ)