RPi zum automatischen Kopieren von SD-Karte

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Moin!

    Vorab: Ich bin neu in diesem Forum, weiß also nicht genau, ob mein Thread in der richtigen Kategorie steht. Wenn nicht, würde ich mich sehr darüber freuen, wenn ein Admin sich die Mühe machen würde, den Thread in das richtige Unterforum zu verschieben. :)

    Als mehr-oder-weniger RPi-Anfänger habe ich mir das Gerät ursprünglich für RaspBMC zugelegt. Allerdings besitze ich eine Digitalkamera und fahre bald in einen längeren Urlaub. Da ich keine 1000 SD-Karten mitschleppen möchte und noch eine 1TB-2.5"-HDD herumliegen habe, lautet meine Frage wie folgt:

    Ist es möglich, einen RPi so zu konfigurieren, dass, wenn beim Start die HDD via USB angeschlossen ist, die Daten von der SD-Karte automatisch auf diese kopiert werden? Dies soll bestenfalls ohne angeschlossene Tastatur / angeschlossenes Display funktionieren. Wenn ja, wie könnte man dies realisieren? Gibt es eventuell schon solche Projekte? Die Suche hat leider nichts gebracht.


    LG und im Voraus vielen Dank,
    sebastianklein

  • Das geht recht simpel:

    Die Platte und die SD in die /etc/fstab (Automatisches mounten) eintragen und ein kleines Script schreiben, was die Daten (z.B. Alle .jpg s) auf die Platte schiebt und gegegbenfalls dann von der SD löscht.

    Das Ganze in den Autostart

    -> Fertig


    Wenn die SD gleichzeitig die SD ist, worauf das Betriebssystem des Pi's ist, musst du die SD natürlich nicht eintragen, falls nicht -> USB-SD-Kartenleser

    Ich bin root! Ich darf das! :D


    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

    Einmal editiert, zuletzt von AltBen (3. Juni 2014 um 21:27)

  • Für dieses Projekt wirst Du aber noch einen aktiven USB Hub + externen USB SD Kartenreader brauchen. Der Hub muß hierbei so dimensioniert sein, daß er alle an- geschlossenen Geräte, am besten incl. RPi, betreiben kann. Ich würde mir auch noch ein oder zwei Status LED's + Taster zum runterfahren des RPi anbauen.

    Einmal editiert, zuletzt von Fliegenhals (3. Juni 2014 um 21:40)

  • Stimmt das Mit dem USb-Hub ist für mich schon so selbstverständlich ... ganz vergessen, den zu erwähnen ;)

    Das mit den StatusLEDs ist optional ... ich würde einfach am ende des ganzen ein "sudo halt" einfügen und die Sache ist gelaufen.

    Ich bin root! Ich darf das! :D


    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

    Einmal editiert, zuletzt von AltBen (3. Juni 2014 um 22:07)

  • Hallo Sebastian,

    so ein Progrmm schreibe ich gerade für jemand anders.

    Das Program kopiert Billder von einem Stick auf den Raspberry Pi.

    Die Erweiterung, von SD-Karte (der Kamera) auf eine Festplatte zu schreiben, dürfte nur wenige Zeilen betragen.

    Beste Grüsse

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.


  • Ist es möglich, einen RPi so zu konfigurieren, dass, wenn beim Start die HDD via USB angeschlossen ist, die Daten von der SD-Karte automatisch auf diese kopiert werden?
    Dies soll bestenfalls ohne angeschlossene Tastatur / angeschlossenes Display funktionieren. Wenn ja, wie könnte man dies realisieren? Gibt es eventuell schon solche Projekte? Die Suche hat leider nichts gebracht.

    Ich würde das über UDEV regeln. Damit kannst du regeln festlegen die beim anschließen eines (bestimmten) USB-Geräts bestimmte Aktionen durchführen lässt.

    Über /etc/fstab kannst du das Gerät nur automatisch einbinden lassen, aber keine automatische Aktion durchführen lassen.


    Nun wäre zunächst die Frage wie rum du das haben möchtest. Deine Frage deute ich so dass die SD des RaspberryPI's kopiert werden soll?
    Oder möchtest du nur bestimmte Ordner/Dateien kopiert haben? Oder soll das andersherum stattfinden: Die Daten des USB-Geräts auf die SD des RaspberryPI's kopieren?

    In folgendem Beitrag hab ich dazu bereits einige Beispiele von mir aufgelistet: https://www.forum-raspberrypi.de/Thread-usb-aut…=46857#pid46857
    Und auch noch ein weiteres Beispiel > hier <


    Grundsätzlich müsstet du dazu wie folgt vorgehen:

    1) Für udev eine Rule anlegen die, beim einstecken eines x-beliebigen USB-Geräts, das Device mounted :

    Code
    nano /etc/udev/rules.d/99-usbautomount.rules

    1.1) Mit folgendem Inhalt:

    Code
    ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd?1", RUN+="/bin/mount /dev/%k /mnt/usbstick"
    
    
    ACTION=="remove", SUBSYSTEMS=="usb", KERNEL=="sd?1", RUN+="/bin/umount /dev/%k"


    Das ist eine sehr einfach gehaltene Regel, damit ein x-beliebiger USB-Stick immer nach /mnt/usbstick eingebunden wird.. Es ist aber darauf zu achten das hierbei nur die erste Partition eingehängt werden würde.

    2) udev neu starten:

    Code
    /etc/init.d/udev restart

    3) mount-point (Verzeichnis wohin der Stick gemounted wird) anlegen:

    Code
    mkdir -p /mnt/usbstick

    4) USB-Stick mit einer FAT32 (oder ext2/3/4) Partition formatieren, einstecken und mit dem Befehl

    Code
    mount


    prüfen ob obiges funktioniert hat


    Schritt 1.1 müsste man allerdings mit einem Script versehen, welches beim einhängen des USB-Gerätes ausgeführt wird und den Kopiervorgang startet:

    Code
    ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd*", RUN+="/bin/bash /bin/usbmount.sh mount /dev/%k"
    
    
    ACTION=="remove", SUBSYSTEMS=="usb", KERNEL=="sd*", RUN+="/bin/bash /bin/usbmount.sh umount /dev/%k"

    Das Script usbmount.sh könnte dann wie folgt aussehen:

    Script ausführbar machen:

    Code
    chmod +x /bin/usbmount.sh

    Die Zeile " #befehl zum kopieren der Daten " müsste man dann noch für deine Bedürfnisse anpassen - dafür bräuchten wir aber von Dir genauere Infos ;)

  • Moin meigrafd!

    Vielen Dank für deinen Vorschlag! Sollte meine momentane Lösung nicht klappen, werde ich mir das anschauen.

    Allerdings ist mir eine viel einfachere Idee gekommen: Ich habe mir heute morgen ein ADAFRUIT PiTFT bestellt. Dabei handelt es sich um ein 2.8" TFT-Touchscreen, welches einfach auf die GPIO-Ports des RPi gelötet wird und mit einem Serial-Connector verbunden wird.
    Auf dieser Seite findet ihr genauere Informationen, falls ihr interessiert seid: http://www.adafruit.com/products/1601

    Ich werde nun also einfach den TFT auflöten und kann ganz bequem über StartX das GUI benutzen, um Dateien hin und her zu kopieren :)

    Und nur um es noch einmal klarzustellen: Es ging darum, von einer SD-Karte (aus meiner DSLR) mit einem angeschlossenen Kartenleser (USB) Bilder auf eine USB-Festplatte zu sichern, da ich nicht so viele Speicherkarten besitze.


    LG und Danke für die Hilfe,
    sebastianklein

    __________
    closed

  • Dein ausdrücklicher Wunsch im ersten Beitrag war eine Lösung ohne Anschluss eines Displays... Dementsprechend gab es hier bisher auch nur Vorschläge die diesen Wunsch berücksichtigten.


    Als Anfänger würde ich dir davon abraten etwas direkt auf die GPIO Leiste des PI drauf zu löten - wenn du zu heiß/lange lötest beschädigst du dabei die RaspberryPI platine
    (oder hast du dich falsch ausgedrückt?)

    Solche Displays gibt es zu hauf - siehe dazu in den Bereich Displays hier im Forum. Dort findest du auch Installationsanleitungen für wesentlich billigere Displays wie zB das 2,8" Touchscreen Display (Model: HY28B) aus China für ca. 11€, welches ich selber im Einsatz habe. Auf der 2. Seite des verlinkten Threads findest du auch noch andere Scripts oder Anleitungen usw...


    Das Geld was du fürs PiTFT ausgibst (ca. 40€ inkl. VSK) hättest du auch in noch mehr SD Karten stecken können - oder eben einer der besagten Vorschläge hier umsetzen da dass nicht wirklich schwer ist (nur habe ich keine DSLR oder weiß auch nicht von wo nach wo du die Dateien kopieren willst) ... Aber was solls - den Weg des geringsten Widerstands zu gehn scheint groß in Mode zu sein :(

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!