株式会社インデペンデンスシステムズ横浜

システム開発エンジニアの西田五郎が運営しております。Raspberry Pi や Arduino その他新規開発案件のご依頼をお待ちしております。

Arduino IoT 感染症対策のIoT技術

感染症対策のためのIoT技術(その1)非接触温度センサーでの体温測定

投稿日:2021年1月21日 更新日:

まずはじめに新型コロナウイルス感染症に罹患された皆さまおよび関係者の皆さまにお見舞い申し上げますとともに、一日も早い快復をお祈り申し上げます。

また医療関係者をはじめ、感染症防止・対応の最前線の現場でご尽力いただいている皆様に対し厚くお礼を申し上げます。

COVID-19(新型コロナウイルス感染症)をはじめとする感染症対策に有効であろうと考えられるIoT関連の技術要素について書きたいと思います。

まず私(株式会社インデペンデンスシステムズ横浜の西田五郎)は開発現場のソフトウェア系エンジニアです。したがいまして、すぐにでも使えるような実務的な内容について実際の動作方法や動作結果も含めて書きます。

今回は非接触温度センサーでの体温測定についてです。以下の画像では小型のブレッドボードに挿した状態ですが、この赤外線温度センサー(MLX90614)を内蔵したセンサーモジュールを使います。


以下のような順番で書きます。
Arduinoでまず測定値を確認する
実際に体の表面温度を測定する
体の表面温度から体温を推定するためには
どのように感染症対策に応用するのか

Arduino測定値を確認する
今回の赤外線温度センサーモジュールは対象物の表面温度とその周辺温度を測定することが出来ます。まずこれらをArduinoで確認してみます。やはりこういった場合はライブラリが充実しているArduinoが便利だと思います。

以下のように接続しました。接続はI2Cです。

ライブラリは以下のAdafruit製を利用しました。Arduino IDEのメニュー => ツール => ライブラリを管理… から検索してインストール出来ます。

このライブラリのサンプルプログラムを利用します。ライブラリがインストール出来ていれば、以下からサンプルプログラムが利用出来ます。
Arduino IDEのメニュー => ファイル => スケッチ例 => Adafruit MLX90614 Library => mlxtest

このライブラリのサンプルプログラムで摂氏の値のみ表示するようにしました。天井に向けた状態でシリアルモニタで以下のような測定値が確認出来ました。少なくとも温度が測定出来ているようです。

体の表面温度を測定してみる
これを自分のおでこを対象物として測定してみました。以下のような値になりました。

手の甲あたりを対象にすると以下のような結果が出ました。おでこより少し低い値が測定出来ました。

いずれにしても実際の「体温」と言われている値よりは低い値です。それは表面温度を測定したので体温よりは低いということです。それではこの測定した値からどのようにして「体温」を推定するかです。

体の表面温度と体温の関係
この体の表面温度と体温の関係はもちろん研究されています。今回は以下を参考にさせて頂きました。2009年に書かれたNECの論文です。(ありがとうございます。)
インフルエンザ拡大防止の観点から 赤外線サーモグラフィによる 体表温度計測事例の紹介

この論文では、体温と体表温度の関係について実際の測定値も交えて書かれています。以下この論文から引用させて頂きます。

「体表温度は、環境温度によって変化し、環境温度が高くなるにつれて体温に近づいてゆくことが分かります。」

体表温度と体温との差は一定ではなく、環境温度が高いほど体温に近く環境温度が低いほど体温との差が大きくなるということです。

論文には以下のような記述もありました。また引用させて頂きます。

「空港などの環境温度が一定の場所では、アラーム設定値を検出したい体温より1.6℃程度低い値にすれば良いことが分かります。例えば、体温が38℃以上ある人物を検出する場合は36.4℃をアラーム設定値とすれば良いことになります。」

またこの論文では、医学文献より抜粋した体温と体表温度の関係についても書かれています。この環境温度からの補正値をどのように設定するかが体表温度からの体温推定の重要な「仕様」となるということです。今回のセンサーモジュールはこの環境温度も測定出来るので環境温度の範囲ごとの補正も出来ます。

今回の測定値を見ます。環境温度は21度から23度まで出ています。体表温度はおでこの場合でほぼ33度からほぼ34度まで出ています。上記論文の1.6度の環境より寒い(2021年1月16日夜です)と考えると今現在この場所ではざっとですが、2.7度ぐらいが補正値でいいかなと思います。あと、もちろん体表面までの距離も関係ありますが、ここでは接触しない程度に近い距離ぐらいにします。

感染症対策にどのように使えるのか
以上の結果から実際に精度が出るのかということですが、非接触で簡単に測定出来るので一つの目安として考えることも出来ると思います。実際に高い数値が出た場合は精度の高い体温計を使うということも出来ます。

あと、もうすでに体温管理の機器はいろいろとあるだろういう考えもありますが、IoTという観点では、他のセンサー類との連携(認証等も含めて)やインターネットとの連携で記録を残すということが出来ます。今回のArduino UNOではネットの連携が出来ないので次回に別途インターネットの連携を考えてみます。

以下のようなM5StickCを使ってみました。次回へ進む

今回はここまでです。

AdSense

AdSense

-Arduino, IoT, 感染症対策のIoT技術

執筆者:

関連記事

Arduino CC3000 WiFi シールドを使ってみた

前回の記事では、Arduino Ethernetシールドの旧製品版を使ってみました。今回は、CC3000 WiFi シールドを使ってみました。以下の製品です。 CC3000 WiFi シールド 以下は …

感染症対策のためのIoT技術(その2)非接触温度センサーをインターネットへ接続する

前回の続きです。前回は非接触温度センサーでの体温測定について書きました。今回はその非接触温度センサーをインターネットへ接続してクラウドに体温データを蓄積して可視化すという内容で書きます。その上で実務的 …

温度管理システム的なものを作ってみる(その1)システム概要

「温度管理システム的なものを作ってみる」の1回目です。AndroidでUSBシリアル通信の記事を書きました。(1回目はこちらから。)次は、その少し応用的な内容で書きたいと思いました。そこで、温度センサ …

AndroidでUSBシリアル通信(その2)ライブラリサンプルのArduinoスケッチ

AndroidでUSBシリアル通信の2回目です。前回はハードウェア構成、ソフトウェア構成等全体的な内容について書きました。今回はAndroidの通信相手となるArduinoのスケッチの動作確認を行って …

Arduino UnoでSPI通信(その1)Arduino Uno2台で通信

ArduinoでのSPI通信についてです。SPI通信(Serail Peripheral Interface:SPI)はマイコン系と周辺デバイス間の短距離間で利用されている同期型のシリアル通信の一種で …