Raspberry Pi als Überwachungskamera mit einer USB-Webcam
Es geht darum, eine gewöhnliche USB-Webcam zusammen mit einem Raspberry Pi netzwerkfähig zu machen, um sie als Überwachungskamera zu nutzen.
Das soll ein Anwendungsfall explizit für einen alten Raspberry Pi sein, der ungenutzt in der Schublade liegt, bei dem zufälligerweise auch eine USB-Webcam liegt, die nicht mehr gebraucht wird, weil viele Notebooks und Smartphones eine integrierte Webcam haben.
Der konkrete Anwendungsfall ist, ein System zu haben, dass man einfach als IP-Kamera bzw. Überwachungskamera nutzen kann.
Einschränkungen
Das Streamen eines Video-Signals ist rechenaufwändig. Mit alten Raspberry Pis funktioniert das, aber nur mit einer geringen Auflösung und Framerate. Für einen konkreten Anwendungsfall kann deshalb die Auflösung zu gering sein. Erst ab einem Raspberry Pi 3 B+ ist eine vernünftige Bildqualität möglich. Man kommt dann aber schnell an einen Punkt, wo ein richtige IP-Kamera billiger ist, als diese Bastel-Lösung.
Aufbau und Bauteile

Raspberry Pi
Grundsätzlich gilt, je leistungsfähiger der Raspberry Pi, desto höher darf die Auflösung und Bildwiederholrate (frames per second, fps) sein. Wer also gestochen scharfe Bilder haben und die Auflösung der Webcam voll ausnutzen will, der braucht schon einen 3er oder 4er. Wenn man einen alten Raspberry Pi hat muss man sich mit einer geringeren Auflösung von 640 x 480 Pixeln zufrieden geben.
WLAN oder LAN
Der verwendete Raspberry Pi brauchte ein Verbindung per WLAN oder Ethernet zum lokalen Netzwerk. Von der Tendenz her ist eine Kabelverbindung per Ethernet stabiler als eine WLAN-Verbindung.
USB-Webcam
Der eigentliche Grund für dieses Projekt ist eine USB-Webcam, die wir netzwerk-fähig machen wollen. daher brauchen wir ein gewöhnliche Webcam, die per USB an einem Raspberry Pi angeschlossen wird. Dazu braucht man einen, der über einen freien USB-Anschluss verfügt.
microSD-Karte mit Raspberry Pi OS Lite
Weil der Raspberry Pi mit der Webcam ohne Display betrieben wird und übers Netzwerk erreichbar sein soll, reicht Raspberry Pi OS in der Lite-Version aus. Der Desktop ist überflüssig.
Netzteil
Neben dem Raspberry Pi muss auch die USB-Webcam versorgt werden. Ein Netzteil mit 5V/2A (10W) wird in der Regel ausreichen.
Anleitung
Um eine USB-Webcam übers Netzwerk erreichbar zu machen verwenden wir einen Raspberry Pi und installieren darauf die Video-Streaming-Software „motion“.
Bei „motion“ handelt es sich um die Standard-Lösung für fast alle Webcam-Anwendungen. Die Beliebtheit von „motion“ ist leicht begründbar. Es ist die einzige Software in diesem Bereich, die praktisch sofort funktioniert und auch noch so viele Features mitbringt, dass auch spezielle Anforderung umsetzbar sind.
Für „motion“ findet man massenweise Anleitungen im Internet. Die meisten basieren aber auf den selben alten Installationsanweisungen.
Die folgende Anleitung ist auf die wirklich notwendigen Installations- und Konfigurationsanweisungen reduziert.
- Webcam testen und Leistungsmerkmale prüfen (optional)
- Betriebssystem aktualisieren und vorbereiten (optional)
- Video-Streaming-Software „motion“ installieren
- Motion konfigurieren
- Motion als Dienst starten und stoppen
- Verbindung zur Webcam herstellen
Webcam testen und Leistungsmerkmale prüfen (optional)
Bevor wir die Software installieren, sollten wir die USB-Webcam testen. Also, ob die Hardware erkannt wird.
Führe folgendes Kommando aus:
lsusb
Stecke dann die USB-Webcam ein und führe das Kommando nochmal aus:
lsusb
Jetzt sollte die USB-Webcam aufgeführt sein. In der Regel steht da nur ein Herstellername von dem man nur bedingt auf die Webcam schließen kann.
Wichtig ist noch, welche interne Schnittstellen-Bezeichnung die Webcam hat. Das bekommen wir mit folgendem Kommando heraus:
ls -l /dev/v4l/by-id/
Die Ausgabe enthält die Informationen, welche Eingabe-Geräte Video-Streams liefern und welche Schnittstellen-Bezeichnung sie systemintern haben.
In der Regel wird „/dev/video0“ der Hauptstream der Webcam sein. Wenn diese Zuordnung fehlt, braucht man gar nicht weitermachen.
Weitere Informationen über die Webcam erhält man über folgendes Kommando.
v4l2-ctl -d /dev/video0 --list-formats-ext
Bevor Du das Betriebssystem aktualisiert oder Software installierst, solltest Du sichergestellt haben, dass die Webcam hardwareseitig erkannt wurde.
Betriebssystem aktualisieren und vorbereiten (optional)
Der nächste Schritt ist, das Betriebssystem zu aktualisieren. Der Grund ist, weil man nach Möglichkeit ein frisches System benutzen sollte und man in der Regel danach nie wieder das System aktualisiert.
sudo apt update sudo apt upgrade
Nach erfolgreicher Aktualisierung können wir mit dem Installieren der Video-Streaming-Software loslegen.
Video-Streaming-Software „motion“ installieren
Nach der Ausführung des folgenden Kommandos wird die Installation ein paar Minuten dauern.
sudo apt install motion
Motion konfigurieren
Um die Webcam übers Netzwerk erreichbar zu machen, ist die Konfiguration zu ändern. Dazu öffnen wir folgende Datei:
sudo nano /etc/motion/motion.conf
Wichtige Einstellungen ändern:
stream_localhost off webcontrol_localhost off
Bedeutungen:
- stream_localhost off: Diese Einstellung erlaubt den Zugriff auf den Video-Stream über das Netzwerk.
- webcontrol_localhost off: Diese Einstellung macht das Webinterface über das Netzwerk erreichbar.
Weitere Einstellungen sind optimal und nur nach Bedarf vorzunehmen.
- Video-Auflösung: width / height (640 / 480)
- Video-Framerate: framerate (15)
- Konfiguration über die Weboberfläche: webcontrol_parms (0)
Mit Strg + O, Return, Strg + X speichern und schließen.
Hinweis: Bei späteren Änderungen muss der laufende Dienst für „motion“ gestoppt und erneut gestartet werden.
Motion als Dienst starten und stoppen
Motion starten:
sudo systemctl start motion
Motion beenden (bei Bedarf):
sudo systemctl stop motion
Status-Informationen zum Dienst anzeigen:
sudo systemctl status motion
Autostart für den Dienst aktivieren:
sudo systemctl enable motion
Autostart für den Dienst deaktivieren (bei Bedarf):
sudo systemctl disable motion
Neustart:
sudo reboot
Nach dem Neustart sollte die Webcam über das Netzwerk erreichbar sein.
Verbindung zur Webcam herstellen
URL für den Zugriff übers Netzwerk mit einem Browser:
http://HOSTNAME:8080/
URL für den Zugriff übers Netzwerk mit einem Browser oder Streaming-App:
http://HOSTNAME:8081
Troubleshooting
Wenn mal was nicht geht, dann empfiehlt sich folgende Vorgehensweise:
Status-Informationen zum Dienst anzeigen:
sudo systemctl status motion
Motion speichert standardmäßig alles in einer Logdatei. Die kann man sich ansehen und prüfen, wenn was nicht funktioniert.
sudo cat /var/log/motion/motion.log
Weitere verwandte Themen:
- Projekte mit dem Raspberry Pi
- Projekte mit alten Raspberry Pis
- Raspberry Pi als Heim-Server
- Raspberry Pi als digitaler Bilderrahmen
- Raspberry Pi als Videokonferenz-Client
Produktempfehlungen
Elektronik-Set Raspberry Pi Edition
Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero
- Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
- Experimentieren und Programmieren ohne Vorkenntnisse
- Sofort Loslegen mit All-in-one-Set
Elektronik-Fibel
Elektronik einfach und leicht verständlich
Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.


