このチュートリアルは、Raspberry Pi を使用して Lepton カメラをインストールしたいすべての人を支援するために作成されました。多くのチュートリアルで提供されている情報を使用し、独自の知識を加えて改善しました。

私たちがテストしたデバイスは Raspberry Pi B + ですが、他のバージョンのデバイスでもインストールはそれほど変わらないはずです。

レプトンカメラについて

Lepton は、ネイティブのモバイル デバイス インターフェイスやその他の民生用電子機器に簡単に接続できるように設計された、完全な長波赤外線 (LWIR) カメラ モジュールです。公称応答波長帯域 (8 ~ 14 ミクロン) の赤外線入力をキャプチャし、均一な熱画像を出力します。

環境仕様

動作温度範囲10° C ~ 65° C (-20° C ~ 75° C ではパフォーマンスが低下する可能性があります)
最大動作温度353.15 K (80 °C)
保管温度40°C~80°C
相対湿度95 %
熱衝撃動作温度範囲(-10° C ~ 65° C、65° C ~ -10° C)での空気対空気
振動輸送プロファイル、4.3 grms

画像特性

シーン内範囲0 K ~ >400 K (-273.15°C ~ > 126.85°C)
操作性: 良品画素数>99.0% (欠陥率は通常 1% 未満)

アプリケーション

  • 安全性と保安
  • 自動車
  • マイクロおよびナノUAV/UGVプラットフォーム
  • 住宅修理とエネルギー効率
  • ビルオートメーションと存在検知

Leptonカメラの詳細な仕様を知りたい場合は、 Leptonデータシートをご覧ください。

図1: レプトンカメラ

ハードウェア

必要な材料

Lepton カメラを設置するために必要な材料は次のとおりです。

  1. ラズベリーパイモデルB+。
  2. マイクロ USB 端子を備えた 5V 電源。
    • 少なくとも700mAを供給できる必要があります
    • 携帯電話の充電器としても使えます。うまく機能します。(携帯電話の充電器はうまく機能します)
  3. SDカード:
    • 最低8GB、最大32GBのストレージ
    • クラス4以上。
  4. USBキーボード
  5. マウス(USB接続)
  6. HDMIケーブル
  7. イーサネットケーブルとインターネットに接続されたネットワークへの接続。Raspberry PiでWiFiを使用する場合は、WiFi接続アダプターを購入できます。このチュートリアルでは、ミニ150Mbps USB 2.0 WiFiアンテナワイヤレスネットワークLANカードアダプター802.11N / G / Bを使用しました。WiFi接続アダプター

SDカードの準備 – フォーマット

まず、SD カードをフォーマットして準備します。このセクションでは、コンピューターを使用します。最初のステップはカードをフォーマットすること、2 番目のステップは NOOBS ソフトウェアをインストールすることです (Raspberry に必要です)。このチュートリアルでは、OS Windows を使用します。別の OS をお持ちの場合は、こちらで手順を確認できます:別の OS。次の手順に従ってください:

カードのフォーマット

  1. オンラインでWindows用のFormatterをダウンロードしてください
  2. ダウンロードしたファイルを解凍して展開し、Setup.exe を実行します。
  3. SDFormatter InstallShield ウィザードのプロンプトが表示されたら、プログラムを受け入れてインストールし、「完了」をクリックします。
  4. 次に、SD フォーマッタ (先ほどインストールしたプログラム) を開きます。次のような画面が表示されます。図2: SDFormatter
  5. [オプション] をクリックし、[フォーマット サイズ調整] をオンに設定して、[OK] をクリックします。図2.1: オプション設定
  6. 「ドライブ」がリストされている場所でカードを選択します。コンピューターでカードを 1 枚だけ使用している場合は、そのカードが自動的に選択されます。
  7. 「フォーマット」をクリックし、表示されたら「OK」を 3 回クリックします。
  8. SD カードがフォーマットされました。次のステップは NOOBS ソフトウェアをインストールすることです。

NOOBSソフトウェアのインストール

  1. Raspberry Pi のダウンロード ページにアクセスし、最新の NOOBS (オフライン インストール) (2015 年 5 月 11 日時点の NOOBS_v1_4_1.zip) をダウンロードします。
  2. ダウンロードしたファイルを解凍して抽出します。抽出したフォルダは次のようになります。図3: NOOBSをダウンロード
  3. 次に、抽出したフォルダーの内容を、最近フォーマットした SD カードにコピーする必要があります。
  4. カードは準備完了です!

