In diesem Beitrag möchte ich dir gerne die kleine 1080P HDMI Raspberry PI Camera B01 vorstellen.
Bezug
Diese kleine Kamera für den Raspberry PI habe ich über amazon.de für 13,99€* bezogen. Diese Kamera findest du etwas günstiger auf der Plattform ebay.de* jedoch leider ohne passendem Gehäuse.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Lieferumfang
Zum Lieferumfang des Bausatzes von amazon.de gehört:
- die Platine mit Kamera,
- ein Schraubendreher,
- vier M2 Schrauben mit Muttern,
- ein Gehäusebausatz,
- zwei Flachbandkabel (15cm und 30cm)
- eine farbige Anleitung
Technische Daten der Camera
- Sensor
- Typ: OV5647
- Breite: 0.6 inch
- Auflösung: 5 MP
- Bilder: 2592 px x 1944px
- Video: 1080P mit 30fps, 720P mit 60fps, 480P mit 90fps
- FPC Flachbandkabel 5.9″ (~15cm) / 11.8 inch (~30cm)
- Abmaße der Platine: 0.9 inch x 0.9 inch x 0.4 inch / 2,3cm x 2,3cm x 1cm
- Hersteller: Labists
Unboxing
Aufbau des Kameramodules B01
Das kleine 2,3cm x 2,3cm große Kameramodul verfügt über eine SMD LED zum anzeigen des Status, der Linse und sowie auf der Rückseite über einen Flachbandkabelanschluß. Diese kleine SMD LED wird aktiviert sobald ein Bild oder Video aufgenommen wird.
Aufbau des Gehäuses
Zum Aufbau des Gehäuses benötigst du lediglich einen Schraubendreher. Dem Bausatz liegt ein solcher bei, jedoch ist dieser von so geringer Qualität das dieser nicht einmal in den einfachen Plastikschrauben korrekt greift. Ich habe hier zu einem Set gegriffen welches ich mir für den Zusammenbau des OTTO DIY Sets auf amazon.de gekauft habe.
Nachdem das Gehäuse fertig aufgebaut wurde ist mir aufgefallen dass, das Flachbandkabel wohl vor der Montage angebracht werden muss denn im Gehäuse kommt man nur sehr schwierig an den Adapter. Des Weiteren sollte zum Schluss, die Schutzfolie von der Linse entfernt werden.
Einrichten des Raspberry PI 3
Damit die Kamera am Raspberry PI betrieben werden kann muss die Schnittstelle zunächst aktiviert werden. Das aktivieren ist je nach verwendetem Betriebssystem und Oberfläche etwas anders. Da ich den Raspberry PI als Server verwende steht mir die Konsole über die Anwendung MobaXTerm zur Verfügung.
Für diesen Beitrag verwende ich den Raspberry PI 3 diesen Einplatinencomputer habe ich bereits im Beitrag Raspberry PI Model 3 B+ unboxing und erster betrieb vorgestellt.
In der farbigen Anleitung zu dieser Kamera findest du eine Erläuterung wie du dieses über die Oberfläche einrichtest, hier möchte ich dir gerne zeigen wie du über ein Terminalfenster die Schnittstelle für die Kamera aktivierst.
Zunächst starten wir das Konfigurationsmenü mit dem Befehl
sudo raspi-config
Durch das Konfigurationsmenü navigierst du mit den Pfeiltasten deiner Tastatur. Es wird dabei ein Eintrag rot / rosa hinterlegt und repräsentiert dann den markierten Eintrag welchen du mit der Entertaste bestätigen kannst. Dieses machst du in den Optionen sowie auch in den Dialogen.
Im ersten Schritt haben wir das Konfigurationsmenü gestartet, danach wählst du den fünften Eintrag “Interfacing Options” aus. Auf der neuen Seite wählst du nun den bereits markierten Eintrag “P1 Camera” aus und kannst dieses nun über den Dialog aktivieren, dieses wird dir durch einen zusätzlichen Dialog bestätigt welchen du wiederum bestätigen musst.
erste Programme mit Python3 schreiben
Für das erstellen nachfolgenden Programme benötigst du Python3, ich gehe davon aus das du dieses bereits auf deinem Raspberry installiert und eingerichtet hast. In der farbigen Anleitung zu der Kamera findest du zwei Anleitungen, zum einen wie du ein Bild aufnehmen kannst und zum anderen wie du ein kurzes Video aufzeichnest und dieses als Datei in dein HOME Verzeichnis speicherst.
Das Grundgerüst zum Aufnehmen von Bilder & Videos ist jeweils das selbe.
#Modul PiCamera aus der Bibliothek picamera from picamera import PiCamera #Funktion sleep aus der Bibliothek time importieren from time import sleep #Camera Objekt initialisieren camera = PiCamera() #Camera starten camera.start_preview() #10 sek. Pausieren sleep(10) #Camera stoppen camera.stop_preview()
Bild aufnehmen
Möchte man nun ein Bild aufnehmen so muss man nachdem die Kamera mittels des Befehls
camera.start_preview()
gestartet wurde, die Aufnahme mit dem Befehl
camera.capture('/home/pi/cam/image.jpg')
gestartet. Die Funktion “capture” erhält als Parameter einen Absoluten Pfad inklusive Dateiname.
In diesem Beispiel wird die Datei “image.jpg” im Homeverzeichnis des Benutzers “pi” angelegt.
Eine eventuell bereits unter diesem Namen vorhandene Datei wird in diesem Fall überschrieben.
Die Aufnahme eines Bildes dauert auf dem Raspberry PI 3 ca. 3 Sekunden. (Von dem ausführen des Skriptes bis die Datei fertig geschrieben ist.)
Das gesamte Python3 Programm zum aufnehmen eines Bildes mit der PiCamera:
from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() sleep(3) camera.capture('home/pi/cam/image1.jpg') camera.stop_preview()
Ergebnis
Die kleinen, roten Lichter im Bild sind Spiegelungen der SMD LED im Fenster von der Kamera.
Video aufnehmen
Nachdem wir nun ein Bild aufgenommen haben, möchten wir ein kurzes Video aufnehmen. Hier müssen wir statt der Funktion “capture” die Funktion “recording” verwenden. Als default wird der Codec H264 in einer Auflösung von 640×480(4:3).
Hier nun das gesamte Programm zum aufnehmen eines 15 Sekunden Videos:
from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() sleep(3) camera.start_recording('/home/pi/cam/testVideo.h264') sleep(15) camera.stop_preview()
Ergebnis
alternative Aufnahme von Videos über raspivid
Mit dem Befehl “raspivid” (und einige Parameter) auf der Konsole kannst du ein Video unabhängig von Python3 aufnehmen.
Alle möglichen Parameter dieses Befehls kannst du dir mit dem ausführen von
raspivid
auf der Konsole anzeigen lassen.
Ich möchte hier auf die benötigten Parameter eingehen um ein Video im FullHD Format also 1980 x 1080 (16:9) aufnimmt.
-o = legt die Datei in das aktuelle Verzeichnis ab
test.h264 = der zukünftige Dateiname
-t = eine Zeit in Millisekunden (im folgenden Beispiel sind es 10 Sekunden)
pi@raspberrypi:~/cam $ raspivid -o test.h264 -t 10000
Streamen von Videos mit der Raspberry PI Camera B01
Als nächstes möchte ich dir nun gerne zeigen wie du ein Video mit “raspivid” und dem VLC Player von der Camera B01 streamen kannst.
Zunächst musst du auf deinem Raspberry PI das Tool “vlc” installieren.
Bevor man etwas installiert hat es sich etabliert zunächst ein Update mit Hilfe von
sudo apt-get update
durch zuführen.
Nachdem ggf. Updates installiert worden sind können wir mit dem Befehl
sudo apt-get install vlc
das benötigte Tool vlc installieren. Während der Installation wird man aufgefordert das hinzufügen von Paketen zu bestätigen, hier muss dieses mit “Y” bestätigt werden.
Alternativ kannst du auch an dem Befehl den Parameter “-y” hängen, dann wird automatisch die Auswahl “YES” gewählt. Dieser Parameter funktioniert aber nicht bei kritischen Änderungen hier musst du trotzdem bestätigen!
Wenn du nun das Tool installiert hast kannst du mit dem Befehl:
raspivid -o - -t 0 -n -w 640 -h 480 -fps 30 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264
einen Stream starten. Der Stream läuft mit einer Auflösung von 640×480 Bildpunkten und 30 Fps (Bilder pro Sekunde) auf dem Port 8554. Sollte der Port 8554 bei dir bereits belegt sein so muss dieser angepasst werden.
Über die Parameter “-w” & “-h” kann die Breite bzw. die Höhe des Videos bestimmt werden. Sowie die Framerate mit dem Parameter “-fps”. Die Kamera hat jedoch nur bestimmte Kombinationen aus Auflösung und Framerate. Sollte eine ungültige Kombination eingestellt worden sein, so wird dieses auf der Konsole wie folgt quittiert:
[72c06570] h26x demux error: this doesn't look like a h264 ES stream, continuing anyway [72c03bf8] main demux packetizer debug: looking for packetizer module matching "any": 25 candidates [72c03bf8] main demux packetizer debug: using packetizer module "h264" [72c06570] main demux debug: using demux module "h26x" [72c03038] main stream error: unknown query 0x30e in demux_vaControlHelper
Du kannst nun mit dem kostenfreien Tool VLC Player diesen Stream öffnen. Hier musst du über das Hauptmenü wie folgt navigieren “Medien” > “Netzwerkstream öffnen…”. In diesem neuen Dialog wird nun die IP-Adresse des Raspberry PI eingeben. Als Protokoll wird das RealTimeStreamingProtocol kurz rtsp verwendet.
In meinem Fall ist der Raspberry PI über die IP-Adresse 192.168.178.46 erreichbar, somit ergibt sich für mich folgende Adresse:
rtsp://192.168.178.46:8554/
Mein Raspberry PI ist über WiFi angeschlossen und bietet bei der Auflösung von 640×480 Bildpunkten und 30 Fps das beste Ergebnis.
Fazit
Diese kleine Kamera ist innerhalb von maximal 10 Minuten aufgebaut und in weiteren 2min. konfiguriert und einsatzbereit. Leider braucht diese Kamera viel Licht um die angegebene Qualität von 1080P zu liefern. Aber wenn man die Auflösung etwas runterschraubt und die Framerate ebenso anpasst liefert diese Kamera eine Moderate Leistung für den Preis von knapp 14€.
Es gibt diese Kamera auch als 8MP Version und mit Nachtsichtoption für knapp den doppelten Preis auf amazon.de (~ 30 €).
Schöner und umfangreicher Beitrag.Vielen Dank auch für die kleinen Tipps, wie zum Beispiel das mit den Schraubendrehern.