先日実装した弊社の社内IoT。事務所内の工作テーブル付近に設置、ハンダごてを始めとする機器の発熱をサーモカメラで監視しています。取得したサーモグラフィをWeb上で確認出来るようにし、火災防止に役立てています。
サーモカメラでハンダごて熱監視
事務所退室の際に、ハンダごての電源が切られているかどうかを毎回確認するという行為をIoTプロダクトに肩代わりさせることが今回のプロトタイプの目的です。
環境
- mac OS X El Capitan
- Raspberry Pi Zero W
- OS 2017-08-16-raspbian-stretch-lite.img
- サーモカメラモジュール OTK-THG02(*現在は取扱がない模様)
手順
まず楢ノ木技研のサイトでOTK-THG01/02/03シリーズ・シリアルモード仕様書をダウンロード。仕様書に従いハンダ付けをしていきます。(今回はUSBは使わずシリアル通信で行うので、あらかじめシリアル通信モードに変更) Raspberry Pi Zero Wとの接続は以下の通り。- TX – RX
- RX – TX
- 5V – 5V
- GND – GND
OTK-THG02USBサーモグラフィモジュール2をつなげたサーモカメラ Raspberry Pi Zero Wとシリアル通信する
ls /dev/tty.*
#モジュールが改行コードが[CR+LF]である必要がある
#[コマンド]→[エンター]→[ctrl+J]の順番に入力する!
screen /dev/tty.usbserial-A1032MA9 38400
#ラズパイとシリアル通信
#モジュールが改行コードが[CR+LF]である必要がある
#[コマンド]→[エンター]→[ctrl+J]の順番に入力する!
screen /dev/ttyS0 38400
picocom -r -l /dev/ttyS0 38400
#READコマンドを送信する。
READ
- raspi-configのインターフェースのシリアル通信設定の許可(loginシェルなどはNO ハードウェアアクセスでYES)
- /boot/cmdline.txtのコンソール部分削除
- シリアル待ち受けサービスストップ(sudo lsof | grep ttyS0してagettyが出てくるならサービスを落とす)
起動python serial-thermo.py
問題なく動くことを確認。 裏で起動させておく。nohup python serial-thermo.py &
止める時は下記コマンド#プロセス調べる ps aux | grep python #プロセス強制終了 sudo kill -9 プロセス番号
実行結果
温度情報が解像度16*4の形で送信されてきます。 左上はカメラから見て実際の左上で見た通りの順番に並んでいます。READ
+0169+0155+0171+0167+0163+0160+0160+0141+0140+0143+0137+0146+0148+0150+0153+0150
+0165+0162+0167+0160+0164+0157+0139+0134+0149+0146+0140+0146+0141+0147+0143+0157
+0160+0128+0162+0163+0160+0141+0137+0137+0141+0144+0138+0146+0143+0140+0143+0146
+0110+0138+0151+0154+0138+0134+0136+0143+0140+0143+0146+0138+0147+0139+0148+0142
アラートの仕様
アラートの条件は以下の通りです。- 20時以降、最大温度が平均温度との差分で10度以上高く、それが10分以上続いた場合。
- 時間帯を問わず、温度が100度以上の場合にもアラート発生。
温度の可視化
Web上での可視化にはGrafanaとInfluxDBを使用しています。以前行ったオフィスIoT Sense HATを使った気圧・温湿度のセンシングでもこちらを使用していました。 下の画像はハンダごてのスイッチを入れて計測したもので、Maxはカメラで撮影してる範囲内で最も熱い値を指しています。 このサーモカメラは16*4ピクセルと検出解像度が低いのですが、今回のハンダごての熱源監視においては、ソフトウェアによる制御と合わせて問題なく認識できました。温度推移グラフ
下の図はWeb上で見ることが出来る温度推移です。 12:37ごろまでMaxの値は一定ですが、そのあと12:37ごろに少し上がっています。このときにはハンダごてにある席に人が座っていた時間帯で、その後13:04ごろから急に上がっているのが、ハンダごてのスイッチを入れたタイミングです。
サーモグラフィ
サーモグラフィ画像はGUIはWEBから見れるようにスクラッチ開発したものです。 本来の性能としては秒間8フレームの撮影・表示が可能ですが、今回に限っては必要ないので、フレームレートは秒間2フレームに落としています。加えてデータのPOSTは30秒に1回としているので、画面の更新も30秒に1回。 systemdで自動起動設定をしているので、電源を挿し直したとしても特に設定し直すこと無くサービスが起動するようになっています。


最後に
XSHELLは、IoTの受託開発や相談を受け付けています。IoTによる効率化を目指したい。IoTで何が出来るか聞きたい。などなど、是非お問い合わせ下さい。 自分たちでIoTシステムを作りたいときはisaaxを使いましょう!