Skip to content

Babycam mit Raspberry Pi und Playstation Eye

Seit unsere Tochter klettern und laufen kann, tut sie das mit großem Vergnügen und steigt auch schon mal allein aus dem Bett aus, wenn sie keine Lust mehr auf Mittagsschlaf hat. Aus dem elterlichen Bett wohlgemerkt, denn für ihr Kinderbett mit den Gitterstäben ist sie offenbar zu freiheitsliebend :-) Es kommt also vor, dass sie im Schlafzimmer umherläuft, ohne das wir das akustisch übers Babyfon mitbekommen. Wenn das Babyfon doch nur eine Kamera hätte …

Doch halt! Hier liegt doch noch ein ungenutzter Raspberry Pi der ersten Generation herum, einen USB-WLAN-Stick habe ich auch noch und ein paar alte Webcams - von denen leider keine so richtig unter Raspian funktionieren mag. Eine kurze Recherche ergibt, dass die günstigste lauffähige Alternative wohl eine Playstation Eye ist. Geklickt, geliefert, angesteckt: Funktioniert!

Babycam auf dem Schrank
Die Babycam steht auf dem Schrank, der Karton enthält den Raspberry Pi

Anstelle einer USB-Webcam hätte ich natürlich auch ein Raspberry Pi Camera Module verwenden können, aber die Eye war schon für wenige Euro zu haben und damit einfach billiger. Allerdings musste ich die rote und die blaue LED an der Frontseite der Playstation Eye mit schwarzem Tape abkleben, die leuchten einfach viel zu hell.

Motion

Als Mittel der Wahl für die Aufnahme und das Streamen des Videosignals habe ich mich für Motion entschieden. Motion ist ein Tool, das eigentlich dafür gedacht ist, Bewegung in Videos zu erkennen, was z.B. für Überwachungskameras sinnvoll sein kann, für meinen Einsatzzweck aber nicht nötig ist.

Unter Raspian lässt sich Motion ganz einfach wie unter Debian installieren. Eine detailliertere Anleitung spare ich mir an dieser Stelle, die gibt es zuhauf im Netz. Wichtig ist auf jeden Fall, eine Kopie der Config-Datei anzulegen und diese anzupassen:

$ mkdir .motion
$ sudo cp /etc/motion/motion.conf ~/.motion/motion.conf

Ich hatte es zunächst vergeblich mit einer motion.conf versucht, die ich mir aus einem der unzähligen How-Tos im Netz kopiert hatte - das klappte überhaupt nicht. Der Grund: Motion hat irgendwann diverse Konfigurations-Optionen umbenannt, und so passte die Config nicht mehr zu meiner Programmversion (3.2.12). Es gibt wirklich jede Menge Optionen, die wichtigsten, die ich angepasst habe

# V4L2_PIX_FMT_YUYV    : 15 'YUYV'
v4l2_palette 15
width 640
height 480
output_pictures off
ffmpeg_output_movies on
ffmpeg_bps 500000
stream_port 8081 # Port, auf dem gestreamt wird
stream_localhost off # Restrict stream connections to localhost only
webcontrol_port 8080 # Simple Fernsteuerung im Browser
webcontrol_localhost off

Im Anschluss gilt es noch das Startup-Skript anzupassen, so dass Motion unmittelbar nach dem Hochfahren des Pi anfängt zu streamen. Dann steht unter http://192.168.xxx.xxx:8081 ein MJPEG-Stream zur Verfügung, der im Browser funktioniert, aber nicht in allen Videoplayern. Für Android gibt es beispielsweise MJPEG Viewer, so dass ich immer bequem auf dem Smartphone einen Blick auf das schlafende Kind werfen kann.

Bonus: Integration in Home Assistant

Da ich mir vor einiger Zeit einen Home Assistant-Server aufgesetzt habe, wollte ich das Videobild auch dort einbinden. Dafür gibt es die Komponente Generic MJPEG IP Camera, die bei mir allerdings öfter mal hängenblieb, d.h. das Bild veränderte sich nicht mehr.

Zum Glück gibt es ffmpeg, das auf dem Home Assistant-Server installiert sein muss, und ebenfalls eine entsprechende Komponente dafür, die mit extra_arguments konfiguriert werden muss, damit alles läuft.

camera:
  - platform: ffmpeg
    input: http://192.168.xxx.xx:8081
    name: "Babycam"
    extra_arguments: -input_format mjpeg

Mit diesem Setup gibt es auch unter Home Assistant keine Probleme mehr.

Die Babycam läuft jetzt schon seit einigen Monaten stabil. Von Beginn an wird der Raspberry Pi samt Cam über eine Schaltsteckdose manuell ein- und ausgeschaltet. Zukünftig ließe sich das z.B. über eine WLAN-Steckdose regeln - aber bis es soweit ist, brauchen wir die Cam hoffentlich gar nicht mehr. Sie werden so schnell erwachsen ;P

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Markdown-Formatierung erlaubt
Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Formular-Optionen

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!