gPhoto2 – FotoBox selbst gemacht mithilfe von Raspberry Pi

gphoto2 Bei Hochzeiten ist es mittlerweile fast schon Standard eine Fotobox zu haben, um unvergessliche Bilder zu sammeln. Leider sind diese oft teuer und/oder ausgebucht und wir haben uns die Frage gestellt, ob wir uns nicht selbst eine Fotobox basteln können. Die Antwort ist natürlich ja und wenn man die notwendigen Teile schon zu Hause hat, dann kostet das Ganze auch nur etwas Zeit. Benötigt wird ein Raspberry Pi (vermutlich geht es mit allen, ich würde jedoch einen Raspberry Pi 2 oder 3 nehmen), eine Kamera mit Selbstauslöser und ein Stativ für die Kamera. Wie im Bild zu sehen, haben wir noch einen Bildschirm angeschlossen, der das aktuell geschossene Bild zeigt. Wir wollen uns hier aber nur um die Aufnahme und nicht die Darstellung kümmern.

Um herauszufinden, ob eure Kamera mit der folgenen Installation und Konfiguration funktioniert, könnt ihr unter http://www.gphoto.org/doc/remote/ den Status überprüfen. Dort werden die von der gPhoto2 unterstützen Kameras aufgelistet und auch so manche mit denen es auch nicht geht. Ich hoffe euere Kamera ist dabei und wir können klassisch loslegen mit der Installation der benötigen Software. Dazu updaten wir erst einmal unsere Quellen und installieren vorhandene Pakete. Ich arbeite dafür, wie meistens, mit einem Raspbian Lite, da mir das möglichst viel Spielraum für eigene Daten lässt und keine unnötigen Dienste installiert.

# update and upgrade
sudo apt update
sudo apt upgrade -y
# install gPhoto2
sudo apt install gphoto2 -y

Jetzt fehlt nur noch ein Skript, das die Kamera erkennt und die Bilder direkt auf den Raspberry Pi lädt. Dazu legen wir zunächt eine Datei an, machen diese ausführbar und öffnen sie schließlich.

mkdir -p /home/pi/img
touch /home/pi/img/cameracapture.sh
chmod +x /home/pi/img/cameracapture.sh
nano /home/pi/img/cameracapture.sh

Im Skript selbst wird einfach in einer Dauerschleife nach einer Kamera gesucht. Wird diese mit dem gphoto2-Befehl gefunden, wird über den wait-event-and-download-Parameter festgelegt, dass die Bilder direkt von der Kamera geladen werden und über filename wird weiterhin dem aufgenommenen Bild ein Dateiname mit aktuellem Zeitstempel und Bildnummer gegeben. Ansonsten würde nach einem Neustart die Kamera wieder mit cap0001.jpg beginnen, womit bestehende Bilder zwar über den force-overwrite-Parameter überschrieben werden könnten, aber damit auch verloren sind. Mit diesem Aufruf werden alle Bilder gespeichert.

#!/bin/bash
while true
do
        echo 'search camera'
        gphoto2 --wait-event-and-download --filename "%Y_%m_%d_%H_%M_%S_%n.jpg"
        sleep 1
done

Das Skript kann dann mit Strg+X und Enter gespeichert werden und schließlich wie folgt ausgeführt werden. Ist eure Kamera noch nicht angeschlossen wird jetzt durch sleep 1 jede Sekunde nach einer angeschlossenen Kamera gesucht. Der sleep ist notwendig, da das Skript sonst enorm viele Resourcen von dem Raspberry Pi benötigt, wenn er ununterbrochen nach einer Kamera sucht.

/bin/bash /home/pi/img/cameracapture.sh

Ich hoffe ich konnte euch auf dem Weg zu eurer eigenen FotoBox helfen. Solltet ihr Interesse an einer etwas anderen FotoBox haben, dann können wir auch unsere EveBox empfehlen. Solltet ihr Fragen oder Anregungen haben, dann könnt ihr mich jederzeit gerne kontaktieren.


Geschrieben von Christian Decker am 26.09.2017