Maker Faire Tokyo 2015で展示している、mbedを使ったIoTのデモの技術的な詳細を紹介します。
http://ssci-heatmap-web.mybluemix.netにアクセスすると、会場の温度を見ることができます。Maker Faire Tokyo 2015は終了しましたので、会場の温度を見ることはできません。近々、スイッチサイエンスのオフィス内の温度を見ることができるように致します。
温度や湿度を収拾するセンサには、EnOceanという電池不要の無線センサ(STM 431J)を使いました。このセンサには太陽電池が付いていて、温度と湿度を30秒に一度、928MHzの無線でデータを送ってきます。この無線通信をmbed LPC1768に接続したXOcean TCM410J(PDF)で受信し、mbedから、MQTTというプロトコルでIBMのBluemixに会場のインターネット接続を使って送信しています。このmbedのアプリケーションは、1〜2時間くらいで簡単に開発ができました。
今回のデモでは、設営の都合で省いてしまいましたが、Wi-SUN(ワイサン)という規格で、EnOceanで受け取ったデータの中継も試してみました。Wi-SUNには、RohmのBP35A1というモジュールを使用しています。このモジュールとピッチ変換基板は近々スイッチサイエンスで取扱をはじめる予定です。
MQTTでデータを受け取ったBluemixの処理は、Node-REDで開発しました。
Node-REDは、このようにブロックを接続して処理内容を記載することができます。上の一連のブロックでは、受け取ったデータにタイムスタンプを付け、同じくBluemix上にあるMongoDBに記録をしています。下のブロックは、HTTPでBluemixにアクセスされたときにMongoDBに記録されている情報を、JSONで返します。
温度を表示するウェブサイトもBluemixでホスティングされていて、このページのJavaScriptで、上記のJSONを読み込んで地図に載せて温度を表示しています。
Bluemixは出来ることが多いので、初めて触ることもあり、開発に手間取りましたが、一通りの流れを実装するのに4〜5時間を要すくらいの手軽さでした。地図に表示するJavaScriptは、社内のウェブエンジニアにお願いしました。D3.jsというライブラリを使っています。