先日実装した弊社の社内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度以上の場合にもアラート発生。