接続

Lepton カメラには注意してください。静電気放電に特に敏感というわけではありませんが、複雑で比較的高価なコンポーネントです。誤って損傷しないように、作業中はいくつかの予防措置が必要です。信頼できる投資の 1 つはブレッドボードです。ブレッドボードはカメラを安全に設置できる場所を提供します。

これで、プロジェクトの構築を開始できます。以下の手順に従ってください。

Leptonカメラをラズベリーパイに接続します

  • 接続にはブレッドボードを使用します。
  • 図 4 の図には 20 個の GP10 (40 個の松) があり、Raspberry Pi には 13 個の GP10 (26 個の松) がありますが、このプロジェクトでは最初の 26 個の松だけが重要です。
  • CSピンについて、赤い四角が表示された場合は、ピン26をピン24に切り替えます。
図4:図

モニターを接続する

  • Raspberryとディスプレイモニターの間にHDMIケーブルを接続します。(VGAからHDMIへのアダプタが必要になる場合があります)

マウスとキーボードをUSB経由で接続する

用意したSDカードをラズベリーパイに挿入します

  • SD カードが正しく接続されると、カチッと音がして所定の位置に収まります。

インターネット接続を確立する

  • このプロジェクトを利用し、ラズベリーパイの機能を最大限に活用するには、いくつかのソフトウェアをダウンロードする必要があります。したがって、インターネット接続が非常に重要です。
  • イーサネットケーブルまたはWi-Fiアダプタのいずれかを使用できます。Wi-Fiアダプタの手順はここにあります。

電源を接続する

  • 最後に、これまでの接続を最終チェックします。正常に動作している場合は、Raspberry に電源を接続します。(携帯電話の充電ケーブルを使用しました)

ハードウェア セクションが完了しました。プロジェクトは次のようになります。

WiFiアダプター

WiFi アダプターを使用して、Raspberry Pi をインターネットに接続できます。WiFi アダプターを Raspberry Pi で使用するには、以下の手順に従ってください。

Raspberry Pi の公式 Web サイトには、WiFi アダプターをインストールするための 3 つの異なるチュートリアルが用意されています。これらの手順は、私たちが試したときには機能しませんでした。他の人には機能する可能性があるため、こちらで参照できます。

このチュートリアルでは、私たちにとってうまく機能したコマンドを使用します。

  • WiFi アダプターを Raspberry Pi に接続します。
  • Raspberry Pi デスクトップで LXT ターミナルを開きます。

LXTターミナルのコマンドライン

  • Raspberry Pi で使用できる WiFi 信号を確認するには、次のコマンドを入力します。

PS: 特にミシガン テック ラボでは、ミシガン テック WiFi を共有するために、自分のコンピューターにオープン ソース ソフトウェアをダウンロードする必要がありました。オープン ソース ソフトウェアは Virtual Router です。Virtual Routerのリンクからダウンロードできます。このソフトウェアを使用すると、ミシガン テック WiFi をラズベリー パイと共有できます。名前とパスワードを作成するだけです。上記の例をご覧ください。

図6: 仮想ルーター

スロットの取り付けが完了したら

  • 利用可能なすべての WiFi が表示されます。優先する WiFi 接続の ISSD とパスワードを決定します。
  • 次のコマンドを入力します。
  • 以下のコードをファイルに追加します。IDSS とパスワードを思い出してください。
  • 次に例を示します。
  • 完了したら、Ctrl + X を押して Y を選択し、Enter キーを押します。(変更が保存されます)
  • 変更を有効にするには、次を使用します。
  • 次に次のように入力します:
  • 次のコマンドを使用して、WiFi が動作していることを確認します。
  • Wlan0 は選択した WiFi に接続されます。

ソフトウェア

ソフトウェアをインストールすると、Raspberry Pi を使用できるようになります。

ラズパイ

