Forum: Mikrocontroller und Digitale Elektronik RPi Zero 2 W - Datenträger verbinden


von Hans D. (hansdampf06)


Lesenswert?

Hallochen allerseits!

Ich möchte bei einem RPi Zero2W als Speicherort für die Daten aus den 
allseits bekannten Gründen anstelle der SD-Card einen anderen 
Massenspeicher verwenden. Der RPi Zero2W bietet - abgesehen von dem 
einzigen USB-Anschluss - selbst dafür keine Anschlussmöglichkeiten, so 
dass - wie bei den anderen RaspPi's eigentlich auch - zusätzliche 
Hardware benötigt wird, um den Massenspeicher anschließen zu können.

Am liebesten wäre mir ja ein auf die GPIO-Leiste steckbares HAT-Modul im 
Bonnet-Format, dass ein M.2-Laufwerk tragen könnte. Jedoch konnte ich in 
Bezug auf M.2-Laufwerke lediglich solche Platinen für den RPi 5 finden, 
die über ein Flachkabel an den neuen (PCIe-)Anschluss beim RPi 5 
angebunden werden. Oder habe ich da etwas übersehen?

Soweit für mich ersichtlich wurde, verbleibt es ansonsten bei der 
klassischen RPi-Variante des Anschlusses des Massenspeichers über einen 
USB-Port. Selbst SATA-HAT's stellen letztlich ihre Verbindung zum 
jeweiligen RPi per USB her. Leider gibt es wohl für den RPi Zero2W keine 
USB-3-Erweiterungen. Oder habe ich auch hier etwas übersehen? Kennt 
vielleicht jemand eine für den RPi Zero2W taugliche USB-3-HAT im 
Bonnet-Format?

Unabhängig davon, ob USB 2 oder USB 3 zur Verfügung steht, kann eine 
SATA-SSD über einen einfachen SATA-USB-Adapter verbunden werden. Eine 
Alternative zu einem solchen Adapter wäre dieser 
https://geizhals.de/usb-2-0-auf-msata-6gb-s-controller-verschiedene-hersteller-a1594340.html. 
Hat jemand bereits Erfahrungen mit diesem Controller? Welche 
mSATA-Laufwerke funktionieren mit diesem Controller zuverlässig?

Vielen Dank im Voraus für Eure Beiträge und viele Grüße
Hans D.

von Sebastian R. (sebastian_r569)


Lesenswert?

Hans D. schrieb:
> Oder habe ich da etwas übersehen?

Nein, hast du nicht. Alles vor dem RPi5 hat keinen Anschluss für 
Massenspeicher abgesehen vom USB.

von Keks F. (keksliebhaber)


Lesenswert?

Wüsste nicht wo die Geschwindigkeit aber auch die Signalintegrität 
herkommen sollte bei den GPIOs und dann noch so aufgesteckt.

von Frank K. (fchk)


Lesenswert?

Eine der wenigen Möglichkeiten wäre eine zweite SD-Karte über SPI. Ich 
wüsste nicht, dass es da ein fertiges Board gibt, da müssestest Du was 
eigenes machen. Und schnell wird das auch nicht. Aber es sollte gehen.

fchk

von Uwe D. (monkye)


Lesenswert?

Wenn Du die Daten lokal speichern willst, dann ist das so wie Du 
schreibst. Dann würde ich eine der USB-HATs verwenden. Der einzige 
Vorteil ist die Lebensdauer des angeschlossenen Speichers ggü. der 
SD-Card. Du kannst aber auch einfach mehr Geld in die SD-Card 
investieren, da gibt es ja ein paar langlebige Industrieexemplare…
Hab‘ bei mir eine Kombi aus „USV“ mit LiPo-Zelle und USB-Hub, das geht 
zuverlässig über Jahre. Aber schnell ist anders.
Ansonsten könntest Du auch einen LAN-Adapter dranklöppeln, das ist 
zuverlässiger als WLAN.

von Harald K. (kirnbichler)


Lesenswert?

Die sinnvollste Möglichkeit ist ein USB-Hub, an den der Massenspeicher 
und andere Krempel angeschlossen wird.

Das dürfte die schnellste und zuverlässigste Schnittstelle sein, die der 
Zero 2 W bietet.

Es gibt USB-Hubs gleich mit Micro-USB-Stecker, die allerdings sind nur 
"bus-powered".

https://www.berrybase.de/4-port-micro-usb-2.0-otg-hub-schwarz

Besser ist ein Micro-USB-OTG-Adapter, an den ein "self-powered" USB-Hub 
(mit eigenem Netzteil) angeschlossen wird.

https://www.berrybase.de/usb-2.0-hi-speed-otg-adapterkabel-a-buchse-micro-b-stecker-0-15m-weiss

