이 튜토리얼은 Raspberry Pi를 사용하여 Lepton 카메라를 설치하려는 모든 사람을 돕기 위해 만들어졌습니다. 우리는 많은 튜토리얼에서 제공되는 정보를 사용하고 이를 개선하기 위해 자체 지식을 추가했습니다.

우리가 테스트한 장치는 Raspberry Pi B+이지만 다른 버전의 장치에서도 설치가 크게 다르지 않아야 합니다.

Lepton 카메라 소개

Lepton은 기본 모바일 장치 인터페이스 및 기타 가전 제품과 쉽게 인터페이스하도록 설계된 완전한 장파 적외선(LWIR) 카메라 모듈입니다. 이는 공칭 응답 파장 대역(8~14미크론)에서 적외선 입력을 캡처하고 균일한 열 이미지를 출력합니다.

환경사양

작동 온도 범위10°C ~ 65°C(-20°C ~ 75°C(일부 성능 저하 가능))
최대 작동 온도353.15K(80°C)
보관 온도40°C ~ 80°C
상대습도95%
열충격작동 온도 전반에 걸쳐 공대공. 극한(-10°C ~ 65°C, 65°C ~ -10°C)
진동운송 프로필, 4.3grms

이미지 특성

장면 내 범위0K ~ >400K(-273.15°C ~ > 126.85°C)
조작성: 양품 픽셀 수>99.0%(일반적으로 < 1% 결함)

응용

  • 안전과 보안
  • 자동차
  • 마이크로 및 나노 UAV/UGV 플랫폼
  • 주택 수리 및 에너지 효율성
  • 건물 자동화 및 존재 감지

Lepton 카메라에 대한 더 많은 사양을 알고 싶다면 Lepton 데이터시트를 방문하세요.

그림 1: Lepton 카메라

하드웨어

필수 재료

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카드를 포맷하고 준비하겠습니다. 이 섹션에서는 컴퓨터를 사용하게 됩니다. 첫 번째 단계는 카드를 포맷하는 것이고 두 번째 단계는 NOOBS 소프트웨어를 설치하는 것입니다(라즈베리에 필요합니다). 이 튜토리얼에서는 OS 창을 사용합니다. 다른 OS가 있는 경우 여기에서 단계를 확인할 수 있습니다.다른 OS . 다음 지침을 따르십시오.

카드 포맷하기

  1. 온라인에 접속하여 Windows용 포맷터를 다운로드하세요.
  2. 다운로드의 압축을 풀고 추출한 후 Setup.exe를 실행합니다.
  3. SDFormatter InstallShield Wizard가 프롬프트되면 프로그램을 승인하고 설치한 후 완료를 클릭하십시오.
  4. 다음으로 SD Formatter(방금 설치한 프로그램)를 엽니다. 다음과 같은 내용이 표시되어야 합니다.그림 2: SDFormatter
  5. 옵션을 클릭하고 형식 크기 조정을 ON으로 설정한 다음 확인을 클릭하세요.그림 2.1 : 옵션 설정
  6. "드라이브"가 나열된 곳에서 카드를 선택하세요. 컴퓨터에서 카드를 하나만 사용하는 경우 해당 카드가 자동으로 선택됩니다.
  7. "포맷"을 클릭한 다음 나타나는 대로 "확인"을 세 번 클릭합니다.
  8. 이제 SD 카드가 포맷되었습니다! 다음 단계는 NOOBS 소프트웨어를 설치하는 것입니다.

NOOBS 소프트웨어 설치

  1. Raspberry Pi 다운로드 페이지를 방문하여 최신 NOOBS(오프라인 설치)(2015-05-11 기준 NOOBS_v1_4_1.zip)를 다운로드하세요.
  2. 압축을 풀고 다운로드를 추출합니다. 추출된 폴더는 다음과 같아야 합니다.그림 3: NOOBS 다운로드
  3. 이제 추출된 폴더 내용을 최근 포맷한 SD 카드에 복사해야 합니다.
  4. 이제 카드를 사용할 수 있습니다!

사이

Lepton 카메라를 조심하세요. 정전기 방전에 특별히 민감하지는 않지만 복잡하고 상대적으로 가격이 비싼 구성 요소입니다. 실수로 손상되지 않도록 작업하는 동안 몇 가지 예방 조치가 필요합니다. 믿을 수 있는 투자 중 하나는 브레드보드입니다. 카메라를 설치할 수 있는 안전한 위치를 제공합니다.

