LoginSignup
7
9

More than 5 years have passed since last update.

サーモカメラ x Raspberry Pi Zero W 〜OTK-THG02USBサーモグラフィモジュールでMACとシリアル通信する〜

Posted at
株式会社XSHELL デベロッパー 植田歩

thermo-camera.png
*半田ごて監視中

概要

オフィスIoTのプロジェクトの1つとして、サーモカメラで半田ごての消し忘れを検知して Slack への通知を行おうとしています。

そのうち、ここでは OTK-THG02USB と Raspberry Pi Zero W の通信についてのみ記述する。
プロジェクト詳細は弊社ブログ記事参照!
XSHELLブログ記事一覧

thermo_gui3.png
*可視化してWEBから閲覧できるようにした。半田ごてがある場所が赤い。

環境

参考サイト

手順

まず楢ノ木技研のサイトでOTK-THG01/02/03シリーズ・シリアルモード仕様書をダウンロードしておく。
この仕様書の手順通りに半田付けを行う。

  • 裏側を短絡させてシリアル通信モードに変更する。
  • 使いやすい様にするためにピンソケットもつける。

カメラ動作テスト

秋月のシリアル変換アダプタを使って接続し、Mac とシリアル通信してみる。

  • TX-RX
  • RX-TX
  • 5V-5V
  • GND-GND

IMAG2652.jpg

ArduinoIDE(アプリ)でシリアルモニターを起動し、通信画面を出す。
通信速度38400で改行コードはCRCFこれ大事。


#READコマンドを送信する。
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

温度データが取得できたら成功。
これで問題なければ次のステップへ。

Raspberry Piとの接続

Raspberry Pi Zero Wとのケーブル接続。

  • TX-RX
  • RX-TX
  • 5V-5V
  • GND-GND IMAG2653.jpg

OTK-THG02USBサーモグラフィモジュール2をつなげたサーモカメラ x 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
+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

温度データが取得できたら成功。
正常に動かない時、大抵の場合はあらかじめ設定しておいたラズパイの設定が再起動などによる変更が原因となっている。

Raspberry Pi シリアル設定のチェック箇所

  • ラズパイコンフィグのインターフェースのシリアル通信設定の許可(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 プロセス番号

プロジェクト詳細は弊社ブログ記事参照!
XSHELLブログ記事一覧


株式会社XSHELL デベロッパー 植田歩

XSHELLはSBCを使いやすくするソリューションを提供しています。
isaaxIoTitぜひご使用になってご意見を頂きたく思います。
共に素晴らしいプロジェクトを実現させましょう!


7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9