Mehr als USB 2.0 ist nicht drin, denn der Zero 2 W enthält nur einen 
USB2.0-Controller und stellt auch keine PCIe-Lane zur Verfügung, an der 
was anderes angeschlossen werden könnte.

Die gibt es erst beim Raspberry Pi 5 -- und beim Raspberry Pi Compute 
Module 4.

Der Raspberry Pi 4 hat zwar intern eine PCIe-Lane, an der ist aber der 
USB3-Controller angeschlossen. Das Compute Module enthält keinen 
USB3-Controller und führt deswegen die PCIe-Lane heraus.

An der kann man eine NVMe-SSD anschließen, und das Ding kann dann auch 
davon booten. Die Geschwindigkeit ist allerdings auf PCIe 2.0 begrenzt, 
d.h. mehr als 500 MByte/sec sind nicht drin. Das ist erst beim Raspberry 
Pi 5 (bzw. dem Compute Module 5) anders, da kann man die PCIe-Lane 
"übertakten" und mit der doppelten Geschwindigkeit betreiben (entspricht 
dann PCIe 3.0)

So schick Raspberry Pis auch sonst sind, die Möglichkeiten, 
zuverlässigen Massenspeicher daran zu betreiben, sind bescheiden.

von Uwe D. (monkye)


Lesenswert?

Bei mir werkelt wie gesagt ein X306 unter dem RPi 2Z, die Daten schicke 
ich per Netzwerk an Server (je nach Bedarf z.B. auch MQTT) anstatt lokal 
zu horten.

Mein RPi 4 läuft seit Anfang 2020 mit einer 128GB SSD von Crucial 24x7. 
Weltrekorde muss die nicht aufstellen, einfach nur als „Datenklo“ 
funktionieren.

von Michael L. (nanu)


Lesenswert?

Hans D. schrieb:
> Ich möchte bei einem RPi Zero2W als Speicherort für die Daten aus den
> allseits bekannten Gründen anstelle der SD-Card einen anderen
> Massenspeicher verwenden.

Welche bekannten Gründe? Geschwurbel oder Geiz? Kauf einfach eine 
geeignete Karte aus zuverlässiger Quelle. Z.B. kostet eine Samsung 32GB 
PRO Endurance microSD gerade mal 9€, eine 16GB 13€ usw. Bei anderen 
Herstellern wird das nicht anders sein. Und dann gibt's ja auch noch 
Industrial Karten.

von Frank K. (fchk)


Lesenswert?

Ich verwende immer COmpute Modules in Verbindung mit einem passenden 
IO-Board wie das hier
https://www.waveshare.com/wiki/CM4-IO-BASE-B
So habe ich einerseits EMMC statt SD fürs Betriebssystem plus eine M.2 
für Daten plus RTC mit Batterie.

Für CM5 gibts auch passende Boards.

fchk

von Gerd E. (robberknight)


Lesenswert?

Du könntest den Micro-SD-Slot runterlöten und statt dessen ein eMMC-IC 
anlöten. Entweder mit Breakout-Board oder für die ganz harten mit 
Fädeldraht. SD-Karten und eMMc verwenden das selbe Protokoll, man muss 
nur auf die Spannungslevel achten.

Etwas Übung im Löten sollte man haben für sowas...

von Harald K. (kirnbichler)


Lesenswert?

Gerd E. schrieb:
> Du könntest den Micro-SD-Slot runterlöten und statt dessen ein eMMC-IC
> anlöten.

Es gibt auch Steckadapter:

https://www.pollin.de/p/odroid-emmc-microsd-kartenleser-adapter-811052

und passend dazu:

https://www.pollin.de/p/odroid-m1-emmc-modul-32-gb-811483


Günstig ist das dann aber nicht mehr.

von Matthias S. (dachs)


Lesenswert?

Michael L. schrieb:
> Welche bekannten Gründe? Geschwurbel oder Geiz?

Bei mir läuft ein Olinuxino seit mehr als 10 Jahren mit der ersten uSD.
Es werden halt alle Daten jede Minute in eine DB geschrieben - auf 
/dev/shm.
Um Mitternacht dann gesammelt auf die uSD.

von Hans D. (hansdampf06)


Lesenswert?

Vorab besten Dank für Eure Rückäußerungen. Zwischenzeitlich ist die 
Entscheidung für eine SSD als Massenspeicher per USB gefallen. Dank des 
PoE-HAT von Waveshare stehen USB-A-Anschlüsse (s.u.) ohnehin zur 
Verfügung, so dass eine SSD per USB-SATA-Adapter angeschlossen werden 
kann.