이제 프로젝트 빌드를 시작할 수 있습니다. 아래 단계를 따르십시오.

Lepton 카메라를 라즈베리에 연결하세요

  • 연결에는 브레드보드를 ​​사용하세요.
  • 그림 4의 다이어그램에는 20개의 GP10(소나무 40개)이 있고 Raspberry Pi에는 13개의 GP10(소나무 26개)이 있습니다. 이 프로젝트에서는 처음 26개의 소나무만 중요합니다.
  • CS 핀에 대해 빨간색 사각형이 나타나면 핀 26을 핀 24로 전환하십시오.
그림 4: 다이어그램

모니터를 연결하세요

  • 라즈베리와 디스플레이 모니터 사이에 HDMI 케이블을 연결합니다. (VGA-HDMI 어댑터가 필요할 수 있음)

USB를 통해 마우스와 키보드 연결

준비된 SD 카드를 라즈베리에 삽입하세요

  • SD 카드가 올바르게 연결되면 딸깍 소리가 나면서 제자리에 고정됩니다.

인터넷 연결 설정

  • 이 프로젝트를 활용하고 라즈베리 파이가 제공할 수 있는 기능을 최대한 활용하려면 여러 소프트웨어 다운로드가 필요합니다. 그러므로 인터넷 연결이 매우 중요합니다.
  • 이더넷 케이블이나 Wi-Fi 어댑터를 사용할 수 있습니다. Wi-Fi 어댑터에 대한 지침은 여기에 있습니다.

전원을 연결하세요

  • 마지막으로 이전 연결을 최종 확인합니다. 작동하는 경우 전원 공급 장치를 Raspberry에 연결하십시오. (우리는 휴대폰 충전기 케이블을 사용했습니다)

하드웨어 섹션이 완료되었습니다! 프로젝트는 다음과 같아야 합니다.

WiFi 어댑터

WiFi 어댑터를 사용하여 Raspberry Pi를 인터넷에 연결할 수 있습니다. Raspberry Pi에 WiFi 어댑터를 사용하려면 아래 지침을 따르십시오.

Raspberry Pi 공식 웹사이트에서는 WiFi 어댑터 설치를 위한 3가지 튜토리얼을 제공합니다. 우리가 시도했을 때 해당 지침이 작동하지 않았습니다. 그들은 다른 사람들을 위해 일할 수 있기 때문에 여기에서 찾을 수 있습니다 .

이 튜토리얼에서는 우리에게 도움이 되는 명령을 사용할 것입니다.

  • WiFi 어댑터를 라즈베리 파이에 연결합니다.
  • Raspberry Pi 데스크탑에서 LXT 터미널을 엽니다.

LXT 터미널의 명령줄

  • Raspberry Pi에 사용할 수 있는 WiFi 신호를 확인하려면 다음 명령을 입력하세요.

추신: 특히 Michigan Tech Labs의 경우 Michigan Tech WiFi를 공유하려면 자체 컴퓨터에 오픈 소스 소프트웨어를 다운로드해야 했습니다. 오픈 소스 소프트웨어는 가상 라우터입니다. 가상 라우터 링크에서 다운로드할 수 있습니다 . 이 소프트웨어를 사용하면 Michigan Tech WiFi를 라즈베리와 공유할 수 있습니다. 이름과 비밀번호만 입력하면 됩니다. 위의 예를 살펴보십시오.

그림 6 : 가상 라우터

sot 설치가 완료되면

  • 사용 가능한 모든 WiFi가 표시됩니다. ISSD와 선호하는 WiFi 연결의 비밀번호를 확인하세요.
  • 다음 명령을 입력하십시오.
  • 아래 코드를 파일에 추가하세요. IDSS와 비밀번호를 기억해 보세요.
  • 예는 다음과 같습니다.
  • 완료되면 Ctrl + X를 사용하고 Y를 선택한 다음 Enter를 누릅니다. (변경사항이 저장됩니다.)
  • 변경 사항을 활성화하려면 다음을 사용하십시오.
  • 그런 다음 다음을 입력하십시오.
  • 다음 명령을 사용하여 WiFi가 작동하는지 확인합니다.
  • Wlan0은 선택한 WiFi에 연결됩니다.

소프트웨어

소프트웨어를 설치하면 Raspberry Pi를 사용할 수 있습니다.

라즈비안

