Für den Raspberry Pi werden mittlerweile sehr gute Kamera-Module angeboten, die man für Zeitrafferaufnahmen oder Fluglochbeobachtungen nutzen kann.
Die Videos oder Bilder können Grundlage für bienenbezogene KI-Anwendungen wie videobasierte bee counter oder Schwarm-Alarme sein, auch das Monitoring der invasiven Velutina wie bei VespAI wäre theoretisch darüber möglich. Im outdoor-Einsatz müsste man sich aber Gedanken über einen guten Wetterschutz machen.
Hardware-Setup der Kamera
Bildsensor
Die RasPi HQ-Cam ist ein “nacktes” Kamera-Modul nur mit Bildsensor (man braucht dazu zwingend ein separat zu kaufendes Objektiv!):
- Raspberry Pi High Quality Kamera-Modul bei Berrybase
- Dokumentation dazu [PDF]
Es ist mit ca. 60 EUR recht teuer (Stand 2025-02) und hat einen:
- 12,3 Mpx Sensor von Sony
- Stativgewinde
- IR-Filter
- kein Gehäuse
- kein Autofocus
- Lieferung ohne Objektiv(e)
- es ist ein CS-mount, das mit einem beiliegenden Adapterring auch für C-mount-Objektive versendet werden kann
Das mitgelieferte Flachbandkabel ist ca. 20 cm lang. Wem das nicht reicht gibt es auch längere. Leider ist das Kabel nur für den RasPi 4 geeignet, dieser hat einen 15-poligen Anschluss mit 1 mm Rastermaß. Der RasPi 5 dagegen hat einen 22-poligen Anschluss mit 0,5 mm. Daher brauche man für den 5er z.B. dieses Adapterkabel das es mit 30 oder 50 cm Länge gibt.
Weiter sollte man beim Kamera-Modul darauf achten, dass ein Adapterring beiliegt! Ohne den Adapter kann das Modul nur für CS-mount-Objektive genutzt werden, s. unten.
Praktisch ist auch die Pro Mounting Plate von the PiHut, damit ist RasPi und Kamera über ein Stativgewinde montierbar.
Objektive
Das Modul kann mit variablen Objektiven genutzt werden, dabei muss der Objektiv-Typ beachtet werden:
C- und CS-mount-Objektive nutzen das gleiche Gewinde, unterscheiden sich aber beim Abstand zum Bildsensor um ca. 5 mm und brauchen ggf. einen Adapterring [PDF], genaue Details zu den Unterschieden gibt es im Artikel von e-consystems.com.
C-Mount-Objektiv sind damit direkt mit C-Modulen kompatibel. Sie können aber auch mit CS-Modulen / Bildsensoren verwendet werden, indem ein C-CS-Mount-Adapter (5 mm Distanzring) zwischen Objektiv und Kamera eingesetzt wird.
→ Hier nicht vom wording verwirren lassen, der C-CS-Adapter (manchmal liest man auch nur CS-Adapter) ist für C-Objektive, die mit einem CS-Module verwendet werden sollen und nicht, wie man vielleicht meinen möchte, für CS-Objektive!)
CS-Objektive können somit nicht mit reinen C-Modulen verwendet werden! Daher besser einen CS-Sensor verwenden, der dann für CS-Objektive und, mit Adapter, auch für C-Objektive nutzbar ist!
Verwendete Objektive und Montage
-
6 mm Weitwinkelobjektiv, CS-Mount bei Berrybase
– Dokumentation dazu [PDF]
– Als CS-Objektiv braucht es keinen C-CS-Adapter, diesen daher vom Modul abschrauben, falls der montiert ist! -
16 mm Teleobjektiv, C-Mount bei Berrybase
– Dokumentation dazu [PDF]
– Dies ist ein C-Objektiv und wir müssen den C-CS-Adapter hier verwenden!
Interessant ist auch, dass die ja nur aus Optik bestehenden Objektive ein Megapixel-Angabe (MP) haben. Das Weitwinkel ist mit 3 MP, das Tele mit 10 MP angegeben. Subjektiv ist das Tele von der Bildqualität auch besser, aber nicht 3x wie es 3 MP vs. 10 MP vermuten lassen.
Die Angaben zum Mindestabstand sind beim Berrybase Weitwinkel falsch! Man kann bis auf wenige Millimeter mit dem Objekt an das Objektiv ran und es immer noch scharfstellen. Die Angaben von 20 cm Mindestabstand beim Tele passen grob, es sind eher 25 cm.
Zur Montage und zur Einstellung siehe die Doku der beiden Objektive! Man stellt zuerst die Blende ein und dann den Focus, aber zuerst müssen wir die …
Kamera an RasPi anschließen
Der RasPi muss heruntergefahren und vom Strom getrennt sein wenn wir die Kamera mit dem Flachbandkabel anschließen. Ob wir die Kamera an CAM/DTSP 0 oder 1 anschließen ist ega, wir können beide verwenden.
-
Beim RasPi 4 muss das Flachbandkabel so eingesteckt werden, dass die glänzenden Kontakte in Richtung Micro-HDMI-Buchse zeigen.
-
Auf RasPi 5-Seite muss das Flachbandkabel so eingesteckt werden, dass die glänzenden Kontakte in Richtung Ethernetbuchse zeigen!
Achtung beim 5er-Modell ist es genau anders herum als beim 4er! Dort braucht man auch ein anderes Flachbandkabel (s.o.).
-
Auf Kamera-Seite muss the shiny side of
lifecable in Richtung Platine zeigen.
Nun können wir den RasPi ans Stromnetz anschließen!
Software
Die Kammera funktioniert mit einem aktuellen Raspberry Pi OS out of the box!
In vielen Tutorials, die man (Stand 02-2025) noch im Netz findet wird berichtet, dass man die Kamera erst über raspi-config
aktivieren muss. Das ist nicht mehr der Fall! Den Menüpunkt gibt es im aktuellen raspi-config
auch gar nicht mehr.
Kamera mit RasPi testen
Wir verwenden rpicam-apps, s.a. die ausführliche Dokumentation, um die Kamera zu bedienen. Das tool hatte vor Bookworm den Namen libcamera
und ist seit Bookworm rpicam
.
Eine Vorschau des Kamerabildes bekommen wir mit:
rpicam-hello --timeout 0
Die Option --rotation 180
dreht das Bild um 180° leider gehen 90° nicht.
Mit Strg+C
können wir die preview abbrechen und das Vorschaufenster schließen. rpicam-hello
(ohne --timeout 0
) zeigt die Vorschau für 5 Sekunden an.
Fotos
rpicam-jpeg --output foto.jpg --timeout 2000
… zeigt 2 Sekunden ein Vorschaubild an (timeout in ms) und macht dann ein Foto mit dem Dateinamen foto.jpg
im selben Ordner in dem der Befehl aufgerufen wird.
rpicam-jpeg --output foto.jpg --timeout 1 -n
… macht sofort ein Foto ohne Vorschau (-n
).
Videos
rpicam-vid -o video.mp4 -t 30s
… zeichnet ein 30 sekündiges Video mit dem Dateinamen video.mp4
auf.
time-lapse-Video
rpicam-still --timeout 30000 --timelapse 2000 -o timelapse/image%04d.jpg
… macht Bilder für eine Zeitraffer-Aufnahme für 30 s (timeout
) und zwar alle 2 Sekunden (timelapse
), die Fotos werden im Ordner timelapse
, muss vorher von Hand erstellt werden, im Format image0000.jpg
, image0001.jpg
, image0002.jpg
usw. gepeichert also mit 4 digits / Ziffern und führenden Nullen.
Falls man mehrere Aufnahmen von Hand nacheinander auslöse möchte – etwa für stop-motion – verwendet man --keypress
statt --timelapse
und löst Fotoaufnahmen mit Return aus. Die --timeout
-Angabe ist immer noch nötig. Wenn bei langen Zeiten die ms-Angabe zu unübersichtlich wird, man kann sie mit s
in Sekunden --timeout 600s
oder mit min
in Minuten --timeout 10min
spezifizieren (Stunden gehen nicht!):
rpicam-still --timeout 30m --keypress -o timelapse/image%03d.jpg
Um aus den Bildern einen Film zu machen, s. https://www.raspberrypi.com/documentation/computers/camera_software.html#stitch-images-together.
Zwei nette ausführlichere (ggf. aber veraltete) Tutorials
- Raspberry Pi Time-Lapse in Four Easy Steps - Pi My Life Up
- 6 Monate Zeitraffer mit dem Raspberry Pi (Making-of)
Streaming über RTSP
Wenn wir einen Video-Stream im lokalen Netz nutze möchten, geht das auf dem RasPi mit
rpicam-vid -t 0 -n --codec libav --libav-format mpegts -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/stream}'
Der andere Rechner kann z.B. mittels VLC den stream über Medien > Netzwerkstram öffen und der Eingabe dort
rtsp://<ip-addr-raspi>:8554/stream
den stream anschauen, <ip-addr-raspi>
mit der IP des RasPis im lokalen Netz ersetzen! Bei mir ist der stream dann mit ca. 3 Sekunden Verzögerung im lokalen Netz zu sehen.
Siehe dazu auch https://www.raspberrypi.com/documentation/computers/camera_software.html#stream-video-over-a-network-with-rpicam-apps
Stream mit YOLO weiterverarbeiten
Auch diesen stream können wir – ähnich wie unter ESP-EYE: Videostream ins lokale Netz beschrieben – als input für Yolo nutzen.
Beim code müssen wir das Protokoll und Port noch anpassen
# import YOLO
from ultralytics import YOLO
# load the (prior exported) NCNN model
ncnn_model = YOLO("yolov8m-oiv7_ncnn_model")
# define inference source
source = "rtsp://<ip-addr-raspi>:8554/stream" # local Raspberry Pi video stream via RTSP
# run inference on the source, streams have to run in a loop!
for r in model(source, stream=True, conf=0.2, show=True, save=True):
pass