Diese Entscheidung ist nicht ganz freiwillig gefallen, sondern hat der 
RPi Zero2W quasi erzwungen. Denn kurz nach dem Absetzen meines 
Eingangsbeitrags traten erste "Betriebsstörungen" auf, die letztlich 
darauf zurückzuführen sind, dass die SD-Card-Schnittstelle offenkundig 
nicht den gleichzeitigen erhöhten Lese-/Schreibanforderung(sspitz)en 
jederzeit gewachsen ist: Bei einem plötzlichen loadavg-Spitzenwert von 
25 bis 32 wurde die Steuerungsaufgabe noch einigermaßen erledigt. Aber 
in meiner Protokollierung habe ich Werte von bis zu 140 gesehen. Das ist 
absolut inakzeptabel. Der testweise Umbau der produktiven 
Datenerfassung/-auswertung sowie Regelsteuerung auf eine per USB 
angeschlossene SSD hat dieses Problem im Wesentlichen sofort beseitigt, 
wenngleich ich noch ergänzende softwareseitige Verhinderungsstrategien 
eingebaut habe.

Auf den Hinweis von
Uwe D. schrieb:
> da gibt es ja ein paar langlebige Industrieexemplare…
war ich zunächst sehr geneigt, eine Industrial-SD-Card zu verwenden. 
Beispielsweise 1.920 TBW nebst Wear Leveling etc. bei denen von Kingston 
sind schon eine echte Hausnummer für einen Horizont von mehreren 
Jahrzehnten - bei den aktuellen Schreibanforderungen. Ob es mit einer 
solchen SD-Card nicht zu dem oben beschriebenen Phänomen kommen würde, 
habe ich keine Lust auszuprobieren, weil der USB-SSD-Test sicher (zu) 
funktionier(en schein)t und ich noch einige SSD's mit ausreichend 
verbliebener LifeTime frei zur Verfügung habe, so dass ein langfristiger 
produktiver Betrieb gewährleistet ist.

Sebastian R. schrieb:
> Nein, hast du nicht. Alles vor dem RPi5 hat keinen Anschluss für
> Massenspeicher abgesehen vom USB.
Bestens! Etwas anderes hätte mich doch einigermaßen überrascht.

Keks F. schrieb:
> Wüsste nicht wo die Geschwindigkeit aber auch die Signalintegrität
> herkommen sollte bei den GPIOs und dann noch so aufgesteckt.
Es müssen keine Lese-/Schreibrekorde gebrochen werden. Zumeist ist auch 
eine SD-Card nicht dazu gedacht, Rekordlisten anzuführen. Eine 
Schreib-/Leseleistung auf USB-2-Niveau ist derzeit hinreichend. Sollte 
das später einmal anders sein, ist möglichweise der RPi Zero2W ohnehin 
insgesamt leistungsmäßig nicht mehr (allein) tauglich.

Uwe D. schrieb:
> Wenn Du die Daten lokal speichern willst, dann ist das so wie Du
> schreibst. Dann würde ich eine der USB-HATs verwenden. Der einzige
> Vorteil ist die Lebensdauer des angeschlossenen Speichers ggü. der
> SD-Card.
Genau, die erwartbare LifeTime war zunächst der exponiert-relevante 
Ausgangspunkt für einen zusätzlichen Massenspeicher. Dann trat noch das 
oben beschriebene Phänomen hinzu.

Der Kern meiner Ausgangsfrage betrifft im Übrigen ausschließlich die 
Anschlussmöglichkeiten für einen Massenspeicher direkt am RPi Zero2W. 
Alle Gedanken an Speicherungsmöglichkeiten im LAN oder sonstwo sind in 
diesem Szenario obsolet! Die Produktivaufgabe erfordert einen autonomen 
Betrieb des RPi Zero2W.