Raspbianは、Raspberry Piハードウェア向けに最適化されたDebianベースの無料オペレーティングシステムです。Raspberry Piに最適なオペレーティングシステムです。

  • Raspberry 信号とモニター表示の間に遅延が生じる場合がありますが、これは正常です。図 7 は表示された画面を示しています。図6: Raspbianのインストール
  • 最初のオプション(Raspberry 推奨)をクリックします。
  • 「インストール」をクリックします。インストールには約30分かかります。

この部分が終わると、Raspberry Piは使用できるようになります。

FLIR Lepton サーマルカメラ ソフトウェア

Raspbianのインストールが完了したら、FLIR Leptonサーマルカメラソフトウェアをインストールします。Leptonを実行するためにPure Engineeringコードを使用しています。

  • 次に、LXTerminal を開いてコマンドを入力する必要があります。下の図に示すアイコンをクリックします。
図7:LXTターミナル
  • 完了したら、以下のコマンドを入力する必要があります。これにより、構成セクションが開きます。
  • 次のウィンドウが表示されます:図8: 設定ウィンドウ
  • 「詳細オプション」に進みます。
  • 「SPI」を有効化する必要があります。そのためには、以下の手順に従ってください。
    1. SPIを選択
    2. SPIインターフェースを有効にする必要があります。「はい」をクリックしてください
    3. 「OK」をクリック
  • SPI カーネル モジュールをデフォルトでロードする必要があるため、「はい」をクリックします。
  • 「OK」をクリック
  • この後、I2Cに対しても同じことを行います。
  • 次に、図 8 の最後で [完了] を選択し、Raspberry Pi を再起動します。Raspberry Pi を再起動するかどうかを尋ねられます。再起動してください。
  • さて、インターネット接続を使用する時が来ました。QT アプリケーション (Pure Engineering のサンプル コード) をダウンロードする必要があります。したがって、インターネット接続が良好であることを確認してください。
  • 次の手順では、次のコマンドを入力します。
  • この後、「y」または「n」を入力するよう求められます。「y」を入力してください。
  • 次に、インターネットアイコンからこの Web サイトにアクセスします: https://github.com/PureEngineering/LeptonModule
  • ウェブサイトを開いたら、「ZIP をダウンロード」をクリックします (画面の右側にあります)。
  • ダウンロードしたフォルダを pi ディレクトリに移動します。
  • 次に、圧縮されたフォルダを解凍します。次のコマンドを使用します。
  • ここで、現在のディレクトリを「LeptonModule-master」フォルダ内の「raspberrypi_video」フォルダに変更します。次のコマンドを使用して実行します。
  • ここで、「LeptonSDKEmb32PUB」ディレクトリに cd して、「make」を実行する必要があります。
  • その後、cd で「raspberrypi_video」ディレクトリに戻ります。
  • 次に、以下を実行します。
  • サーマルカメラが使用できるようになりました。動作させるには、次のコマンドを実行します。

変更とエラー

ビデオサイズ

ビデオサイズを変更することができます:

  1. main.cppファイルを開きます。これは「raspberrypi_video」フォルダにあります。Main.cpp - フォルダ内2.png
  2. 下の図に示すコード部分は、ビデオ ウィンドウのサイズと位置を定義します。赤いボックス内の数字は、ウィンドウが画面に表示される場所を定義し、緑のボックス内の数字は、そのウィンドウのサイズを定義します。2015-06-02 09-52-57.png
  3. また、プレースホルダー ウィンドウに送信される画像のサイズと、「FFC を実行」ボタンの位置も変更する必要があります。画像サイズ-FFC位置.png
  4. 変更を保存するには、ページの左上にある「ファイル」を押して「保存」をクリックします。
  5. 完了したら、LXTerminalに移動し、「raspberrypi_video」フォルダに移動して「qmake && make」を実行します。
  6. 変更が保存されました。プログラムを実行して、希望どおりかどうかを確認してください。解像度が気に入らない場合は、元に戻すか、別のサイズに変更することができます。

FFCを実行する

「FFC を実行」ボタンを押したときにエラーが発生しました。同じエラーが発生した場合は、以下の手順に従ってください。

  • LXterminal に移動して、次のコマンドを実行します。
  • 最後の行に移動して「i2c-dev」と入力します。
  • 「Ctrl + O」を押してください
  • Enterキーを押します
  • システムを再起動してください。FFCは動作するはずです。

ビデオ録画

