LoginSignup
15
16

More than 3 years have passed since last update.

Raspberry PI で Lepton3.x を使う

Last updated at Posted at 2019-09-11

はじめに

簡易温度測定を行いたい
検索したところ、
RaspberryPIとFLiR Leptonを組み合わせて使うのが価格的にもお手頃で、
サンプルプログラムも提供されており、動作確認が容易であることがわかり使ってみた

しかし、実際には簡単に動かなかった

仕様確認

  • 調べてみるとLeptonには、2.x 系と 3.x 系があった
  • 大きな違いは画素数
    • Lepton 2.x は 80x60 画素(4800点)
    • Lepton 3.x は 160x120 画素(19200点、4倍のデータ量)
    • 実際に比べてみるlepton2.png lepton3.png
    • 価格が少し高くても高い画素数が魅力的!
  • Lepton 2.x も 3.x も同じ Breakout Board を使って RaspberryPI と接続可能らしい
  • ここで、[Lepton 3.5] 製品説明ページ内に気になる記述を発見
    • 『Lepton3.5および3.0との組み合わせでFLIR社より不具合が報告されております......』

問い合わせてみました

  • 回答
Lepton 3.0及び3.5とBreakout Boardとの組み合わせでは、FLIR社より不具合が報告されております。
基本的には、Lepton3.xのためにSPIバスサイクルを確保出来ていれば問題は生じません。
LinuxなどマルチタスクOSを搭載しているボード上で使われた場合、スケジューリング等問題を起こす
可能性はあります。これは、Lepton3.xあるいはBreakout Boardのハードウエア的な問題ではありません。
ソフトウエアでの対応を、お客様に促すものです。

FLIR社と致しましては、Lepton3.xは、マイコンを搭載しているPureThermal2との組み合わせを推奨しており、
Breakout Board利用でのリファレンスも提供しておりません。
Webにて、動作事例が掲載されているものがありますが、基本的には、それらを含め、お使いになられる
プログラムとその実行結果の検証は、お客様ご自身で行っていたただく必要があります。

購入品

  • (たぶん)問題なく動く 2.x 系と、動くかわからない 3.x 系を各1セット
製品名 数量
Lepton 2.5 1
Lepton 3.5 1
Breakout Board 2
配線用ケーブル 少々
  • こんなかんじ(パッと見、Lepton2/3の区別がつかないので養生テープでラベル付け) raspberrypi3+lepton3.JPG

Lepton 2.x を使う

Lepton 3.x を使う

  • GitHub の groupgets/LeptonModuleでは Lepton3 サポートは PullRequest 状態のままで取り込まれていない
  • 仕方がないのでドキュメント読んで raspberrypi_video 以下のソースファイル(c++)を修正
  • Lepton 3.x 向けの主な修正箇所
    • 表示画像サイズの変更(80x60 → 160x120)
    • segment number の切り出し
    • rows/cols の計算
    • SPI bus スピード変更
      • これが重要
      • 従来の転送速度では、Lepton 2.x 系から増えたデータの転送が間に合わないようです
  • 追加で、使いにくい部分を修正
    • 固定のレンジ(最小値/最大値)で色付け可能とした(従来の自動レンジ調整がデフォルト)
      • 2.x では、1画面分のデータ取得ごとに最小値/最大値を求め色付けしていた
      • Lepton 3.x では、固定レンジでの色付けが本当に必要な機能(最悪1画面が4つのレンジで色付けになることは望んでいる機能ではない)
    • 色付けを選択可能とした
    • 簡易ヘルプ表示(コマンドオプション説明)

実行

$ ./raspberrypi_video -h
Usage: raspberrypi_video [OPTION]...
 -h      display this help and exit
 -cm x   select colormap
           1 : rainbow
           2 : grayscale
           3 : ironblack [default]
 -tl x   select type of Lepton
           2 : Lepton 2.x [default]
           3 : Lepton 3.x
               [for your reference] Please use nice command
                 e.g. sudo nice -n 0 ./raspberrypi_video -tl 3
 -ss x   SPI bus speed [MHz] (10 - 30)
           20 : 20MHz [default]
 -min x  override minimum value for scaling (0 - 65535)
           [default] automatic scaling range adjustment
           e.g. -min 30000
 -max x  override maximum value for scaling (0 - 65535)
           [default] automatic scaling range adjustment
           e.g. -max 32000
  • オプション「無」では Lepton 2.x モードで稼働
$ sudo ./raspberrypi_video
  • Lepton 3.x で使う場合
$ sudo ./raspberrypi_video -tl 3
  • Lepton 3.x で虹色(rainbow)表示の場合
$ sudo ./raspberrypi_video -tl 3 -cm 1 -min 30000 -max 32000

こんな感じに表示されるlepton3-rainbow.png

  • 心配性な方は、nice 指定
$ sudo nice -n 0 ./raspberrypi_video -tl 3 -cm 1 -min 30000 -max 32000
  • Lepton 3.x で min/max を指定しなかった場合
$ sudo ./raspberrypi_video -tl 3 -cm 1

こんな感じに表示されるauto_scaling_range_adjustment.png

ソースファイル公開

追記

2019/09/24

  • 『使い始めたばかりの人には「自動レンジ調整機能」が有用です』とのご意見をいただきました。ありがとうございます。
    • 自分が使い始めたとき「自動レンジ調整機能」がなければ今の状況には到達していないと思います。
    • 初心忘るべからず

2019/09/26

  • GitHub の groupgets/LeptonModuleから「rpi4 使っているけど動かない」って連絡がきたよ orz
    • Raspberry PI 4 は持っていないので確認できない
    • 性能は rpi4 が rpi3 より上がっているはずだから、データを取りこぼす可能性は低いと思う
    • それらしい原因を思いつかない
  • 今回の実行環境について書いていなかったので以下に書いたので、気になる人は見てください
  • PullRequest したときから動画で見せたかったので撮ってYouTubeにアップしました

記事リスト

15
16
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
15
16