USB Kamera am Raspberry Pi 3B

  • Hallo zusammen,

    ich möchte mit meinem Raspberry pi eine Rückfahrkamera erstellen. Ich kann die Kamera nun Im VLC Mediaplayer öffnen, jedoch nicht über den Webbrowser.

    Meine Idee war es prinzipiell einfach einen Livestream zu starten und diesen dann über den Webbrowser und der Localen IP anzuzeigen.

    Ist das Möglich und kann mir da einer helfen da umzusetzen?

    Danke im Voraus.

    Grüsse Pueuna

    Immer fleissig bleiben und nicht verzweifeln.

  • Hallo zusammen,

    ich werde euch nun hier erklären, wie ihr eine 0815 Webcam an den Raspberry anschliessen und anschliessend im Browser anzeigen könnt.

    Ich habe ein Raspberry Pi 3b+ und eine Webkamera für 15.- verwendet.

    Zuerst müssen wir den Raspberry updaten:

    Code
    sudo apt-get update
    sudo apt-get upgrade

    anschliessend können wir das Tool Motion installieren:

    Code
    sudo apt-get install motion -y

    ist die Installation abgeschlossen können wir überprüfen, ob die Webkamera erkannt wurde, dazu geben wir folgenden Befehl ein:

    Code
    lsusb

    Sofern keine speziellen Treiber notwendig sind, was meistens nicht der Fall ist, können mit dem folgenden Befehl alle angeschlossenen Kameras angezeigt werden.

    Code
    ls /dev/video*

    Nun müssen wir die Kamera noch anzeigen lassen, das geschieht mit folgendem Befehl:

    Code
    sudo modprobe bcm2835-v4l2

    Falls nun nur eine Webkamera angeschlossen ist, sollte diese unter /Dev/video0 angezeigt werden

    Livestream konfigurieren

    zuerst müssen wir die Kamera Details aufrufen:

    Code
    v4l2-ctl -V

    für meine Webkamera habe ich folgende Angaben erhalten, dabei müssen wir uns die Auflösung usw. merken (Wir benötigen sie für die Konfigurationsdatei), am besten ein Foto machen ;) .

    Code
    pi@raspberrypi:~ $ v4l2-ctl -V
    Format Video Capture:
            Width/Height  : 640/480
            Pixel Format  : 'YUYV'
            Field         : None
            Bytes per Line: 1280
            Size Image    : 614400
            Colorspace    : SRGB
            Flags         :


    Nun müssen wir also die Konfigurationsdatei vom Motion bearbeiten:

    Code
    sudo nano /etc/motion/motion.conf

    Folgende Zeilen müssen dabei angepasst werden (Die Variable kann mit STRG+W gesucht werden, die hinteren Werte müssen dabei abgeändert werden):

    Code
    # Start in daemon (background) mode and release terminal (default: off)
    daemon on
    ...
    # Restrict stream connections to localhost only (default: on)
    stream_localhost off
    ...
    # Target base directory for pictures and films
    # Recommended to use absolute path. (Default: current working directory)
    target_dir /home/pi/Monitor

    Die folgenden Zeilen sollten optional auch geändert werden, vom Foto von vorher, wobei mit der Framerate etwas gespielt werden muss, unterstützt eure Kamera nur 30FPS macht es kein Sinn dort 60FPS reinzuschreiben :

    Code
    v4l2_palette 15     # Nummer aus der Tabelle davor entnehmen, 15 enstpricht YUYV
    ... 
    # Image width (pixels). Valid range: Camera dependent, default: 352 
    width 640 
    
    # Image height (pixels). Valid range: Camera dependent, default: 288 
    height 480 # Maximum number of frames to be captured per second. 
    
    # Valid range: 2-100. Default: 100 (almost no limit). 
    framerate 60 

    Gespeichert wird dann mit STRG+O und geschlossen mit STRG+X, nun solltet ihr den Raspberry neu starten.

    Um den Service zu starten, müssen wir noch den Deamon aktivieren:

    Code
    sudo nano /etc/default/motion

    Hier ersetzen wir "no" mit "yes", womit folgender Text dort steht:

    Code
    start_motion_deamon=yes

    Wenn ihr die Kamera nur als Livestream benutzen wollt, müsst ihr den folgenden Schritt unbedingt auslassen, da sonst alle Videos gespeichert werden:

    Nun müssen wir dem vorher angegeben Spicherort noch die nötigen Schreibrechte erteilen.

    Code
    mkdir /home/pi/Monitor
    sudo chgrp motion /home/pi/Monitor
    chmod g+rwx /home/pi/Monitor

    Nun wieder für alle:


    Jetzt kann der Service bereits gestartet werden:

    Code
    sudo service motion start

    Falls ihr nun durch ein Python Programm den Webbrowser aufrufen wollt könnt ihr folgenden Befehl in euer Programm einpflegen:

    Python
    import webbrowser
    
    (euer Programm)
    
    webbrowser.open('127.0.0.1:8081')        #Befehl zum öffnen des Webbrowsers mit der IP-Adresse des Raspberrys und dem Port 8081

    Wählt ihr anstatt des Portes 8081 den Port 8080 wird das Konfigurationsfenster von Motion im Webbrowser geöffnet.

    Ich wünsche euch viel Spass

    Sollte etwas nicht gehen, antwortet doch gerne auf diesen Thread.

    Und verzweifelt an euern Programmen nicht, nicht alles klappt auf anhieb.

    Immer fleissig bleiben und nicht verzweifeln.

  • Hi, bin absoluter newbie und habe es mit der Anleitung versucht.

    Die Kamera leuchtet auch und wird erkannt (Logitech C310) aber bei dem code "sudo modprobe bcm28535-v4l2" kommt einfach nur eine neue Eingabezeile. Der Raspberry hat aber vorher die Cam auf Device 004 erkannt. Was ist da verkehrt und was muss ich da machen? Hab wie gesagt keinerlei erfahrung und bräuchte da bitte Hilfe.

    Danke :)

  • @_blackjack_ Ich habe selber keine Ahnung, was das Problem ist, deswegen frage ich ja. Ab dem Befehl passiert nichts mehr und ich weiß nicht warum. Wenn ich den Befehl iengebe um die Kameradetails zu bekommen, kommt nur eine lange liste mit anderen Befehlen, die ich nutzen kann, aber keine Kameradetails

  • Nerdi Da widersprichst Du Dir jetzt selber. Es kann ab dem Zeitpunkt nicht gleichzeitig gar nichts mehr passieren und eine lange Liste mit Kameradetails ausgegeben werden.

    Welchen Befehl gibst Du ein und was genau ist die Ausgabe? Wir wissen ja nicht was bei Dir genau passiert, und müssen sonst raten. Wenn ich raten müsste dann hast Du v4l2-ctl nicht installiert‽

    Tradition is just peer pressure from dead people.

  • bei dem code "sudo modprobe bcm28535-v4l2" kommt einfach nur eine neue Eingabezeile

    Woher hast Du den Befehl denn?

    Wenn ich den Befehl iengebe um die Kameradetails zu bekommen, kommt nur eine lange liste mit anderen Befehlen

    Was exakt gibst Du ein? Zeige Deine Eingabe und die Ausgabe am besten in einem Codeblock (siehe verlinkte Erklärung).

    Sonntag morgen um viertel vor acht
    geht das Radio an mitten in der Nacht
    Das ist jetzt mindestens schon fünfmal passiert
    Ich habe den Schweinehund falsch programmiert, falsch programmiert, falsch programmiert

  • Zieh den Stecker der USB-CAM aus den Raspberry.
    Dann öffne ein Terminalfenster und gebe dort ein:
    journalctl -f -n 10

    Dann steckst Du die CAM wieder ein.

    Was dann im Terminalfenster neu angezeigt wird, kopiere und poste das hier in einem Code-Block..

    Dann schicke uns die /etc/motion/motion.conf ebenfalls in einem Code-Block.

    MfG

    Jürgen

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!