Startseite>Raspberry Pi als Foto-Server und Kamerasteuerung
Aus Raspberry Pi Geek 06/2013

Raspberry Pi als Foto-Server und Kamerasteuerung

© Medialinx AG

Smarte Bildzentrale

Dmitri Popov

Mit wenigen Handgriffen rüsten Sie den Raspberry Pi zum zentralen Foto-Server für Ihr LAN auf – oder zur mobilen, fernbedienbaren Kamerasteuerung für HDR, Zeitraffer und viele andere Effekte um.

README

Der kleine, erschwingliche und vielseitige RasPi bietet Foto-Enthusiasten vielfältige Einsatzmöglichkeiten. Unter anderem lässt er sich auch als zentrale Instanz für das Ansteuern der Kamera, das Speichern und Verwalten von Fotos sowie das Veröffentlichen der Bilder im Netz verwenden.

Statt Fotos von Ihrer Kamera auf einen PC zu transferieren, können Sie auch einen Raspberry Pi als Server zum zentralen Lagern, Organisieren und Teilen von Fotos einsetzen. Dabei bietet der RasPi gegenüber einem PC einige wesentliche Vorteile: So können Sie beispielsweise unterwegs Fotos von der Kamera auf ein Android-Gerät ziehen und sie von dort aus automatisch auf Ihren RasPi-Server zu Hause schieben. So haben Sie gleich zwei Backups der Bilder für den Fall, dass mal etwas schiefgeht – und dazu müssen Sie auf dem RasPi noch nicht einmal Zusatzsoftware einrichten.

Die offizielle RasPi-Distribution, Raspbian, bringt den OpenSSH-Server mit, den Sie bereits beim ersten Hochfahren aktivieren können. Alternativ erledigen Sie das über den Befehl sudo raspi-config zu einem beliebigen späteren Zeitpunkt. Um außerdem Fotos von außerhalb Ihres LANS hochladen zu können, müssen Sie auf dem heimischen Router Port-Forwarding erlauben. Erhalten Sie von Ihrem Provider nur eine dynamische IP-Adresse, gilt es außerdem Dienste wie DynDNS [1] oder No-IP [2] zu bemühen. Etliche Router bieten bereits von Haus aus Unterstützung dafür.

Um Fotos von einem Android-Gerät auf den RasPi-Server zu schieben, nutzen Sie eine App wie FolderSync [3]. Bevorzugen Sie zu diesem Zweck eine Open-Source-Anwendung, greifen Sie zum Dateimanager Ghost Commander [4] in Kombination mit einem SFTP-Plugin [5].

TIPP

Mehr zu OpenSSH und dem Betrieb des RasPi ohne Monitor im “Headless”-Modus lesen Sie in einem Artikel aus der letzten Ausgabe von Raspberry Pi Geek [11].

Vorsortiert

Haben Sie die Fotos erst einmal auf den RasPi transferiert, kann dieser sie anhand des Datums sauber in verschiedene Ordner einsortieren. Das erledigen Sie über ein kleines Shell-Skript mithilfe des Werkzeugs Exiftool. Letzteres installieren Sie mit dem Kommando:

$ sudo apt-get install libimage-exiftool-perl

Jetzt erstellen Sie mit einem beliebigen Texteditor das Skript organizephotos.sh mit dem in Listing 1 gezeigten Inhalt. Dabei ersetzen Sie den Quell- und Zielpfad durch Verweise auf jene Verzeichnisse, welche die übertragenen Fotos (Zeile 2) beziehungsweise die verarbeiteten Bilder (Zeile 3) enthalten sollen. Der Aufruf in Zeile 4 geht von RAW-Dateien aus, die in Nikons NEF-Format vorliegen (-ext NEF). Möchten Sie stattdessen JPEG-Dateien verarbeiten, müssen Sie diesen Parameter anpassen (-ext JPG).

Listing 1

 

#!/bin/bash
SOURCE=/Pfad/zu/Fotos
TARGET=/Pfad/zur/Ablage
exiftool -r -d $model_prefix-%Y%m%d/%Y%m%d-%H%M%S.%%e "-FileName<DateTimeOriginal" -ext NEF $SOURCE

Nach dem Abspeichern des Skripts machen Sie es mit dem Befehl chmod +x organizephotos.sh ausführbar und können es nun durch den Aufruf ./organizephotos.sh starten. Es sortiert dann Ihre Bilder sauber nach Datum in Unterverzeichnisse des angegebenen Zielordners (TARGET) ein.

Bilder direkt übertragen

Statt die Fotos via SSH auf den RasPi hochzuladen, können Sie sie auch mithilfe eines USB-Cardreaders direkt von der Speicherkarte der Kamera einlesen. Dazu brauchen Sie neben dem Paket usbmount noch das Skript fotobasher. Das richten Sie über die Kommandos aus Listing 2 ein. Um Fotobasher zu konfigurieren, folgen Sie nach dessen Einrichten den Anweisungen aus der Datei readme.md.

Listing 2

 

$ sudo apt-get install usbmount
$ sudo apt-get install git
$ git clone git://github.com/dmpop/fotobasher.git

Das Werkzeug usbmount erkennt angeschlossene USB-Speichergeräte und bindet sie automatisch ins Dateisystem ein. Sobald Sie also den Cardreader mit der Speicherkarte an den RasPi anschließen, hängt es die Karte unter /media/usb0 ins Dateisystem ein (oder mit einer höheren Nummer, falls bereits andere USB-Speichergeräte am RasPi hängen).

Um Fotos via USB-Kabel von der Kamera auf den RasPi zu befördern, nehmen Sie das Programm gPhoto2 zu Hilfe. Sie richten es über sudo apt-get install gphoto2 ein, stecken die Digicam am Raspberry ein und übertragen dann die Bilder mittels des Aufrufs gphoto2 --get-all-files in das aktuelle Verzeichnis.

gPhoto2 kann aber noch viel mehr – etwa Bilder anhand benutzerdefinierter Regeln automatisch umbenennen. Dazu kennt die Option --filename eine ganze Reihe von Formatanweisungen [6], mit denen Sie Regeln zum Umbenennen zusammenstellen. So sorgt etwa %Y%m%d-%H%M%S-%03n.%C dafür, dass aus den Dateien mit den nichtssagenden Namen IMG_001.JPG and DCS-1379.NEF die Bilder 19730511-11:35:59-001.JPG und 19990901-13:05:15-099.NEF werden. Das lässt sich mittels eines Shell-Skripts auch automatisieren.

Listing 3

 

#!/bin/bash
mkdir "`date --iso-8601`" && cd $_
gphoto2 --get-all-files --filename "%Y%m%d-%H%M%S-%03n.%C"
cd ~
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland