Forum: Mikrocontroller und Digitale Elektronik Arduino Uno R3 geeignet für kleinen Intranet Fileserver?


von Jan F. (Gast)


Lesenswert?

Moin,

mir kam letzte Nacht so ein Gedanke bzgl. einer evntl. zukünftigen 
Projektidee. Und zwar dachte ich daran, mir einen kleinen Fileserver mit 
WLAN Anbindung für das hausinterne Netzwerk zu basteln.

Dazu hatte ich an einen Arduino Uno R3 + WiFiShield mit µSD-Karte 
gedacht. Mir geht es nicht um enorm große Datenmengen, mir würden an 
sich 32 oder 64GB reichen.

Jedoch stellt sich mir die Frage, ob der Arduino mit einer SDHC (für 
etwas schnellere Schreib-/Lesegeschwindigkeit) überhaupt dafür geeignet 
sein könnte. Reicht seine Prozessorleistung und seine 
Kommunikationsgeschwindigkeit aus, um noch in diesem Leben erwarten zu 
können, 1 GB übertagen zu können und irgendwann wieder abzurufen? Da ich 
hier leider nur eine sehr schlechte Internetanbindung habe und keine 
Cloudservices nutzen möchte, dachte ich entsprechend daran mir eine 
kleine "Mini-Cloud" einzurichten um die im Haus verfügbaren Rechner 
Datentechnisch etwas zu synchronisieren ohne immer mit dem Stick 
herumrennen zu müssen.

Ich habe nur bedenken bezüglich der Geschwindigkeit. SD-Karten sind ja 
bekanntlich eh nicht so schnell. Und wie sich das dann mit den 16MHz von 
dem Arduino verhält weiss ich auch nicht.

Macht das ganze überhaupt an sich Sinn, oder ist es sowieso nicht zu 
empfehlen für soetwas Mühe und Arbeit zu investieren.

Reicht der Arduino Uno R3 dafür aus? Oder sollte es schon eher der 
Arduino M0 Pro sein? Oder evntl. lieber etwas ganz anderes..? Ich wollte 
an sich eben nicht so viel Geld dafür ausgeben um mir gleich eine 
kommerzielle Home-Cloud-Lösung zuzulegen. Abgesehen davon würde mir die 
Bastelarbeit erspart bleiben und eigentlich will ich das ja auch nicht.. 
;)

Schonmal Danke für eure Antworten.

Cheers,

Ian

von Tobias .. (bitfehler)


Lesenswert?

Ein Raspberry Pi ist dafür bestens geeignet

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Jan F. schrieb:
> Oder sollte es schon eher der
> Arduino M0 Pro sein?

Mindestens. Bedenke, das der kleine Kerl nicht nur auf eine SD Karte 
zugreifen muss, sondern auch noch einen ganzen Netzwerkstack (mit 
Server) am laufen halten muss. Da ist ein Uno mit 16Mips und 32k Flash 
immer am Limit, wenns überhaupt geht und auch der M0 wirds sehr schwer 
haben.

Prinzipiell ist jeder alte Netzwerkrouter - ob MIPS oder ARM - besser 
geeignet, ein NAS draus zu basteln, als ein Arduino mit AVR8. Als 
Minimum sehe ich ein System mit 100Mhz, 2Mb ROM und 8MB RAM mit ucLinux. 
Darauf (uCSimm) habe ich sowas schon mal gemacht, habe mich aber um den 
SMB Server herumgedrückt und nur NFS benutzt (der uCSimm hat auch nur 
16Mhz Taktfrequenz). Mit NFS kann aber niemand ausser Unix Kisten was 
anfangen, da brauchts einen z.B. Samba Server.

: Bearbeitet durch User
von 2⁵ (Gast)


Lesenswert?

Jan F. schrieb:
> Dazu hatte ich an einen Arduino Uno R3 + WiFiShield mit µSD-Karte
> gedacht. Mir geht es nicht um enorm große Datenmengen, mir würden an
> sich 32 oder 64GB reichen.

Wenn du etwas/viel (je nach deinem jetzigen Kenntnisstand) lernen 
willst, ist das ja ok. Aber Sinn macht das keinen. Ein RPi oder 
Konsorten macht das
so nebenbei. Billiger wirds wohl auch nicht viel (weiß jetzt nicht, was 
ein WifiShield kostet). Ein RPi3 hat WLAN schon On-Board. Da ist ein 
FileServer auf einer SD Karte (oder HD an USB) in ein paar Minuten 
eingerichtet (wenn das OS mal läuft).

