WebSocketでmbedからFx0に情報を渡してみた

Firefox OS

今週末はいよいよFirefox OS WoTハッカソンです。

mbedはこれまでいろいろ使っていて慣れているのですが、mbedからスマホへのリアルタイム通信は経験がありません。少しは勉強しておかなければとWebsocketについて試してみました。

Websocketのサーバはmbedでも提供されているのですが、今回はNode.jsを自分のVPSにインストールしてWebSocketサーバーをたちあげました。

mbedのデベロッパーサイトにWebsocketのサンプルプログラムがあるので楽勝と考えていたのですが、私の環境だと、このサンプルプログラムではNode.jsと通信できたり、できなかったりで非常に不安定でした。コンパイル後のメモリをみてみるとRAMが120%ぐらいになっていて、mbed-rtosを使うとメモリが厳しいのかもしれません。いろいろ探していたらSuga koubouさんのテストプログラムだとNode.jsのサーバに安定して接続できることが確認できました。

これで以下のような環境ができました。

websocket_mbed_fx0.png

mbedアプリケーションボードに実装されている加速度センサーと温度センサーの情報を読み出し、WebSocketでNode.jsのサーバーからブロードキャストして、Fx0に通知し、Fx0のHTML5アプリケーションで表示するものを作りました。

WebSocketとかCANVASとかは初めてでしたが、あちこちのプログラム例を参考にしてなんとか形にできました。

この仕組みをハッカソンで使うかどうかはわかりませんが、良い経験ができたと思います。

コメント

タイトルとURLをコピーしました