Internet of Things のモニタリングにも Concurix を使う(V2)
Air Quality センサー・モジュールを追加した V2が出来ました。V1 の製作終了直後に、Air Quality センサーの API サンプルコードがリリースされたので、早速発注しておいたモジュールです。前回のブログ参照にある写真と見比べていただくとお分かりいただけるように右下部に新たに2つのモジュールを付けました。一番、右下にあるユニットがAir Quality センサー・モジュール、その左にボードの半分を占める黒い部品が Air Quality センサーの Vcc のオン・オフを行うリレー・モジュールです。リレー・モジュールは Base Shield のデジタル・ポートに、Air Quality センサー・モジュールは、アナログ・ポートにつなげてあります。
リレー・モジュールを使った理由ですが、TP-4-1A Indoor Air Auality Sensor のデータシートによるとAir Quality センサーの消費電力が 300mW (バックライト・オン時のLCDと同等)なので、10〜30分に一回、Air Qualityを測定するにはリレーを使い、空気の汚れを測定する時間だけ電力供給する方が得策だろうという判断です。ここで使ったリレーのデータシートを見てみるとリレーそのものもかなり電力消費しますから、測定頻度が高い場合は リレーを使わないほうがトータルな電力消費が少なくなることもあります。
写真の LCD をご覧いただくと、温度華氏(F)、輝度ルクス(L)の次に空気汚染度(A)を表示しています。バックライトの色は空気汚染度により、青(fresh air)、緑(normal indoor)、ピンク(warning)、赤(critical)に切り替えています。これら IoT ソフトの変更にかかった時間は一時間程度です。
以下に、更新した Concurix のダッシュボードのスクーンショットを示します。下の三つのグラフは、上から順に、室温 華氏、明るさ ルクス、空気の汚れ、です。単位表示も整理しました。
個々のグラフについて若干、補足しておきます。一番上の Uptime (オレンジ色の線) を見ると、午後6半まで ゼロ で6時半から立ち上がる直線になっています。なぜそうなったかというと、アプリをスタートするとプロセス ID は更新されます。OS は起動したままアプリだけのリスタートを繰り返すと、PID は順に増えていきますが、OS をリブートした場合は、小さい値(この場合は 241 )に戻されます。今回は6時半に OS リスタートして、測定を始めました。偶然、測定開始の数時間前にモニターしていた プロセスIDが同じ 241 だったため時刻が跳んで表示されているという訳です。
一番最後の空気の汚れグラフは午後6時半から始まっています。6時半以前はAir Quality センサーを搭載しておらず、空気汚染度のデータは存在しませんから、最初にデータが出現した午後6時半からデータの表示が始まっているのです。これは、上で見たように、OS リスタートした時刻と一致しています。
最後に、github.com/intel-iot-devkit を見てみると 2015年1月16日現在、Javascript API サンプル・コード数が 35 を超えています。昨年クリスマス前には 10 程度でした。気圧計、128x64 LCD、更に GPS モジュールと面白いものが揃ってきました。