Projekt > Raspberry Pi Dashcam

Pi Camera

  • Kamera
  • Installation
  • Konfiguration
  • Anwendungen
  • Shell-Scripte
  • Python
  • Links
  • Kamera

    Da dies eine DashCam werden soll wird eine Kamera benötigt. Für den Raspberry Pi gibt es mehrere Kameramodelle. Die Kamera Version 1 besitzt 5 MP und wird mit und ohne Infrarotfilter angeboten. Ich habe hier ein Modell in Version 1.3 und wegen der Nachtsicht ohne Infrarotfilter. Das Fehlen des Infrarotfilters hat allerdings den Nachteil, dass die Bilder rotstichig werden. Je nach Lichtguelle ändert sich dies.

    Mittlerweile gibt es eine Version 2 mit 8 MP, an welcher es Kritik gab. Diese gibt es ebenfalls mit und ohne Infrarotfilter.

    Es gibt auch verschiedene Modifikationen. So Kameras gibt es verschiedenen Objektiven oder gar mit Gewinde für Wechselobjektive. Ausserdem gibt es Zubehör wie ein Metallgehäuse mit Gewinde für Objektive oder ein Aufsatz mit Gewinde und Infrarotleuchtdioden.

    Installation

    Der Paspberry Pi besitzt zwei Anschlüsse für 15polige Flachbandkabel. Links im Bild über dem microSD-Kartenslot ist das Display Serial Interface (DSI) zum Anschluss eines Displays und rechts zwischen HDMI- und Audioanschluss ist das Camera Serial Interface (CSI), an welches die PiCamera angeschlossen wird.

    Der Bügel der Pfostenleiste wird herausgezogen (1), das Flachbandkabel hineingesteckt (2) und der Bügel wieder hineingedrückt (3). Die blanken Kontakte des Kabels sind auf der vom Bügel abgewandten Seite.

    Konfiguration

    Nun muss die Kamera über die Konfiguration eingeschaltet werden. Dazu öffne ich mit [Steuerung] + [Alt] + [T] das Terminal und öffne das Raspberry Pi Software Configuration Tool:

    $ sudo raspi-config
    

    Im Hauptmenue wird Punkt 5 Enable Camera ausgewählt.

    Das Kamerainterface wird eingeschaltet.

    Und die Bestätigung quittiert.

    Anschliessend wird das Tool beendet und der Raspberry neu gebootet.

    Anwendungen

    Nach dem Neustart des Systems stehen die die Anwendungen

    - raspistill: Zur Aufnahme von Einzelbildern.*
    - raspivid: Zur Aufnahme von Videos.*
    - Time-lapse: Zur Aufnahme von Einzelbildern in regelmäßigen Abständen, welche zu einem Video zusammengesetzt werden. *
    - raspiyuv: Zur Aufnahme von Einzelbildern im Rohformat.*

    zur Verfügung. Diese können im Terminal sowie in Shell-Skripten aufgerufen werden. Zum Testen, ob die Kamera funktioniert wird das Terminal geöffnet und folgender Befehl eingegeben:

    $ raspistill -o bild.jpg
    

    Danach öffnet sich ein Vorschaufenster und man hat etwas Zeit zur Justierung bis das Bild erstellt wird. Mit der Erstellung des Bildes wird die Vorschau geschlossen. Wenn nun der Dateimanager geöffnet wird, wird sofort der richtige Ordner - weil keiner angegeben war - geöffnet und ein Doppelklick auf die Datei bild.jpg öffnet den Bildbetrachter mit dem Bild. Bei Wiederholung des Befehls wird die Datei überschrieben.

    Eine Serie von Bildern kann man mit diesem Befehl aufnehmen:

    $ raspistill -t 0 -k -o bild%02d.jpg
    

    -t 0 sofortige Aufnahme.

    -k bei Tastendruck [Eingabe]

    -o Ausgabe. Der Parameter ist der Dateiname. %02d zählt zweistellig ab 0.

    Dieser Befehl wird mit [Steuerung] + [C] beendet.

    Ein fünfsekündiges Video lässt sich wie folgt aufnehmen:

    $ raspivid -o video.h264 -t 5000
    

    Abspielen geht hier jedoch nicht, da noch kein Player installiert ist.

    Shell-Scripte

    Man kann auch ein Shell-Script erstellen um das Bild mit dem Datum und der Uhrzeit im Dateinamen zu versehen. Dazu wird im geöffneten Dateimanager mit Rechtsklick in den gewünschten Ordner über das Kontextmeue eine leere Datei mit der Endung .sh erstellt, geöffnet und mit diesen Zeilen gefüllt:

    DATE = $(date +"%Y-%m-%d_%H-%M-%S")
     
    raspistill -o $DATE.jpg
    

    Das "+" bedeutet, dass das Format für die Ausgabe folgt. Hinter dem "+" darf kein Leerzeichen folgen. Die Hochkommata sind nur notwendig, wenn im String ein Leerzeichen enthalten ist.

    Das Script liegt bei mir in meinem home-Verzeichnis. Die Bilder sollen im Unterverzeichnis Pictures gespeichert werden.

    Nun muss die Datei ausführbar gemacht werden. Dazu führt man einen Rechtsklick auf die Datei aus und wählt im Kontextmenue Eigenschaften aus. Anschliessend geht man auf das Tab Berechtigungen und ändert die Eigenschaft von Ausführen.

    Nach einem Doppelklick auf die Datei erhält man die Auswahl, wie die Datei ausgeführt werden soll. Zum Ausführen wählt man Ausführen, zum Bearbeiten Öffnen.

    Python

    In Raspbian Jessie sind Python 2 und Python 3 enthalten. Die Python Library für die PiCamera steht darin bereits zur Verfügung.

    Ich starte die Python 3 Shell und lege über das Hauptmenue File - New ein neues Script an. In dieses schreibe ich dieses Beispiel:

    Dieses Beispiel ist bis auf die Preview in der Dokumentation zur Picamera enthalten. Ich würde nun als Ergebnis elf Dateien erwarten. In der Dokumentation sind zehn angegeben und so viele sind dann auch in dem Ordner.

    Ein Wiedergabeprogramm für die Videodateien ist in Raspbian nicht enthalten. Sie lassen sich unter Windows problemlos mit dem Video Lan Client (VLC) abspielen.