Ein BananaPI hat auch eine GBit-Netzwerk Schnittstelle und SATA on Board 
(dafür kein WLAN, aber etliche, billige WLAN-USB-Sticks funktionieren).

Beachte bitte, ein Arduino Uno wird lausige Übertragungsraten haben. Und 
so nebenbei noch das SMB Filesystem nachprogrammieren... wird eh eng auf 
einem 8 Bitter.

von Jan F. (Gast)


Lesenswert?

Ohje.. Das sind ja eher schlechte Nachrichten für mein Vorhaben. Ich 
muss sagen, auf RaspberryPi bin ich ja gar nicht so wild. Ich denke, 
dann werde ich das Projekt wohl eher sein lassen. Immerhin kann ich das 
ganze theoretisch auch einfach lösen, indem ich einen USB-Stick an den 
Router anschließe. Der kann das ganze schon von Haus aus.

Dann werde ich mir wohl lieber andere Projekte überlegen.

Ich habe jetzt aktuell mit einem Cortex M0 System zu tun (Dialog 
Semiconductor 14580) mit dem ich per Bluetooth LE mit einem 
Android-Gerät kommunizieren möchte (Programmierung von µC und 
Android-App). Das ist jedoch eher beruflicher Natur. Ich wollte mir 
jedoch auch mal etwas für die private Bastellust gönnen und dachte da 
eben an einen relativ erschwinglichen Arduino mit den vielen Modulen und 
Ergänzungen.

Gibt es denn noch andere Empfehlenswerte Systeme, die evntl. auch 
tatsächlich für einen praktischen Nutzen herhalten könnten? Oder 
empfiehlt es sich so oder so mit einem "Einsteiger-Kit" loszulegen, 
obwohl man grundsätzlich schon Erfahrung in der Programmierung von 
solchen Geräten hat?

Cheers,

Ian

von G. H. (schufti)


Lesenswert?

XXX-Pi's und Konsorten mit SATA sind meist Mogelpackungen wo man für 
eine USB/SATA Bridge teuer Geld zahlt. Nimm einen einfachen Mehrkerner 
mit USB und hänge eine ext. USB-HD dran, hat die selbe Performance.

Einige SoC's haben eine echte SATA (z.B. Allwinner) aber dafür ev. 
andere Probleme (mangelnde Unterstützung von HW Video Dekodern).

Für NAS bzw. Intranet-Fileserver ist wohl gute Netzwerk- und 
HD-Anbindung das wichtigste, genau da ist der RasPi eine absolute Niete.

Ein einfaches Linux mit SMB-Unterstützung wird auf allen laufen und die 
Performance wird in erster Linie vom SMB-Overhead abhängen, auch etwas 
vom RAM.

Edit: wenn es dir um "IoT" Basteleien geht, schaue dich mal auf 
http://www.esp8266.com um ... die arduino-IDE macht den Einstieg sehr 
einfach.

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Jan F. schrieb:
> Ich habe nur bedenken bezüglich der Geschwindigkeit. SD-Karten sind ja
> bekanntlich eh nicht so schnell. Und wie sich das dann mit den 16MHz von
> dem Arduino verhält weiss ich auch nicht.

Das gibt doch der Taschenrechner schon her: 8 Milliarden Bits geteilt 
durch 8 MHz (SPI teilt durch 2) Takt ergibt 1000 Sekunden für 1 GB Daten 
als untere Schranke. Und da bleibt keine Zeit mehr über fürs Netzwerk...

von c-hater (Gast)


Lesenswert?

Jan F. schrieb:

> mir kam letzte Nacht so ein Gedanke bzgl. einer evntl. zukünftigen
> Projektidee. Und zwar dachte ich daran, mir einen kleinen Fileserver mit
> WLAN Anbindung für das hausinterne Netzwerk zu basteln.

Na toll. Als wenn es nicht bereits genügend schweinelahme NAS' für ein 
Taschengeld fertig zu kaufen gäbe...

Und nein: dein Arduino UNO R3 wird auch den langsamsten dieser Teile 
noch massiv unterlegen sein. Selbst wenn ein kompetenter Programmierer 
sich der Sache annehmen würde, was hier aber eher nicht zu erwarten ist, 
weil kompetente Programmierer die Möglichkeiten der Hardware schon in 
kürzerer Zeit abgeschätzt haben, als du gebraucht hast, um dein Posting 
zu verfassen...

