2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Raspberry PI で Lepton3.x を使う(その2)

Last updated at Posted at 2019-10-09

はじめに

投稿「Raspberry PI で Lepton3.x を使う」のその後です。

[前置き] PullRequestの状態(2019/10上旬)

私が出した PullRequest の状態は Pending です。
原因は特定できていないのですが、
Lepton 3.x(SPI)から取得したデータの状態が良くない。
「SegmentNumber を取得できる」ときもあれば、
「取得できない」ときもある(詳細は、PullRequestに関する追加情報を見てください)

Lepton 3.x は、SPI から4回連続(segment1~4)でデータ取得することで
ひとつの画面を構成できるので、途中1回でもSegmentNumberの取得に失敗すると
見れたもんじゃない画面表示となってしまう。
2019-10-09-164413_340x290_scrot.png

私のコードが原因ではないと思うんだが
たぶんこれを解決しなければ merge されないと思う。
しかし今のままでは解決は無理と思う。

[ここから本題] 前回は応急対応

残念なことに、GitHubで提供されているソースファイルは Qt依存で書かれている。
「Qtも使える」設計であればよかったのだが**「Qtしか使えない」のは不便**だが、
Lepton 3.x 対応を受け入れ(mergeし)てもらうためにも、このコードをベースに修正した。

より使いやすくなるように修正(したつもり)

取り入れてもらえるかは不明ですが PullRequestは、
とりあえず自分が普段使う環境で Lepton 3.x で使えることが確認できた状態。

機能そのまま変更せず Qt との結合度を低くする修正を加えたのが以下のブランチ

自分が使いやすいように修正

自分の要望は、以下の通り

  • 定点観測みたいな一定間隔で撮影(動画で無くて可)
  • 画像ファイル(PNG)で保存
  • できれば一般ユーザで実行(sudo 不要)

そのようにして出来たのが以下のブランチ

※ raspberrypi_video じゃなく raspberrypi_capture を最初から使えば良かったのでは?との指摘はご遠慮願います(汗)

実行

  • PNG 形式で保存
    • 保存ディレクトリは、${HOME}/png
    • コマンド実行後、2秒待ってから撮影開始
    • 5秒間隔で撮影
    • 5回撮影
$ export LEPTON_PNG_DIR=${HOME}/png
$ mkdir ${LEPTON_PNG_DIR}
$ ./raspberrypi_video -tl 3 -cm 1 -min 30000 -max 32000 -ims 5000 -dms 2000 -c 5
  • ヘルプ表示
$ ./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
 -d x    log level (0-255)
 -dms  x delay time [milliseconds] (0 - 65535)
           [default] 0
 -ims  x interval [milliseconds] (1 - 65535)
 -c    x count (0 - 65535)
           0 : endless
           [default] take one shot
Environment variable(s)
 LEPTON_PNG_DIR
           make png file(s) in this directory

PullRequestに関する追加情報

Qt 依存低減シンプル版

今回の修正の途中で、Qt を使わず、Lepton(SPI)からデータのみ読み込むだけのブランチを作ってみました。

$ ./raspberrypi_video -tl 3 -cm 1 -min 30000 -max 32000
001234000012340000123400
001234000012340000123400
001234000012340000123400
001234000012340000123400
001234000012340000123400
001234000012340000123400

ちなみに、Qt 版は、こちら

0000234000012340000123400001
11:10:15 : 23000023000023000023000023000023
11:10:16 : 000023000023000023000023000023000023
11:10:16 : 000023000023000023000023000023000023
11:10:17 : 0000230000230000230000200001200001200001
11:10:18 : 200001200001200001200001200001200001
11:10:19 : 200001200001200001200001400001400001
11:10:19 : 400001400001400001400001400001400001
11:10:20 : 40000140000140000123000023400001
11:10:20 : 2300002340000123000023400001
11:10:21 : 2300002300002340000123000023
11:10:21 : 4000012340000123000023400001
11:10:22 : 234000012340000123000023
11:10:22 : 4000012300002340000123000023
11:10:23 : 4000012300002340000123400001
11:10:23 : 2300002340000123000023400001
11:10:24 : 200001234000012340000123
11:10:24 : 0000234000012300002340000123
11:10:24 : 4000012340000123400001200001

最後に

  • Qt の処理が何らかの影響を及ぼしていると思われる
    • Qt の不具合などではなく、処理負荷などが相互的に悪影響を及ぼしている
  • 自分は Qt を必要としないので、とりあえず現状ブランチでOK
  • 既存のブランチを整理し、新たにdevelop(my_master)ブランチをつくり育てようと思う。
    • いま出している PullRequest が merge されれば、以降の修正も PullRequest する予定です。
  • 最新のブランチ(develop)です
    https://github.com/higuchi-toshio-intec/LeptonModule/tree/develop

記事リスト

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?