LoginSignup
2
2

More than 5 years have passed since last update.

BluemixでIoT 温湿度、気圧を収集・蓄積・可視化+LED制御 その7

Last updated at Posted at 2016-04-11

0.はじめに

前回の続きです。今回はMongoDBにデータを蓄積するところを実施します。

1.必要なもの(今回準備したもの)

項目 数量 メモ

2.参考にさせていただいたところ

3.Node-REDでMongoDB蓄積部分を実装

①Node-REDの左側にあるstorageエリアから下図の赤枠部分にあるmongodbを選択し、右側へドラッグする。
image

②追加したmongodbノードを設定する。
 Serviceに、「mongodb-42」を指定する。
 Collectionに、「SenseData」を入力する。
 Operationに、「save」を指定する。
 Only store msg.payload object?に、チェックを入れる。
 Nameに、「DB蓄積」を入力する。
image

③mongodbノードとセンサ情報取得ノードを接続する。
image

④mongodb検索用ノードを追加する。
 ①で追加したmongodbノードではなく、下図の赤枠のmongodbノードを選択する。
  ※入力用と出力用に分かれています。(ロゴが左に付いているものが入力用、右に付いているものが出力用。)
image

⑤mongodb検索用ノードを設定する。
 Serviceに、「mongodb-42」を指定する。
 Collectionに、「SenseData」を入力する。
 Operationに、「find」を指定する。
 Nameに、「DB検索」を入力する。
image

⑥injectノードを追加する。
mongodb検索ノードを追加しましたが、実行するトリガーがないため、このままでは動作しません。
そのため、トリガーとなるinjectノードを追加する。
左側のinputエリアからinjectノードを選択する。
image

⑦Injectノードを設定する。
 Payloadを、リストから「String」を選択する。
 Nameを、「DB一覧表示」と入力する。
image

⑧debugノードを追加する。
左側のoutputエリアからdebugノードを選択する。
image

⑨InjectノードとDB一覧表示ノードとdebugノードを接続する。
image

⑩右上にあるDeployをクリックし、設定を反映する。

4.mongodbへデータを投入

①前回作成した、mqtt.jsを使用してデータを投入する。

コマンド
pi@raspberrypi ~ $ node mqtt.js

②mongodbに蓄積されているか確認する。
下図の赤枠をクリックする。
image

右側のdebugウィンドウにDB検索結果が表示されていれば、正常に格納されています。
image

5.mongodbのデータ(テーブル)を削除

テストなどで溜まったデータを消したい場合があったので、DB削除用のinjectを作成しました。
①injectノードを追加・設定する。
 Payloadを、リストから「String」を選択する。
 Nameを、「DB削除」と入力する。
image

②DB削除ノードを追加・設定する。
 Serviceに、「mongodb-42」を指定する。
 Collectionに、「SenseData」を入力する。
 Operationに、「remove」を指定する。
 Nameに、「DB削除」を入力する。
image

③injectノードとDB削除ノードを接続し、Deployする。
image

④DB削除用injectを実行する
実行すると、Successfully inject: DB削除 が出力されます。
image

⑤削除されているか確認する。
DB一覧表示injectを実行し、debug画面で中身が空になっていることを確認する。
image

以上でmongodbの動作確認は完了です。

次回(その8)は、Google Gaugeを使って、リアルタイムでの温度・湿度・気圧の可視化を行います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2