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

02/2018
Digital Signage

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial des Raspberry Pi. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Ferngebootet

    Das Booten über das Netzwerk beherrscht auch der RasPi 3 – und bietet damit sehr viel mehr Flexibilität, als Sie mit SD-Cards erzielen können.

  • Bleibende Werte

    Ein EEPROM dient dazu, Daten auch nach Abschalten der Energiezufuhr zu speichern, etwa als Kanalspeicher in Autoradios. Wir zeigen, wie Sie einen solchen Speicher beschreiben und wieder auslesen.

  • Auf Wolke 1

    Mit einem schnellen Netzwerkanschluss und einer SATA-Schnittstelle dient sich der Odroid HC1 als NAS-Alternative an – allerdings nicht für jedermann.

  • Wohnungsfunker

    Der kompakte Router GL.iNet dockt problemlos am Raspberry Pi an und erweitert diesen um einen Access Point samt Server-Funktion.

  • Satter Sound

    Mit zwei ICs am I2S-Bus und ein paar zusätzlichen Bauteilen erweitern Sie den Raspberry Pi um eine Soundkarte, die keine Kontaktmöglichkeit mit gängigem HiFi-Equipment scheut – von Klinke und RCA bis IEC60958, Koax-S/PDIF oder optischem TOSLINK.

  • Wer klopfet an?

    Wechselsprechanlagen mit Bild- und Tonübertragung gibt es zwar von der Stange, allerdings zu gesalzenen Preisen. Günstiger und obendrein flexibler ist ein Eigenbau mit Pi Zero und RasPi 3.

  • Wiedergeburt

    Mit dem Keyrah-Tastaturadapter und einem Raspberry Pi machen Sie aus einem defekten C64 eine optimale Emulator-Station, bei der Sie die originale Tastatur und die Joystick-Ports nutzen.

  • Kleine Nachtmusik

    Waveform8 beseitigt einige Ecken und Kanten des Vorgängers Tracktion – und macht die DAW endgültig fit für den Einsatz auf dem Raspberry Pi.

  • Recycling

    Mit einer Dockingstation lassen sich ausgemusterte IDE/SATA-Festplatten im 2,5- und 3,5-Zoll-Format am Raspberry Pi betreiben. Mit dem Samba-Server gliedern Sie den Mini-Rechner dann als Datenspeicher in Ihr lokales Netzwerk ein.