Raspi als Dash-Cam im Auto

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich möchte hier mein ersten Raspi Projekt vorstellen: eine Dash-Cam Vorstellen.
    Zu meiner Person sei erstmal gesagt das ich eigentlich nicht viel mit Linux am Hut habe, bin nämlich reiner Netzwerker.


    Also nun aber zu meinem Projekt.....
    Geplant ist der Raspi wie schon gesagt als Dash-Cam fürs Auto.
    Folgende Komponenten habe ich erstmal geplant.
    1.) Raspberry Pi Model B mit Raspbian wheezy -> im Overclocking Mode mit 950MHZ
    2.) für Strom sorgt ein KFZ-Ladegerät was 12V ausgibt.
    3.) einen 12V auf 5V UBEC "Konverter": 12V->5V Konverter
    aber keinen Billigen wie die aus Japan, zumindestens erhoffe ich mir von diesem Teil eine bessere Verarbeitung und Qualität
    4.) dann für ein sauberes Herunterfahren einen Akku mit 2 USB-Schnittstellen: Akku/USV
    5.) die RaspiUSV
    6.) ein GPS Stick zum Aufzeichen der GPS Daten, Geschwindigkeit und für NTP: GPS-Stick
         NTP über GPS einrichten
    7.) zum Speichern der Daten einen 32GB USB3.0 Stick (war bei Media Markt im Angebot ;) )

    Step 1) Proof of Concept
    für einen Proof of Concept habe ich erstmal überprüft wie gut die Kamera funktioniert und was alles möglich ist.

    Raspivid:
    Raspivid funktioniert wunderbar zum Aufzeichnen von Videos, leider sind hier keine Zeitstempel in den Videos möglich.
    Das Erkennen der Bilder und die Wiedergabe der Cam erfolgt bei Raspivid in der GPU deswegen liegt die CPU Belastung während einer Aufzeichung bei gerademal 10% (1920x1080@30fps).

    Code
    raspivid -fps 30 -w 1920 -h 1080  -t 10000 -o -> /media/Stick/Video.h264

    Zeichnet ein Full-HD Video mit 30fps auf, einer Dauer von 10sec und speichert dies im Ordner /media/Stick mit dem Namen Video.h264.

    Motion:
    bei Motion muss man etwas aufpassen, dass Standard Motion (welche in der Library hinterlegt ist) arbeitet (aktuell) nicht mit der Raspi-Cam zusammen. Es werden keine Bilder aufgezeichnet.
    Was aber funtkioniert ist mmal-motion.
    Die Einrichtung kann nach folgenden link erfolgen: Einrichtung mmal-motion
    dann sollte man die motion.conf noch nach seinen gegebenheiten anpassen.
    hier meine vom Default abweichenden Befehle in der Konfig:


    Motion benötigt das UV4L Paket, wie ihr dies installiert findet ihr auf dieser Seite:
    Installation UV4L
    ein paar zusätzliche Anwendungsbeispiele:
    Anwendungsbeispiele UV4L

    UV4L wird deswegen benötigt, weil die Raspi Cam nicht im Devices Ordner (/dev/) auftaucht.
    Mittels UV4L wird eine Kamera im Devices Ordner erzeugt.
    UV4L trägt sollte sich bei der Installation direkt in bei init.d eintragen und somit automatisch starten.
    über /etc/init.d/uv4l_raspicam.sh könnt ihr die Startparameter noch anpassen wenn Ihr wollt.

    Nachdem alles installiert ist und die Motion.conf angepasst wurde kann motion gestartet werden.

    Code
    motion -c /etc/motion.conf


    Erkenntnisse:
    Wie schon geschrieben funktioniert Raspivid ohne Probleme auch in Full-HD und mit 30fps.

    Motion hingegen hat das Problem, dass die Anzeige/Wiedergabe der Daten über die CPU erfolgt.
    deswegen ist mit Motion keine Full-HD Aufzeichung möglich.
    Die Auflösung 1280x720 kann noch mit 1fps aufgezeichnet werden, jedoch kann es aufgrund der hohen CPU Belastung dazu kommen, dass 1Sec nicht aufgezeichnet werden kann.
    Somit hat man teilweise einen Sprung von 2Sec im Video.
    Eine Auflösung welche ganz passabel funktioniert ist 960x720, hierbei sind noch bis zu 3fps möglich.

    Einbindung des USB-Sticks.
    um die CPU Belastung so gering wie möglich zu halten sollte der externe Speicher für die Videos in FAT/FAT32 formatiert sein.
    Die Format Unterstützung ist somit direkt in der Distribution vorhanden und es wird kein externes Tool zur Einbindung benötigt.
    Link Einbindung USB-Stick

    Step 2) Einbau aller Komponenten
    to be continued .....


    Gruß
    Mathias

    Gerne nehme ich Verbesserungsvorschläge an.

    EDIT:
    29.12.13 Motion Datenraten Befehl hinzugefügt, Anpassung Einbindung USB-Stick

    Einmal editiert, zuletzt von Matze2310 (29. Dezember 2013 um 15:31)

    • Offizieller Beitrag

    Für einen korrekten Zeitstempel benötigst du noch eine Realtimeclock (RTC) . Ansonsten ein interessantes Projekt.

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Einmal editiert, zuletzt von ps915 (29. Dezember 2013 um 00:06)

  • Die Realtime Clock werde ich im ersten Versuch über GPS versuchen zu realisieren.
    Ein Anleitung dafür habe ich auch schon.... muss die nochmal raussuchen..

    Wenn das nicht nach meinen Wünschen funktioniert werde ich um eine RTC nicht herumkommen.

    EDIT:
    Anleitung für NTP über GPS aktulisiert

    Einmal editiert, zuletzt von Matze2310 (29. Dezember 2013 um 13:25)

  • so ich komme immer weiter...
    mit einem guten USB-Stick und wenn man so wenig Prozesse wie möglich laufen lässt,
    dann kann die Schreibdatenrate des Videos auf bisher 2Mbit/s erhöht werden.

    damit sehen die Videos gut aus und die Klötzenbildung ist nur sehr gering.
    Mit dem Standardwert ist die Klötzenbildung doch relativ hoch und die Bildqualität leidet sehr darunter.

    mit der Datenrate von 2Mbit lässt es verschmerzen, dass die Videos nur mit 960x720 aufgezeichnet werden.

    Verändert wurde der folgende Wert
    ffmpeg_bps 2000000 -> 2Mbit/s

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!