Raspbian은 Raspberry Pi 하드웨어에 최적화된 Debian 기반의 무료 운영 체제입니다. Raspberry Pi에 이상적인 운영 체제입니다.

  • 라즈베리 신호와 모니터 디스플레이 사이에 지연이 있을 수 있으며 이는 정상입니다. 그림 7은 표시된 화면을 보여줍니다.그림 6 : 라즈비안 설치
  • 첫 번째 옵션(Raspberry RECOMMENDED)을 클릭합니다.
  • "설치"를 클릭하세요. 설치하는데 약 30분정도 소요됩니다.

이 부분이 끝나면 Raspberry Pi를 사용할 수 있습니다.

FLIR Lepton 열화상 카메라 소프트웨어

Raspbian 설치가 완료되면 FLIR Lepton 열화상 카메라 소프트웨어를 설치할 차례입니다. 우리는 Lepton을 실행하기 위해Pure Engineering 코드를 사용하고 있습니다.

  • 이제 명령을 입력할 LXTerminal을 열어야 합니다. 아래 그림에 표시된 아이콘을 클릭하세요.
그림 7 : LXT 터미널
  • 다 되었으면 아래 명령어를 입력해야 합니다. 구성 섹션이 열립니다.
  • 다음 창이 표시됩니다.그림 8: 구성 창
  • "고급 옵션"으로 이동합니다.
  • "SPI"를 활성화해야 합니다. 이를 위해 아래 지침을 따르십시오.
    1. SPI 선택
    2. SPI 인터페이스를 활성화해야 합니다. "예"를 클릭하세요.
    3. "확인"을 클릭하세요
  • 기본적으로 SPI 커널 모듈을 로드해야 하므로 "예"를 클릭하십시오.
  • "확인"을 클릭하세요
  • 그런 다음 I2C에도 동일한 작업을 수행합니다.
  • 이제 그림 8 끝에서 마침을 선택하고 라즈베리 파이를 재부팅하면 라즈베리 파이를 재부팅할지 묻는 메시지가 표시됩니다. 해.
  • 이제 인터넷 연결을 사용할 차례입니다. QT 애플리케이션(Pure Engineering의 예제 코드)을 다운로드해야 합니다. 따라서 인터넷 연결이 양호한지 확인하십시오.
  • 다음 단계를 위해 다음 명령을 입력합니다.
  • 그런 다음 "y" 또는 "n"을 입력하라는 메시지가 표시됩니다. "y"를 입력하세요.
  • 이제 인터넷 아이콘과 다음 웹사이트로 이동하세요: https://github.com/PureEngineering/LeptonModule
  • 웹사이트를 열면 "Download ZIP"(화면 오른쪽에 있음)을 클릭하세요.
  • 다운로드한 폴더를 pi 디렉터리로 이동합니다.
  • 이제 압축된 폴더의 압축을 풀어주세요. 다음 명령을 사용하십시오.
  • 이제 현재 디렉터리를 "LeptonModule-master" 폴더에 있는 "raspberrypi_video" 폴더로 변경합니다. 다음 명령을 사용하여 수행합니다.
  • 이제 "LeptonSDKEmb32PUB" 디렉터리로 이동하여 "make"를 실행해야 합니다.
  • 그런 다음 "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"를 누르세요
  • 엔터 키를 치시오
  • 시스템을 재부팅합니다. FFC가 지금 작동 중일 것입니다.

비디오 녹화

현재 FLIR Lepton 카메라로 제작된 영상을 녹화하는 가장 좋은 방법은 라즈베리를 PC나 노트북에 연결하는 것입니다. 이는 VNC(Virtual Network Computing)를 사용하여 쉽게 달성할 수 있습니다. VNC를 사용하면 사용자는 다른 컴퓨터의 데스크톱 인터페이스를 원격으로 제어할 수 있습니다. VNC를 Raspberry와 함께 사용하면 다음과 같은 다른 이점이 있습니다.

  • 많은 오픈 소스 스크린 레코더 프로그램이 있습니다
  • 사용자는 Linux 또는 Windows 시스템을 사용하여 라즈베리를 제어할 수 있습니다.
  • 녹음된 파일은 사용자의 컴퓨터에 저장되므로 라즈베리 메모리 카드에 저장할 필요가 없습니다.
  • 라즈베리에 모니터, 키보드, 마우스를 연결할 필요가 없습니다.
  • VNC를 사용하면 열화상 카메라 시스템을 쉽게 휴대할 수 있습니다.

VNC 연결

VNC를 설정하는 것은 쉽습니다. 라즈베리를 원격으로 제어하는 ​​데 사용할 라즈베리와 컴퓨터를 모두 설정해야 합니다.