Kurzfassung: Ein Projekt mit Schwachsinnsgarantie...

von Brain 2.0 (Gast)


Lesenswert?

c-hater schrieb:
>
> Kurzfassung: Ein Projekt mit Schwachsinnsgarantie...

Also ich muss schon sagen, ihr seid echt toll mit euren Aussagen.

Reicht es nicht, einfach zu posten:
Nein, dafür reicht ein Uno nicht, nimm am besten etwas fertiges.

Nicht alle haben das Wissen wie viele von euch "Möchtegernfachleuten".

von Jan F. (Gast)


Lesenswert?

So sieht's aus...

Mir ging es ja um das Bauen/Programmiern/Rumprogrammierung. Wennes mir 
um Effizienz gehen würde, würde mir der Gedanke so ein Projekt selbst 
anzugehen widerstreben, da größere Unternehmen deutlich mehr Erfahrung 
und Kapazitäten/Produktionstechniken haben, wodurch auch die Kosten pro 
Stück sinken würden.

Jedoch ist für mich die Selbstbeteiligung und Arbeit ein wichtiger 
Punkt. Dementsprechend möchte ich gerne etwas selbst machen. Jedoch 
evntl erwas sinnvolles. Der 300ste Temperaturfühler oder Klimasensor als 
"übungsprojekt" ist dann nicht das Ziel.

Cheers,

Ian

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Brain 2.0 schrieb:
> Also ich muss schon sagen, ihr seid echt toll mit euren Aussagen.

Bitte nicht verallgemeinern, c-hater ist für seine miese Ausdrucksweise 
hier bekannt und meistens nicht hilfreich.
So gut wie alle anderen Antworten sollten dir aber nicht nur zeigen, ob 
es geht, sondern auch, wie.
Wenn du dich mal auf dem Markt für kleine NAS umsiehst, wird dir aber 
auffallen, das es immer schon recht anständige CPUs sind, die so etwas 
bedienen.
Der braucht nun mal Programmplatz für die Bedienung des Netzwerkes 
(TCP/IP und evtl. NetBios), die Verwaltung der User und die 
Serversoftware und er sollte auch RAM haben, um Cache und Variablen zu 
speichern. Ausserdem möchte man ihn ja auch mit irgendeinem Frontend 
bedienen können.

Jan F. schrieb:
> Mir ging es ja um das Bauen/Programmiern/Rumprogrammierung.

Ich bin mir nicht sicher, ob es dir gelingen würde, einen lauffähigen 
Netzwerkstack zu bauen, aber wenn du so etwas kannst, dann merkst du 
schnell, das du trotz bester Programmierung dafür Platz und 
Rechenleistung brauchst. Wenn du dann in die Tiefen des SMB Protokolls 
einsteigst, brauchst du dafür noch mehr Platz und noch mehr 
Rechenleistung.
Wie du es drehst und wendest, es geht nicht mit einem Uno.

: Bearbeitet durch User
von Markus (Gast)


Lesenswert?

>Bitte nicht verallgemeinern, c-hater ist für seine miese Ausdrucksweise
>hier bekannt und meistens nicht hilfreich.

Gerade eben habe ich angefangen zu lesen und fand den Ton am Anfang des 
Threads sehr angenehm.
Mittlerweile bin ich ich der Meinung, dass es hier im Form ganz wenig 
sind, die durch ihren Ton die Atmosphäre im Forum vergiften. Das Problem 
ist ein wenig, dass sie durch ihre Art auch die Anderen zu unmäßigem Ton 
verleiten.

von Zweifler (Gast)


Lesenswert?

Jan F. schrieb:
> Und zwar dachte ich daran, mir einen kleinen Fileserver mit
> WLAN Anbindung für das hausinterne Netzwerk zu basteln.
>
> Dazu hatte ich an einen Arduino Uno R3 + WiFiShield mit µSD-Karte
> gedacht. Mir geht es nicht um enorm große Datenmengen, mir würden an
> sich 32 oder 64GB reichen.



Jan F. schrieb:
> Ich habe jetzt aktuell mit einem Cortex M0 System zu tun (Dialog
> Semiconductor 14580) mit dem ich per Bluetooth LE mit einem
> Android-Gerät kommunizieren möchte (Programmierung von µC und
> Android-App). Das ist jedoch eher beruflicher Natur.

Sorry bitte, aber wer soll das glauben?

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.