Raspberry PI Camera B01

In diesem Beitrag möchte ich dir gerne die kleine 1080P HDMI Raspberry PI Camera B01 vorstellen.

Raspberry PI 1080P HDMI Camera
Raspberry PI 1080P HDMI Camera

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.

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

Raspberry PI Camera B01 von 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.

Schraubendreher Set
Schraubendreher Set
Raspberry PI Camera B01 - Zusammebau

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.

Bild von der Raspberry PI Camera B01
Bild von der Raspberry PI Camera B01

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

getestete Videoeinstellungen

Im nachfolgenden möchte ich dir eine Tabelle als Anhaltspunkt bieten welche Auflösungen bei mir gut funktioniert haben. Der Raspberry PI war dabei über WiFi angebunden!

  12 fps 24 fps 25 fps 30 fps 50 fps 60 fps 90 fps
640×480              
800×600              
1280×720              
1920×1080              

 

sehr gut gut befriedigend Fehler

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/
VLC Player - Netzwerk Stream öffnen
VLC Player – Netzwerk Stream öffnen

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€). 

 

 

3 Kommentare

  1. Schöner und umfangreicher Beitrag.Vielen Dank auch für die kleinen Tipps, wie zum Beispiel das mit den Schraubendrehern.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert