Foto-Backup mit dem RasPi

© Oleksandr Homon, 123RF

Weggesichert

Wer gern unterwegs fotografiert, braucht ein mobiles Backup-Medium für die Fotos, um den Digicam-Speicher für neue Schnappschüsse freizumachen. Ein RasPi eignet sich perfekt als Basis für einen solchen Foto-Tank.

Das Ziel dieses Projekts ist ein möglichst einfach bedienbares System: Hochfahren, Speicherkarte aus der Kamera per Adapter an den RasPi anstöpseln, automatisches Kopieren der Bilder. Am Schluss soll der Pi sauber herunterfahren. Dummerweise fehlen ihm dafür in der Grundausstattung ein paar Dinge: Weder kann der Mini-Rechner dem Nutzer ohne Bildschirm Rückmeldung über den aktuellen Status geben, noch lässt er sich ohne eine Tastatur ohne Weiteres herunterfahren.

Zum Glück gibt es einfache Erweiterungen für die Sockelleiste des Raspberry Pi, die hier Abhilfe schaffen. Unter der Bezeichnung HAT (Hardware Attached on Top) hat die Raspberry Pi Foundation diese seit einiger Zeit normiert. Die Anforderungen für unsere Anwendung fallen recht moderat aus: Ein paar LEDs signalisieren dem Anwender, was gerade läuft; per Taster lässt sich der Shutdown auslösen.

Wer löten kann, ist hier natürlich klar im Vorteil. Für wenig Geld gibt es pfiffige Bausätze wie Berry-Clip [1] oder Fish-Dish [2] mit Platine und allen Teilen (LEDs, Widerstände etc.), die man nur noch zusammenlöten muss. Reine Softwerker wie der Autor greifen dagegen lieber zu bereits montierten Lösungen.

Der Artikel stellt weiter unten für den geplanten Einsatzzweck den einfachen HAT Pibrella von Pimoroni vor. Eine Alternative bietet das ebenfalls von Pimoroni stammende Display-O-Tron. Im Artikel "Weniger ist mehr" in dieser Ausgabe erfahren Sie Details zu dieser preislich und funktionell sehr interessanten Alternative. Zuerst geht es aber um den eigentlichen Zweck, das automatische Kopieren der Daten von Speicherkarte auf Festplatte.

Installation

Als Voraussetzung dient uns ein RasPi der dritten Generation (ein Pi 2 tut es auch) mit angeschlossener Festplatte. Als Betriebssystem kommt Raspbian "Jessie" Lite zum Einsatz. Installieren Sie das System zunächst wie gewohnt auf eine SD-Karte. Anschließend stöpseln Sie die Platte ein und partitionieren sie (Listing 1, erste Zeile).

Listing 1

 

$ sudo fdisk /dev/sda
[...]
$ sudo mkfs.ext4 /dev/sda1
$ sudo mkdir /data
$ sudo mount /dev/sda1 /data
[...]

Sie erstellen eine einzige Partition, die den kompletten Platz einnimmt. Achtung: Alle vorhandenen Daten gehen dabei verloren. Mit [W] schreiben Sie die Daten zurück und beenden Fdisk. Anschließend formatieren Sie die Platte, erstellen ein Mount-Verzeichnis und hängen die Platte dort ein (Listing 1, Zeile 3 bis 5). Damit das System die Platte zukünftig automatisch einhängt, ergänzen Sie noch die Datei /etc/fstab um die Zeile aus Listing 2.

Listing 2

 

/dev/sda1 /data ext4 user_xattr,noatime,acl 1 2

Erscheint Ihnen das alles zu kompliziert, weichen Sie auf die Anleitung aus dem Kasten "Automatische Installation" aus. Da dabei dann nicht nur die Daten auf der Platte ablegt werden, sondern auch das Betriebssystem, läuft Raspbian in diesem Fall noch etwas geschmeidiger als von SD-Karte. Für das Kopierprogramm fehlt noch der Rsync-Befehl – Sie ziehen das Programm aus den Paketquellen von Raspbian nach (Listing 3).

Listing 3

 

$ sudo apt-get update
$ sudo install rsync

Automatische Installation

Möchten Sie Raspbian nicht manuell auf die Festplatte kopieren und anpassen, können Sie den Prozess auch in einem Rutsch automatisch per Skript ausführen. Als Basis dazu dient ein laufendes Linux auf dem PC. Auf das Skript ging bereits ein Artikel in RPG 01/2016 im Detail ein [5], hier verwenden wir nur die Basisfunktionen.

Sie holen das Skript am besten direkt von Github ab, wozu Sie eventuell noch den Git-Client installieren müssen (Listing 4, Zeile 1 und 2). Des Weiteren stecken Sie eine SD-Karte für die Bootpartition in den Rechner (im Beispiel /dev/sdb) und schließen die Festplatte an (/dev/sdc). Die genauen Device-Namen sind wichtig, sonst droht Datenverlust. Die Kommandos blkid und fdisk -l helfen bei der Identifikation der Laufwerke. Nach dem Herunterladen des Raspbian-Images installieren Sie dann das System (Zeile 3).

Das Beispiel geht davon aus, dass Sie nach dem git clone das Verzeichnis nicht wechseln. Achtung: Alle Daten auf der Speicherkarte und der Festplatte gehen verloren. Die Größe der Datenpartition (Option -D) passen Sie für die verwendete Festplatte an. Die Datenpartition hängt das System später beim Booten automatisch im Verzeichnis /data ein.

Nachdem Raspbian auf die Karte und Festplatte aufgespielt wurde, kommt die Karte in den RasPi und die Platte per Kabel an einen USB-Anschluss. Nach dem ersten Systemstart müssen Sie das noch unkonfigurierte System wie üblich an Ihre Anforderungen anpassen.

Listing 4

 

$ sudo apt-get install git
$ git clone https://github.com/bablokb/apiinst
$ sudo apiinst/bin/apiinst -i /pfad/zu/20160527-raspbian-jessie-lite.zip -B /dev/sdb -t /dev/sdc -D 285G

Automatisches Kopieren

Nach dem Einstecken einer Speicherkarte mittels eines SD-Kartenlesers soll das System selbsttätig die Daten auf die Festplatte sichern. Dazu braucht es zwei Dinge: einmal eine Udev-Regel sowie das eigentliche Kopier-Skript. Dabei überwacht der im Hintergrund aktive Dienst Udev das System und führt beim Ein- und Ausstecken von Geräten automatisch vordefinierte Aktionen aus.

Der Einzeiler in der Datei /etc/udev/rules.d/99-usbcopy.rules aus Listing 5 sagt dem Daemon, dass er für neue Geräte, deren Namen mit "sd" anfängt, das Skript /usr/local/sbin/copy_img ausführen soll. Den Gerätenamen (in "$kernel") bekommt das Skript per Parameter. Ein Neustart ist nach der Einrichtung in der Regel nicht nötig.

Listing 5

 

KERNEL=="sd?", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/usr/local/sbin/copy_img $kernel"

Das Skript selbst finden Sie in Listing 6, reduziert auf das absolut Notwendige. Eine etwas ausgefeiltere Version mit Prüfungen und Logging erhalten Sie über die Projektseite des Autors [3]. Da der Name der als Datenspeicher genutzten Festplatte /dev/sda auch mit "sd" anfängt, filtert das Skript dieses Gerät heraus (Zeile 3). Das eigentliche Kopieren erledigt das Rsync-Kommando in Zeile 7. Interessant sind noch die Zeilen 5 und 9, deren Bedeutung die folgenden Abschnitte klären.

Listing 6

 

#!/bin/bash
[ "$device" = "sda" ] && exit 0
/usr/local/sbin/hatctl.py AS
mount "/dev/${device}1" /mnt
rsync -a --no-owner --modify-window=1 /mnt/DCIM/*/* "/data"
umount /mnt
/usr/local/sbin/hatctl.py AE

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

08/2019
Smarte Hacks

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Immer der Reihe nach

    Mit einer einfachen Schaltung testen Sie Bausteine, die über den SPI-Bus miteinander kommunizieren.

  • Einzigartig

    Eine MAC-Adresse ermöglicht die Kommunikation im Netzwerk. Der 24AA02E48 liefert sie für Setups, die aus grundlegenden Komponenten bestehen.

  • Steinkuchen

    Der Raspberry Pi hat viele Fans, doch nicht ohne Grund sehnen sich viele Anwender nach einem RasPi 4. Der Rock Pi 4 übertrumpft den RasPi 3 in Sachen Leistung um Längen und schlägt sich auch in der Praxis gut.

  • Kerngeschäft

    Der Einstieg in die Welt der Mikrocontroller fällt nicht ganz leicht. Mit dem Nucleo F401RE haben Sie jedoch ein Entwicklerboard samt abgestimmter Entwicklungsumgebung an der Hand.

  • Himbeer-Geräte

    Mit Maus und Tastatur im weiß-roten Raspberry-Look macht die Raspberry Pi Foundation das eigene Angebot an Peripheriegeräten für den Mini-Rechner komplett.

  • Unter Kontrolle

    PiCockpit ist eine speziell auf den RasPi zugeschnittene Online-Monitoring-Lösung. Wir werfen einen ersten Blick auf den brandneuen und in Ausbau befindlichen kostenlosen Dienst.

  • Ins rechte Licht gesetzt

    Selbst ohne eigenen Garten holen Sie sich Pflanzen mithilfe von LEDs in jeden Raum und sehen ihnen mit dem RasPi beim Wachsen zu.

  • Helligkeit nach Maß

    Wer bei wechselnden Lichtverhältnissen nicht ständig die Beleuchtung manuell nachregeln möchte, der spannt dafür einen PiXtend ein.

  • Geschrumpft

    Kleine Bildschirme gibt es zwar viele, aber der Support von Raspbian ist überraschend schlecht. Mit ein paar Tricks erzielen Sie trotzdem ein optimales Ergebnis.

  • Brüllwürfel

    Kompakt-Stereoanlagen mit CD-Spieler und Kassettendeck sind inzwischen oft ein Fall für den Recyclinghof – oder für die digitale Wiederbelebung mit einem RasPi und etwas Geschick.