Harald K. schrieb:
> Die sinnvollste Möglichkeit ist ein USB-Hub, an den der Massenspeicher
> und andere Krempel angeschlossen wird.
Der RPi Zero2W wird per PoE betrieben, sodass über das PoE-Board (siehe 
https://www.berrybase.de/poe-ethernet-usb-hub-hat-fuer-raspberry-pi-zero-1x-rj45-3x-usb) 
neben dem eigenen USB-2-Anschluss weitere drei USB-2-A-Anschlüsse 
vorhanden sind. Eines USB-Hubs/-Adapters bedarf es daher nicht. Die 
PoE-Quelle ist zudem auf 802.3at konfiguriert, so dass genügend Power 
vorhanden ist. Die bisher beobachteten Betriebsdaten zeigen einen Bedarf 
zwischen 2,3 und 4 Watt für den RPi Zero2W einschließlich aller 
Motorsteuer- und sonstigen HAT's, so dass es mit einem zusätzlichen 
SSD-Massenspeicher unkritisch bleibt.

> Mehr als USB 2.0 ist nicht drin, denn der Zero 2 W enthält nur einen
> USB2.0-Controller und stellt auch keine PCIe-Lane zur Verfügung, an der
> was anderes angeschlossen werden könnte.
So auch mein Verständnis.
> So schick Raspberry Pis auch sonst sind, die Möglichkeiten,
> zuverlässigen Massenspeicher daran zu betreiben, sind bescheiden.
Vor dem RPi 4 war daher hinsichtlich USB 3 der Rock64 die taugliche 
Alternative. Aber auch dort gibt es keinen PCIe-Anschluss.

Uwe D. schrieb:
> Mein RPi 4 läuft seit Anfang 2020 mit einer 128GB SSD von Crucial 24x7.
> Weltrekorde muss die nicht aufstellen, einfach nur als „Datenklo“
> funktionieren.
Bei einem "Datenklo" passt das - nicht jedoch bei einer Steuerung mit 
aufzuzeichnenden Sensordaten, Verlaufsprotokollierung, Datenanalyse und 
Steuerparamterberechnung. Scheinbar kleine Datenhappen verhalten sich da 
getreu dem Motto "Kleinvieh macht auch Mist!". Das bedeutet nicht, dass 
der Speicherplatzbedarf unbedingt groß sein muss, aber die 
kontinuierliche Schreibleistung ist es allemal. Das gilt erst recht, als 
die Daten nur mittels eines DBMS sinnvoll verarbeitbar sind. MariaDB 
läuft bisher erstaunlich gut auf dem RPi Zero2W - hätte ich zunächst 
nicht erwartet.

Dass ich im Lichte der vielen sachlichen Kommentare auf den abseitigen 
Einwurf "Geschwurbel oder Geiz" nicht weiter einzugehen gedenke, dürfte 
selbstredend sein.

Viele Grüße
Hans D.

von Harald K. (kirnbichler)


Lesenswert?

Hans D. schrieb:
> so dass eine SSD per USB-SATA-Adapter angeschlossen werden
> kann.

Die ist dann halt pröttenlahm, weil sie nur per USB2.0 angesprochen 
wird.

Allerdings: Bei den meisten Raspberries ist die SD-Schnittstelle sogar 
noch etwas langsamer, mehr als 20 MByte/sec ist da kaum rauszuholen.

https://bret.dk/raspberry-pi-microsd-card-performance-across-the-pi-family/

von Uwe D. (monkye)


Lesenswert?

Hans D. schrieb:
> Uwe D. schrieb:
>> Mein RPi 4 läuft seit Anfang 2020 mit einer 128GB SSD von Crucial 24x7.
>> Weltrekorde muss die nicht aufstellen, einfach nur als „Datenklo“
>> funktionieren.
> Bei einem "Datenklo" passt das - nicht jedoch bei einer Steuerung mit
> aufzuzeichnenden Sensordaten, Verlaufsprotokollierung, Datenanalyse und
> Steuerparamterberechnung. Scheinbar kleine Datenhappen verhalten sich da
Naja, im „Datenklo“ landen die Daten einer MariaDB, hunderte LOG‘s, 
Messwerte über viele Jahre…
Da sehe ich jetzt keinen Unterschied zu Deinen Anforderungen. So 
Nebenläufigkeiten, wie ein gelegentliches Backup, lassen Katastrophen 
weniger schwer ausfallen - sofern z.B. der Strom mal durch einen Bagger 
„abgeschaltet“ wird…
Will sagen: Auf den Parameter TBW der SSD achten (höher ist besser) und 
optional USV vorsehen.

von Rüdiger B. (rbruns)


Lesenswert?

Warum muss es der Pico sein?

von Harald K. (kirnbichler)


Lesenswert?

Rüdiger B. schrieb:
> Warum muss es der Pico sein?

Zero != Pico

von Falk B. (falk)


Lesenswert?

Hans D. schrieb:
> Ich möchte bei einem RPi Zero2W als Speicherort für die Daten aus den
> allseits bekannten Gründen anstelle der SD-Card einen anderen
> Massenspeicher verwenden.

Welche sind das denn WIRKLICH? Ja, es gab und gibt Problem mit Raspberry 
Pi und SD-Karten, aber unter welchen Bedingungen?
Wenn man nicht die letzte Gurke von SD-Karte nutzt, das Filesystem als 
Read-Only einschaltet und eine stabile Stromversorgung mit ggf. USV 
nutzt, sollte auch ein SD-Karte am Raspberry PI verdammt stabil laufen. 
Soo schlecht ist das Ding nicht. Zum Vergleich. Es gibt jedes Jahr 
hunderte, tödlicher Motoradunfälle, trotzdem fahren hunderttausende 
Motorad. Kann sooo schlimm trotzdem nicht sein, wenn man die 
allermeisten Dinge richtig macht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.