はじめに
現在、事務所内にCO2濃度を測定するセンサを取付けたM5Stick-C PlusとMQTTのブローカーとしてRaspberry Piを設置しています。
M5Stick-C側から約1分間隔で測定したCO2濃度の値をMQTTでRaspberry Piにパブリッシュし、Raspberry Piでサブスクライブしています。
サブスクライブはPythonのコードで実行し、テキスト・ファイルとして保存しています。
また、RaspberryPi起動時に自動でGUIを起動するスクリプトに、シェルを開き、Pythonのコードを実行するシェルスクリプトを追加し、自動で実行させています。
Node-Redでサブスクライブ
Pythonでパブリッシュされたデータの保存はできました。
その一方で、可視化の部分が出来ていません。
そこでNode-Redを使って、可視化の部分について試してみました。
いろいろな情報を組合わせ、以下のフローを組みました。
フローの詳細については、インターネットで公開されているので、説明は省略します。
Raspberry Pi 起動時の設定として、Node-Redの設定が必要になりますが、Raspberry Pi起動時に、このフローが自動で起動するようにしています。
また、フローを作成していて判ったのですが、Pythonで1日ほどかけてコードを隼吾しましたが、Node-Redだと同じ機能が1時間ほどで出来てしまう。
生産性の高さに驚きました。
Node-Redではサブスクライブしたデータの可視化がテーマだったのですが、同時にデータ保存もテキスト・ファイルに保存できたことは予想外でした。
Raspberry Pi のボードがあればよく、サブスクライブ側の可視化とデータ保存機能はノートPCなどを使い、Node-Redで開発した方が生産性は高いように思われます。
Node-Redで可視化した結果
作成したフローをデプロイし、実行した結果です。
こちらは、デプロイしてから15時間近く経過した結果になります。
エアコンを動かすと、CO2濃度が400 ppmになります。
エアコンを切るとCO2濃度が上昇します。
センサーの特性なのか、エアコンによって事務所内に空気循環が生じ、濃度が下がったのか。
今までは、各時刻での値しか読めなかったものが、このように可視化されることによって、いろいろな疑問が生まれてきます。
IoTシステムによる生産効率を改善
事例として社内に設置したCO2濃度センサーの値をMQTTを使い、収集・可視化するシステムを構築しました。
- 条件としては社内ネットワークに接続しない。
- データ収集に外部サーバーを利用しない。
- 時刻サーバから正確な時刻をコピーする。
こんな条件で構築しています。
この条件でしたら、既存設備などへの追加工事という形でIoTシステムの導入が容易になると思います。
データの可視化や処理用にパソコンは不要で、Wi-Fi通信機能を持つタブレット端末があれば大丈夫です。
ご興味があれば、ホームページの問合せフォームよりご連絡をお願いいたします。