IoT 温度管理

IoT活用で温度のデータを取得しグラフ化して表示する方法

遠く離れた場所の倉庫や、食品を扱う工場の関係者なら、一度は温度管理について考えたことのある方が多いのではないでしょうか。
人ではなく、ロボットや機械が自動的に制御し、その分の人員を他の業務に当てることができれば、作業も効率的に捗ります。
この記事では、そのようなお悩みの解決に向けて温度管理でできることを解説すると共に、温度データを使ってできることをご紹介していきます。

IoT技術を使えば温度データを遠隔で監視できる

IoT技術を使えば、離れた地点の温度も管理することができます。
例えば、遠く離れた地域にある倉庫で、複数の装置の温度管理がしたいが人手が足りない。といった悩みを抱える方も少なくはありません。

ですが、IoTの技術を使えば、複数の装置の温度管理も1カ所に集約して管理を行えます。

また、データの取得はできたが、その後のデータの利用方法がわからないデータをうまく使いこなせない、という悩みもよく聞きます。
その場合、データをグラフ化することで、数値で比較するよりも視認性が良くなり、第三者へより効果的に伝えることができます。

温度データ取得システムの構成

特定地点の温度を取得し、PCで温度を表示、またはデータとして計測する方法は様々あります。
その中の一例の仕組みを下記にまとめました。

■ 複数地点の温度を取得する場合

  1. 特定地点の温度をセンサーで取得
  2. クラウドにデータを送信し、保存
  3. 各PCがクラウドにアクセスし保存されたデータを取得

各地で取得したデータをクラウド等のネットワークに送信し、データを集約します。データを使う際は、好きなときに受信・送信をすることが可能になります。クラウドを利用することで効率的にデータを取得できることがわかりますね。

それでは、実際に装置を自作し、理解を深めていきます。

IoTによる温度データ取得システムを作成

温度の取得からグラフを表示するまでの装置とプログラムを実際に作ってみました。構成は以下のようになります。
センサーで温度を取得し、そのログをスプレッドシート上でグラフで表示する、という流れです。

温度データの取得

まずは、温度を取得するプログラムを作成していきます。

装置を作るにあたり、以下のものを準備しました。

Grove-Starter Kit v3 のキットの一部
・ベースシールド
・Grove 温度センサ ー
・Grove ケーブル ×1

その他
・ArduinoUNO R3
・USBケーブル Bコネクタ
・PC(今回はWindowsで作業)
・Arduino IDE

ソフト
・Windows10
・Google スプレッドシート
・Tera Term(オープンソースアプリ)

プログラムを作るまでの準備段階は以前に作成した記事をご参照ください。

※ 参考資料:IoTで温度管理が可能|センサーを使って温度計を作る方法 - ①開発環境の構築

STEP1
プログラムの作成
Groveのセンサーを利用した場合、Seeedstudioの公式からサンプルプログラムが提供されています。今回はそちらを参考にしました。
※参考資料:温度センサー:Grove_Temperature_Sensor.ino

const int temperaturePin = A0;  // Temperatureのピンを指定

void setup()
{
  Serial.begin(9600);
  pinMode(temperaturePin, INPUT);
}

void loop()  //シリアル通信とピンモードを初期化
{
  int B = 3975;
  int val = analogRead(temperaturePin);
  float resistance = (float)(1023 - val) * 10000 / val;
  float temperature = 1 / (log(resistance / 10000) / B + 1 / 298.15) - 273.15;
  Serial.println(temperature);
  delay(500); // 0.5秒の遅延
}

1行目:センサーを取り付けるピンを指定
5行目:9600bpsでポートを開く
6行目:Temperatureセンサーから信号を取得
12行目:指定したピンから値を読み取る
13~14行目:取得したデータの変換式
15行目:データの末尾に(¥n)をつけてシリアルポートへ送信

STEP2
プログラムを実行する

先程作成したプログラムをArduino IDE で実行していきます。

  1. 「矢印ボタン(⇒)」をクリックし、マイコンボードへプログラムを書き込みます。
  2. 「ツール」→「シリアルモニタ」をクリック

現在の温度が取得できました。

 

温度データのグラフ化

取得したデータをグラフ化していきます。今回は2種類の方法をご紹介していきます。

方法1:シリアルプロッタを使う

Arduinoには取得したデータをグラフで表示するシリアルプロッタという機能がついています。標準でついている機能のため「今すぐ結果を確認したい」という場合はすぐに使える便利な機能です。

今回は温度の結果をわかりやすくするため、手でセンサーを握り温度を急上昇させています。

  1. 「ツール」→「シリアルプロッタ」をクリック

グラフが表示されました。縦軸が温度、横軸が時間を表示しています。

この機能を使えば、簡単にグラフを表示させることができます。
一時的にグラフを確認したい場合は、この方法が便利ですが、シリアルプロッタでは、データを保存することはできません。そのため、長期的にデータを保存したい場合は、方法2を参照してください。

方法2:Googleスプレッドシートを使う

外部ツールを使い、「温度データの保存」と「温度データのグラフ化」を行います。