FLIR Lepton カメラで撮影したビデオを録画する現在の最良の方法は、Raspberry を PC またはラップトップに接続することです。これは、VNC (仮想ネットワーク コンピューティング) を使用すると簡単に実現できます。VNC を使用すると、ユーザーは別のコンピューターのデスクトップ インターフェイスをリモートで制御できます。Raspberry で VNC を使用するその他の利点は次のとおりです。

  • オープンソースのスクリーンレコーダープログラムは数多くある
  • これにより、ユーザーはLinuxまたはWindowsシステムを使用してラズベリーを制御できるようになります。
  • 記録されたファイルはユーザーのコンピュータに保存されるため、ラズベリーのメモリカードに保存する必要はありません。
  • ラズベリーにモニター、キーボード、マウスを接続する必要はありません。
  • VNCを使用すると、サーマルカメラシステムを簡単に持ち運ぶことができます

VNC接続

VNC のセットアップは簡単です。ラズベリーと、ラズベリーをリモート制御するために使用するコンピューターの両方をセットアップする必要があります。

Raspberry Piのセットアップ

  • LXTerminalにアクセスし、Tight VNCパッケージをインストールします。
  • TightVNCサーバーを実行する
  • サーバーはパスワードの入力を求めます。パスワードは4文字以上9文字未満である必要があります。
  • LXTerminal では、入力中のパスワードは表示されません。パスワードを入力して Enter キーを押すだけです。
  • VNCセッションを開始する
  • 「:1」はVNCセッションの数を表します(複数のVNCセッションを持つことができます)
  • 画面の解像度を変更することができます。この例ではフルHD解像度(1920x1080)を使用しています。
  • 起動時からVNCセッションを設定したい場合は、elinux.orgのWebサイトの指示に従ってください。
  • VNC セッションを終了する場合は、次のコマンドを使用します。
  • 「:display」はVNCセッションの番号です

コンピュータの設定

  • コンピュータの設定の最後のステップでは、Raspberry Pi の IP アドレスが必要になります。Raspberry Pi の IP アドレスがわからない場合は、LXTerminal で次のコマンドを実行してください。
  • IPアドレスは青いボックス内の数字です
IPアドレス

ウィンドウズ

Raspberry.org: Windows Web サイトで、Windows ベースのコンピューター用の手順に従ってください

リナックス

Raspberry.org: Linuxウェブサイトにある Linux ベースのコンピューター向けの手順に従ってください

マックOS

Raspberry.org: Mac OS Web サイトで、Mac OS ベースのコンピュータ用の手順に従ってください

スクリーンレコーダーソフトウェア

Lepton Thermal カメラがコンピューターに送信するビデオをキャプチャするには、スクリーン レコーダー ソフトウェアが必要です。任意のプログラムを使用できます。オープン ソース ソフトウェア オプションをいくつか示します。

ウィンドウズ

ShareXをダウンロードしてテストしました。ShareXは、画面の録画、画面の印刷、その他多くのツールを備えたオープンソースソフトウェアです。このソフトウェアはgetsharex.comから無料でダウンロードできます。

リナックス

マックOS

Raspberryでビデオを録画する

これは進行中の作業です

ffmpeg をソースからインストールします。この手順は非常に重要です。Debian バージョンの libavcodec にはフラッシュ ストリーミング プロトコルに必要な H264 ライブラリが含まれていないため、Raspberry バージョンの ffmpeg では動作しません。(Raspberryフォーラムより)

  • ffmpegの実行

これにより、デスクトップから、左上隅 (x=250、y=150) から幅と高さが 1024x768 の画像が取得されます。この例では、ビデオは一時フォルダーに保存されていますが、別のフォルダーに保存することもできます。「out.avi」の形式は「filename.fileformat」です。

ffmpeg の詳細については、こちらおよびffmpeg.org Web サイトをご覧ください。

私たちのアプリケーション

Pure Engineering のコードを実装して、Lepton カメラ用の新しいアプリケーションを作成できます。ニュース アプリケーションに役立つ機能と手順が記載された FLIR の優れたファイルがあります。このファイルは前の手順で既にダウンロードされています。このファイルを見つけるには、次の手順に従います。

  1. Piディレクトリに移動し、「LeptonModule-master」を開きます。
  2. 「raspberrypi_video」フォルダを開きます
  3. 探しているファイルは「lepton_interface_design_document.pdf」です