라즈베리 파이 설정

  • LXTerminal로 이동하여 Tight VNC 패키지를 설치하세요.
  • TightVNC 서버 실행
  • 서버에서는 비밀번호 입력을 요구합니다. 비밀번호는 4자 이상 9자 미만이어야 합니다.
  • LXTerminal에서는 입력 중인 비밀번호를 볼 수 없습니다. 그냥 입력하고 엔터를 누르시면 됩니다.
  • VNC 세션 시작
  • ":1"은 VNC 세션 수를 나타냅니다(VNC 세션이 두 개 이상 있을 수 있음).
  • 화면의 해상도를 변경할 수 있습니다. 이 예에서는 풀 HD 해상도(1920x1080)를 사용합니다.
  • 시작 시 VNC 세션을 설정하려면 elinux.org 웹사이트 의 지침을 따르십시오.
  • VNC 세션을 종료하려면 다음 명령을 사용하십시오.
  • ":display"는 VNC 세션 번호입니다.

컴퓨터 설정

  • 컴퓨터를 설정하는 마지막 단계에서는 Raspberry Pi의 IP 주소가 필요합니다. Raspberry Pi의 IP 주소를 모르는 경우 LXTerminal에서 다음 명령을 실행하세요.
  • IP 주소는 파란색 상자에 있는 숫자입니다.
IP 주소

윈도우

Raspberry.org: Windows 웹사이트 에서 Windows 기반 컴퓨터에 대한 지침을 따르세요 .

리눅스

Raspberry.org: Linux 웹사이트 에서 Linux 기반 컴퓨터에 대한 지침을 따르세요 .

맥 OS

Raspberry.org: Mac OS 웹사이트 에서 Mac OS 기반 컴퓨터에 대한 지침을 따르세요 .

스크린 레코더 소프트웨어

Lepton Thermal 카메라가 컴퓨터로 전송하는 비디오를 캡처하려면 화면 녹화 소프트웨어가 필요합니다. 원하는 프로그램을 사용하시면 됩니다. 우리는 몇 가지 오픈 소스 소프트웨어 옵션을 나열하고 있습니다.

윈도우

ShareX를 다운로드하고 테스트했습니다. ShareX는 화면 녹화, 화면 인쇄 및 기타 다양한 도구를 제공하는 오픈 소스 소프트웨어입니다. getsharex.com 에서 소프트웨어를 무료로 다운로드할 수 있습니다.

리눅스

맥 OS

라즈베리에서 비디오 녹화하기

진행 중인 작업입니다.

소스에서 ffmpeg를 설치합니다. 이 단계는 매우 중요합니다. libavcodec의 Debian 버전에는 플래시 스트리밍 프로토콜에 필요한 H264 라이브러리가 포함되어 있지 않기 때문에 Raspbian 버전의 ffmpeg에서는 작동하지 않습니다.(Raspbian Forum 에서 )

  • ffmpeg 실행 중

그러면 너비와 높이가 1024x768인 (x=250, y=150)의 왼쪽 상단 모서리부터 시작하여 데스크탑에서 이미지를 가져옵니다. 이 예에서는 비디오가 임시 폴더에 저장되고 있으므로 다른 폴더에 저장할 수 있습니다. "out.avi"는 "filename.fileformat" 형식입니다.

ffmpeg에 대한 자세한 내용은 여기ffmpeg.org 웹사이트에서 확인할 수 있습니다 .

우리의 응용 프로그램

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. 최소값은 Value = 0을 나타냅니다.

따라서 선형성과 마지막 두 점( MaxFrame , Value = 255) 및 ( MinFrame , Value = 0)을 사용하여 프레임과 색상 간의 관계를 찾을 수 있습니다.

프레임과 온도 관계

우리는 다음을 깨달을 수 있습니다:

  1. 최대 프레임은 최대 온도와 관련이 있습니다.
  2. 최소 프레임은 최소 온도와 관련이 있습니다.

위의 두 점과 선형성을 사용하여 프레임과 온도 사이의 관계를 찾을 수 있습니다.

  • 프레임최대 --> 온도최대
  • FrameMin --> TempMin

출력 프레임에 대한 범위 설정

Lepton 카메라의 출력 범위를 제한할 수 있습니다. 그러므로 온도의 작은 범위만 보고 싶다면 그렇게 할 수 있습니다. 아래 단계를 따라야 합니다.

  • "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.