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
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.
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.
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
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.
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...
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...
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".
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
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.
>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.
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?