データは ログ という形で保存する方法があります。
このログを確認することで、過去のデータを見ることもできますし、加工することでグラフを表示することもできます。

今回は下記のツールを使って進めていきます。
STEP1:ログを保存する → Tera Term
STEP2:保存したログをグラフで表示 → Googleスプレッドシート

STEP1
ログを保存する
Tera Term というオープンソースのソフトを使います。

Tera Termのインストール

Tera Termを開き接続先をシリアルに変更してください。
私の場合はArduinoの装置しか接続されていないため、こちらのポートを選択しました。実際にログがとれていることが確認できます。

もう少し使いやすくしていきましょう。

「設定」➝「その他の設定」➝「ログ」
・標準ログファイル名:「%Y.%m.%d %H-%M-%S teraterm.txt
・標準のログの保存先フォルダ:「※任意の場所に設定してください」
・自動的にログ採取を開始する:チェックを入れる
・オプション タイムスタンプ:チェックを入れる
この設定をすることで、Arduinoで温度を取得中にTera Termを起動した際、自動でログの取得から、指定したフォルダにログを保存できるようになります。また、ログファイル名には取得したデータの日付と時間が記入されるように設定しました。

Tera Termの設定項目を反映したら設定の保存をしないと設定が反映されません。以下の方法で設定が保存されます。
「設定」➝「設定の保存」➝「保存」

以上を設定後、再起動すると設定したログの保存先フォルダに、取得したログが保存されていることがわかります。

STEP2
ログをグラフ化する

保存したデータをGoogleスプレッドシートでグラフ化していきます。

・スプレッドシートの操作
スプレッドシートを新規作成します。

「ファイル」➝「インポート」➝「アップロード」➝保存先フォルダから拡張子が「.txt」のファイルを選択

この画面ではスプレッドシートのどのシートにデータを書き込むかを選択します。
・現在開いているシートに書き込む場合:現在のシートを置換する
・区切り文字の種類:自動的に検出する
・テキストを数値、日付、数式に変換する:チェックを入れる
記入をしたら「データをインポート」をクリック

日付、時間、温度ともに書き込めています。

それでは、ここからグラフにしていきます。
今回は時間と温度が表示されるグラフにしたいので、B列C列を選択した状態で操作していきます。

取得した温度のグラフを表示することができました。

今回作成したグラフは「保存した温度のログをグラフで表示する」というものでした。
また、これ以外にもシステムとグラフを組み合わせることで様々なことが実現できます。

  • 異常な数値を検出した場合、メールやチャットでアラート通知するとともに、データに応じてグラフの色を切り換える
  • 温度以外にも、湿度やCO2濃度、位置情報などのデータをグラフで管理する
  • 複数の施設のグラフをダッシュボードで管理し、複数人と共有する

IoT技術を使えば情報を共有できるため、より効率的に業務が捗ります。また、人の目では見えないようなものも、センサーを使えば数字で取得できます。

これらを活用することで、業務の幅が広がりますね。

まとめ

今回は、IoTの技術を活用すれば、温度管理の業務を効率化できることを解説し、実際にどのようなシステムになるのか構築してみました。温度センサを特定の地点に設置し、温度データを取得。さらにそれをビジュアル化することで、どのような温度の推移になっているのかを、視覚的に確認できます。

このような技術を応用すれば、「工場」「保管庫」「温室ハウス」「冷凍庫」などの温度管理業務を効率化できます。

最近では、食品をはじめとして、温度管理に関するガイドラインが徹底されるなど、物流や保管における管理コストも高くなり、業務の効率化が求められています。「現場の工数削減のために、改善を図りたい」というお悩みをお持ちの方は、このような技術の導入も検討されてみてはいかがでしょうか。

 IoTによる温度管理ならASTINAにご相談ください

IoT開発のASTINAであれば、温度管理に関するソリューションをご提案することが可能です。システム開発・ネットワークおよびデバイスの開発まで一気通貫してご対応いたします。

特に、プラントをはじめとした産業用装置のDXについて強みがありますので、現場ご担当者様はお気軽にご相談ください。そのほか、室内に関する温度管理だけではなく、屋外環境や農業のDX(アグリテック)に関する実績もございます。

弊社にはIoTだけでなく、AIのスペシャリストやFA(ファクトリーオートメーション)に強いメカ装置のスペシャリストも在籍しておりますので、温度管理に関わらず現場のDXに関するお悩みもあわせてご相談いただけます。

農業向けIoTデバイス 株式会社ASTINA

クライアント:プランティオ株式会社 農業・家庭菜園向けのIoTプランターデバイスです。 センサーが計測した日照量・土壌水…

屋外用環境ロガー 株式会社ASTINA

気温・湿度・照度の3つのセンサを搭載した環境ロガーです。数分間隔で測定して、BLE通信でスマホに測定値を転送します。…

株式会社ASTINA(アスティナ)は、ハード/ソフトウェアの設計・開発および受託開発企業です。
カバー範囲の広さと圧倒的設計スピードでお客様の「作りたい」に応えます。

製品開発で困ったことがあればまずはご相談ください