Lepton Camera Module |
Camera Module mit Breakout Board V1.4 |
- Raspberry PI (Modell 2,3 oder 4)
- Micro SD-Karte (ab 8GB)
- USB-Steckernetzteil mit Micro USB (oder USB-C) Kabel (je nach Raspberry PI Modell)
- LAN-Kabel und Zugang zu einem Switch oder Router mit bestehender Internetverbindung
- Idealerweise einen Rechner mit (SD-Karten-Slot) um das Image für den Raspberry vorzubereiten
- Ein Monitor für den Raspberry PI mit HDMI oder MINI-HDMI-Kabel
- USB-Tastatur, Maus
- Lepton Thermal Kamera Breakout Board
Ist alles vorhanden, dann ist die Verdrahtung des Kamera Moduls mit dem PI herzustellen. Am einfachsten verwendet man die Jumper-Kabel (Female-Female) die in der Modulbastelwelt sehr beliebt sind. Ein Lötkolben ist für viele Demo- und Testaufbauten nicht mehr notwendig... Die folgende Skizze zeigt die herzustellende Verdrahtung:
Das Pinning ist hier nochmals angeführt:
- Raspi GPIO PIN01 (3V3) --> Lepton Pin VIN
- Raspi GPIO PIN03 (SDA) --> Lepton Pin SDA
- Raspi GPIO PIN05 (SCL) --> Lepton Pin SCL
- Raspi GPIO PIN06 (GND) --> Lepton Pin GND
- Raspi GPIO PIN19(MOSI) --> Lepton Pin MOSI
- Raspi GPIO PIN21(MISO) --> Lepton Pin MISO
- Raspi GPIO PIN23(CLK) --> Lepton Pin CLK
- Raspi GPIO PIN24(CEO) --> Lepton Pin CS
Als Betriebssystem für den Raspberry Pi habe ich Raspbian installiert. Das geht entweder über den Download des RASPBIAN Images von der Webseite https://www.raspberrypi.org/downloads/raspbian oder auch über den NOOBS Installer. Mit dem Tool "etcher" oder "win32diskimager" kann die Image Datei auf die SD-Karte geschrieben werden. Wer mit NOOBS arbeitet braucht nur die zip-Datei auf die FAT32 formatierte SD-Karte zu entpacken. Ist das erledigt, dann einfach die SD-Karte in den Raspberry stecken, Monitor, Keyboard und Maus an den PI anstecken und zum Schluss die Stromversorgung aktivieren. Wenn NOOBS auf der Karte ist, dann wird nach dem Start eine Auswahl an zu installierenden Betriebssystemen angezeigt. Hier am besten auch RASPIAN auswählen und die Installation starten. Ist das abgeschlossen, dann ist je nach gewähltem Image entweder nur eine Konsole oder eben ein Desktop zu sehen. Im letzten Fall ist dann ein Terminal zu öffnen, damit in der Konsole weitergearbeitet werden kann.
Mit sudo raspi-config ist nach dem login in die Konsole das Raspberry PI Config - Tool zu öffnen. Darin sind folgende Services zu aktivieren:
- SPI (unter Advanced Options)
- SSH (unter Advanced Options)
- I2C (unter Advanced Options)
- Enable Camera (im Hauptmenu des raspi-config tools)
Danach ist der Raspberry zu rebooten. Nach dem erneuten Start und login (als User pi mit default Passwort raspberry) muss das Paket openCV installiert werden. Mit sudo apt-get install python-opencv ist das erledigt.
Auf GitHub habe ich eine Python Library von brandoncurtis und kekiefer für das Lepton Board gefunden. Die Library nennt sich pylepton und ist auf https://github.com/groupgets/pylepton zu finden.
Mit git clone https://github.com/kekiefer/pylepton.git legen wir das Repository an und wechseln danach in das Verzeichnis cd pylepton. Jetzt kann das Setup Skript ausgeführt werden: sudo python setup.py install.
Mit dem folgenden kleinen Codebeispiel wird die Lepton Kamera ausgelesen, das 80x60 Pixel große Bild auf 800% skaliert und angezeigt.
import numpy as np
import cv2
from pylepton import Lepton
with Lepton() as lepi:
a,_ = lepi.capture()
cv2.normalize(a, a, 0, 65535, cv2.NORM_MINMAX) # extend contrast
np.right_shift(a, 8, a) # fit data into 8 bits
cv2.imwrite("output.jpg", np.uint8(a)) # write it
img=cv2.imread('output.jpg')
cv2.imshow('Thermobild', img)
print('orig dimensions: ',img.shape)
scale_percent = 800
width = int(img.shape[1] * scale_percent / 100)
height = int(img.shape[0] * scale_percent / 100)
dim = (width, height)
resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)
print('Resized Dimensions : ',resized.shape)
cv2.imshow("Thermobild scaled", resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
exit()