Guten Tag zusammen!
Ich würde gerne ein Projekt realisieren bei dem ich von einem Raspberry
Pi aus über die GPIOs auf eine, bevorzugt aber mehrere SD Karten
zugreifen kann.
Konkret ginge es dabei um eine Art mobiles NAS für Fotos von einer
Digitalkamera. Die Daten würde ich gerne von der SD Karte der Kamera auf
die SD Karte(n) (im Prinzip wie eine interne Festplatte), kopieren. Das
ganze sollte sehr mobil sein, also klein, leicht, stoßfest und mit Akku
(deswegen auch keine externe FP). Außerdem sollte das ganze halbwegs
günstig sein (deshalb keine SSD).
meine Frage ist nun, ob ich über die GPIO ansatzweise an sinnvolle
Datenraten rankommen könnte, und ob sich das (relativ) einfach
bewerkstelligen ließe? Oberhammer wäre es dann natürlich, wenn mehrere
SD karten als RAID/JBOD miteinander kombinierbar wären.
mfg Michael
Michael schrieb:> meine Frage ist nun, ob ich über die GPIO ansatzweise an sinnvolle> Datenraten rankommen könnte, und ob sich das (relativ) einfach> bewerkstelligen ließe? Oberhammer wäre es dann natürlich, wenn mehrere> SD karten als RAID/JBOD miteinander kombinierbar wären.>> mfg Michael
Mir ist, es gab projekte SD Karten über SPI Anzusprechen, schnell war
das nicht und ich hab keinen Link. Warum kein USB Kartenleser?
Michael schrieb:> meine Frage ist nun, ob ich über die GPIO ansatzweise an sinnvolle> Datenraten rankommen könnte, und ob sich das (relativ) einfach> bewerkstelligen ließe? Oberhammer wäre es dann natürlich, wenn mehrere> SD karten als RAID/JBOD miteinander kombinierbar wären.
Und ein USB-Hup + USB-Kartenleser ist dir zu einfach? Damit könnte man
auch ein Software-Raid bauen - für sinnvoll halte ich es aber nicht.
@Peter: Sehe ich auch so.
Und wegen der Speicher-Kosten schlage ich eine SSD vor.
Für SD Karten über SPI braucht man keinen Raspi, da reicht zur Not ein
STM32F030F4P6 für 50ct, sogar mit DMA.
Scelumbro schrieb:> Warum kein USB Kartenleser?
Ein SD Kartenleser würde vmtl. wesentlich mehr Palt benötigen. Wie
gesagt, je kompakter, desto besser. Wenn das ganze nicht anders möglich
ist, bleibt das Plan B.
@Peter II: Cooles Teil :-)
@Michael:
Falls SD per SPI statt SSD und Du noch Slots brauchst,
hätte ich welche übrig:
http://www.aliexpress.com/snapshot/6280279008.html
Unsere Nachrichten gingen über Kreutz, gesehen?
Also im klartext:
SD Karte über SPI/I²C wäre sehr (unbrauchbar) langsam? Die bessere
alternative wäre micro SD+Adapter oder SSD + adapter, sehe ich das
richtig so?
Michael schrieb:> Ein SD Kartenleser würde vmtl. wesentlich mehr Palt benötigen. Wie> gesagt, je kompakter, desto besser. Wenn das ganze nicht anders möglich> ist, bleibt das Plan B.
Nimm einen kleineren SBC, z.B. den Olinuxino Micro oder Nano. Die haben
auch gleich Schaltung zum Betrieb aus Lipo Akkus an Board. Den geparten
Platz nutzt du für einen USB-HUB und Kartenleser.
Torsten C. schrieb:> Für SD Karten über SPI braucht man keinen Raspi, da reicht zur Not ein> STM32F030F4P6 für 50ct, sogar mit DMA.
Mit FAT implementation, auch für SDHC? Glaube irgendwie da braucht man
schon ein bisschen mehr. Wie lange dauert es bei so einem System 4 GB
von einer Karte auf die andere zu schieben? Und dann fragt sich ob der
TO das Layouten / Programmieren kann.
Michael schrieb:> SD Karte über SPI/I²C wäre sehr (unbrauchbar) langsam?
I²C geht nicht, aber SPI. Es gibt auch 4-Bit-paralleles SPI (SDIO). Das
geht dann ohne USB-Umweg direkt per µC und kann mit DMA maximal schnell
sein, z.B. mit einem
STM32F103V8T6 ab 163ct (64 kB Flash)
Kann der RasPi 4-Bit-paralleles SPI out-of-the-box an separaten
SD-Slots?
Scelumbro schrieb:> Mit FAT implementation, auch für SDHC?
Mit 16KB Flash? Sollte gehen.
Ich habe aber keine Ahnung ob es dafür eine fertige Lib gibt.
Scelumbro schrieb:> Wie lange dauert es bei so einem System 4 GB> von einer Karte auf die andere zu schieben?
Das hängt m.E. im Wesentlichen von der Karte ab.
Scelumbro schrieb:> Und dann fragt sich ob der TO das Layouten / Programmieren kann.
Klar. Aber wie ist die Frage gemeint? Das kannst Du nicht wissen und ich
auch nicht. Und keiner außer er selbst kann wissen, ob er es ggf. lernen
will.
Das war ja auch nur ein Hinweis. Falls der TO das nicht kann, ist er
vielleicht für Mitleser mit einem ähnlichen Problem interessant.
Scelumbro schrieb:> Und dann fragt sich ob der> TO das Layouten / Programmieren kann.
Programmieren kann ich nur bedingt, sprich die Grundlagen von PHP, C#
und JS sind da. Das wars aber auch. Mit lernen hätte ich jetzt keine
Probleme, dem Problem bin ich aber von vorn herein (größtenteils) damit
ausgewichen, dass ich einen Raspi als Basis verwenden möchte.
Performance, Layout (abgesehen von einem externen Board für SD slots)
sowie die Softwarebasis sind hier kein Problem.
Grundlegende Kenntnisse in der Elektronik besitze ich ebenfalls aber ans
Layouten habe ich mich bisher nicht getraut. Wie auch beim Programmieren
gilt: Interessant ist es allemal.
Torsten C. schrieb:> Das hängt m.E. im Wesentlichen von der Karte ab.
d.h. Lese-/Schreibraten von mehreren MB sind möglich?
mfg
Michael schrieb:> Programmieren kann ich nur bedingt, sprich die Grundlagen von PHP, C#> und JS sind da. Das wars aber auch.
Das dachte ich mir schon. Für ein Projekt mit dem von Thorsten C.
vorgeschlagenen Mikrocontroller müsstest du dich erstmal ordentlich in C
einarbeiten, das Datenblatt des Microcontrollers lesen und verstehen
lernen, eine passende Platine designen und layouten und diese fertigen
(lassen).
Wenn du das alles lernen willst, wünsche ich dir ehrlich viel Freude und
Geduld. Aber ich glaube mit einem SBC kommst du wohl schneller zum Ziel
(und billiger wenn man die Kosten für Fehlschläge berücksichtigt)
Scelumbro schrieb:> Aber ich glaube mit einem SBC kommst du wohl schneller zum Ziel
Da stimme ich soweit zu. Aber wieviele SD-Karten sollen es denn sein?
Und wie sollen die ohne eigenes PCB-Layout angeschlossen werden? Über
Kabel und USB-Hubs? Es gibt diese lustigen Hubs in Männchen-Form. ;-)
Scelumbro schrieb:> eine passende Platine designen und layouten
Die 'minimum system boards' gibt es für ein paar hundert Cent fertig.
Michael schrieb:> Lese-/Schreibraten von mehreren MB sind möglich?
Grundsätzlich steht im Datenblatt:
'Data transfer up to 48MHz'
Das wären m.E. 192MByte/s
Diese Datentransferrate gibt es nur einmal pro µC, zum Beispiel zum
Lesen.
Beim Schreiben könnte man ...
Aber falls die Bastelei für Dich eh nicht in Frage kommt, lass uns das
vertagen.
Torsten C. schrieb:> Aber wieviele SD-Karten sollen es denn sein?
Grundsätzlich zwei. Dann könnte man zumindest softwareseitig RAID 0/1
bzw. JBOD aufbauen. (falls das hier überhaupt möglich ist)
Torsten C. schrieb:> Und wie sollen die ohne eigenes PCB-Layout angeschlossen werden? Über> Kabel und USB-Hubs?
Kable und Hubs möchte ich auf keinen Fall (Strom- und Platzverbrauch).
In dieser Hinsicht wäre ein eigenes Design als "Erweiterungsplatine" für
den RasPi durchaus interessant. Was würde ich da an sich benötigen?
Außer 2 SD Kartenslots und einer Stromversorgung kann ich mir da nicht
wirklich was zusammenreimen...
mfg
Michael schrieb:> Außer 2 SD Kartenslots und einer Stromversorgung kann ich mir da nicht> wirklich was zusammenreimen
Eben. Das passt auch, denn was ich damit sagen wollte: Man kann die
Buchhsenleisten z.B. für so ein maple mini auslegen, statt für einen
RasPi. Das wäre der einzige Unterschied.
http://www.aliexpress.com/item/-/32214664071.html
Vielleich sogar wahlweise?
PS: Sorry, ist mir erst aufgefallen als ich schon im Auto saß:
Der 'maple mini'^^ hat kein SDIO. Bei Interesse suche ich ein anderes
Board mit einem 100-Pinner raus, aber das Board ist dann preislich
dichter am RasPi oder zum 'selbst bestücken'.
So, nochmal mit SDIO, ich habe diese Boards:
http://www.aliexpress.com/item/-/2038449638.html
Fertig bestückt für rund 10€, aber für so viel Geld bekommt man schon
ein NUCLEO-F411RE und muss nicht auf China warten.
>In dieser Hinsicht wäre ein eigenes Design als "Erweiterungsplatine" für>den RasPi durchaus interessant.
Schwachsinn. Alles was du an den Erweiterungsport hängst
wird grottenlangsam sein, egal was es ist. Und dann noch Raid?
Viel Spass da einen eigenen Treiber zu schreiben.
Die einzig sinnvolle Lösung wurde schon genannt:
USB Hub und SD Kartenleser.
Der Link z.b
https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=8837 beschreibt
das verbinden von SD Cards über GPIOs an den Pi. Es ist wirklich kaum
mehr als den Kartenslot mit den richtigen GPIOs zu verbinden.
Allerdings geht wohl nicht mehr als 1 MB/s. Musst du wissen ob das
reicht. Also ich würde die USB variante vorziehen.
Michael schrieb:> Grundsätzlich zwei. Dann könnte man zumindest softwareseitig RAID 0/1> bzw. JBOD aufbauen. (falls das hier überhaupt möglich ist)
Wieso glaubst du das zu brauchen?