このファイルを使用して、いくつかのアプリケーションを作成しました。以下で確認できます。

カメラの内部温度を取得する

With this applications, we are able to see what is the camera internal temperature. It can be very helpful for future applications because there is a relationship between the output from the camera and its internal temperature. We will describe below what we did:

  • Go to the "Pi directory"
  • Open the "LeptonModule-master"
  • Open the "raspberrypi_video"
  • Open the file "Lepton_I2C.cpp"
  • In this file, you will declare the function witch will get the Internal temperature:
  1. First of all, you need add these line of code below "#include "leptonSDKEmb32PUB/LEPTON_Types.h""
#include "leptonSDKEmb32PUB/LEPTON_AGC.h"
  • Now, add this line of code below "LEP_CAMERA_PORT_DESC_T _port;"
LEP_SYS_FPA_TEMPERATURE_KELVIN_T fpa_temp_kelvin;LEP_RESULT result;
  • Now, you will declare the function. Go to the end of this file and add the function:
int lepton_temperature() {if(!_connected) {lepton_connect();}result = ((LEP_GetSysFpaTemperatureKelvin(&_port, &fpa_temp_kelvin)));return ( fpa_temp_kelvin);}
  • You need to save what you typed. Go to the files and save it.
  • Go back to the "raspberry_video " and open "Lepton_I2C.h"
  • you need to add this line of code below the " void lepton_perform_ffc();"
int lepton_temperature();
  • Now, we have the function lepton_temperature() that can return you the internal temperature of the camera. If you want to use this value for any calculation, you just need to declare a variable , and match with this function that you created.

Temperature scale

The Lepton camera uses the internal temperature as a parameter. The output frame for the internal temperature is 8192. If the range of the temperature is not too big, the whole output range will follow an almost linear relationship with this point ( Internal Temperature, 8192).

Get the maximum and minimum temperature

With that information we are able to get an approximated temperature from any output. In order to do that we took an experimental point ( Temperature and output) using the hot plate available in the Michigan Tech Lab. After this, we did a linear equation using two points : ( Internal Temp , 8192) and ( Experimental Temperature , Experimental Output ) . You can see the equation below:

Temperature( Kelvin) = (8192 - (Internal Temperature * ( (Experimental Frame- 8192 )/ ( Experimental Temperature - Internal Temperature )))

If you analyse the original code in the file "Lepton Thread.h", you can see that you are able to take the maximum and minimum output frame. Therefore , if you use the Maximum and Minimum output on the equation above, you can find the Maximum and Minimum temperature.

Color and Frame relationship

if you take a look at the original code at the file "Lepton Thread.h", you can realize some important points :

  1. The code gives the maximum and minimum output frame.
  2. The variable "value " gives the relationship with the color.
  3. 値の範囲は 0 < 値 < 255 です。
  4. 最大フレームは値 = 255 を表します。
  5. 最小値は値 = 0 を表します。

したがって、直線性と最後の 2 つのポイント ( MaxFrame 、値 = 255) と ( MinFrame 、値 = 0) を使用して、フレームと色の関係を見つけることができます。

フレームと温度の関係

私たちは次のことを理解できます。

  1. 最大フレームは最大温度に関係します。
  2. 最小フレームは最小温度と関係があります。

上記の 2 つのポイントと直線性を使用すると、フレームと温度の関係を見つけることができます。

  • フレーム最大 --> 温度最大
  • フレーム最小値 --> 温度最小値

出力フレームの範囲を設定する

レプトン カメラからの出力範囲を制限することができます。したがって、狭い範囲の温度だけを確認したい場合は、それが可能です。以下の手順に従う必要があります。

  • 「LeptonThread.cpp」ファイルに移動します
  • maxValue と minValue を取得するコード行を探します。(ループ「for ( int i = 0 : i < FRAME_SIZE_UNIT!; i++)」内にあります)
  • 上記の行の後に、出力を設定します。例を参照してください: 。
  • 出力値を設定したら、以下の条件を追加します。(同じループ「for ( int i = 0 : i < FRAME_SIZE_UNIT!; i++)」内である必要があります)
Cookies help us deliver our services. By using our services, you agree to our use of cookies.