Arduino als Fileserver

OP #5582660
Lesenswert?

Guten Abend allerseits!
Ich hätte eine kurze Frage bezüglich des Arduino Ethernets + SD Shields. 
Ist es möglich ein File (Bild, Worddatei...) via einer html/php Seite 
auf die sd karte des arduinos zu uploaden?
Ich wäre das ganze jetzt mit einem Drag and Drop Feld angegangen, jedoch 
wie bekomme ich php auf dem Arduino zum laufen, braucht man davor nicht 
einen PHP Interpreten?
Freu mich auf die antworten,
Danke an alle,
Alles Liebe
Gast #5582671
Lesenswert?

Hallo,

sicherlich kann man auf einen RaPi über das SSH-Protokoll auf eine Shell 
zugreifen, um dort eine Apache+PHP Spripten zu administrieren.

Ich denke Du musst erst mal lernen, wie man Daten per GET und POST 
übergibt.
Dann noch, was das mit PHP als Scriptsprache auf sich hat und wie die 
Interaktion mit der Aussenwelt (Dateisystem) aussehen kann.
Gast #5582676
Lesenswert?

PHP auf einem Arduino? Vermutlich eher nicht.

Für einen Dateiupload musst du HTTP-POST und das MIME 
multipart/form-data anhand der RFCs implementieren. Das geht auch in C. 
(Oder eine Bibliothek finden, die du nur noch anpassen musst)

Das dazugehörige <form> kannst du als statische HTML-Seite ausliefern.
#5582775
Lesenswert?

Hallo,

"Arduino" ist für mich längst der Name für ein Konzept geworden.
Wenn Du bestimmte Hardwarevorstellungen hast, nenne die einfach.
Auf einem Mega328 (UNO, Nano usw.) kann man sinnvoll nichts von dem 
realisieren. Auf einem der ARM-Arduinos geht merklich mehr, genauso wie 
auf ESP8266/ESP32 in der ArduinoIDE.

Versuche mal, Deine Pläne und Absichten etwas konkreter zu beschreiben,
mir ist z.B. im Moment völlig unklar, warum ich eine Datei auf eine 
SD-Karte am Arduino per Webseite zu befördern.

Gruß aus Berlin
Michael
OP #5582794
Lesenswert?

Hi Michael,
ich arbeite bei einer Bühnentechnikfirma. Wir haben leider ziemlich 
vielen verschiedenen Rechnern im ganzen Haus verstreut. Da ich viele 
Datein auf allen Rechnern im Haus bräuchte habe ich an eine einfache 
Cloudlösung mit Drag&Drop gedacht. Dass ich jetzt keine iCloud oder so 
verwende ist eher weil es mir hier auch bist ums tüfteln und basteln 
geht wollte ich mich selber dransetzten. Arduino hatte ich deshalb vor 
weil ich schon lange damit dinge wie DMX Mischpulte, CAN-Bus controller 
für Kamerakräne etc baue...
Als "Mainboard" hätte ich mir jetzt den Arduino Due vorsgesellt,der auf 
einem 32-bit ARM Prozessor basiert.
Hättest du hierzu eine Idee?
Danke,
Alles Liebe Paul
Gast #5582798
Lesenswert?

Besorg Dir einen MiniITX Rechner mit Linux und Du hast etwas 
funktionierendes.
Du willst Deine Daten doch bei der Arbeit nutzen und nicht ann allen 
Ecken und Kanten feststellen das Deine Bastellösung nicht funktionert.

Murphy sagt das Du immer dann NICHT an die Files dran kommst wenn es am 
wichtigsten ist.
Gast #5582876
Lesenswert?

Paul S. schrieb:
> Als "Mainboard" hätte ich mir jetzt den Arduino Due vorsgesellt,der auf
> einem 32-bit ARM Prozessor basiert.

Du hast anscheinend noch keine Ahnung von Web-Programmierung. Solche 
kleinen Mikrocontroller sind 20x aufwändiger in der Programmierung, als 
PC basierte Sachen mit PHP, NodeJS, Java, .NET und so weiter.

Zum Entwickeln nutzt du besser erstmal deinen ganz normalen PC/Laptop 
auf dem Schreibtisch. Später kann das fertige Programm auf einen 
kleineren Raspberry Pi übertragen werden. Vergiss Mikrocontroller.

Ich empfehle Dir, mit PHP anzufangen. Da kommt man ohne Vorkenntnisse 
meiner Meinung nach am schnellsten rein. Du musst Dich aber auch mit 
HTML, CSS und dem HTTP Protokoll beschäftigen.

Drag&Drop ist übrigens ein besonders problematisches Thema. Das musst du 
für jeden Browser etwas anders implementieren, da dies eigentlich gar 
nicht vorgesehen ist. Vorgesehen ist, dass man in einem Formular auf 
einen Durchsuchen-Button klickt, um ein einzelne Datei hochzuladen. Mach 
das erstmal für den Anfang. Drag&Drop kannst du dann später als Lekkerli 
oben drauf bauen.

Im Übrigen halte ich nicht viel von der ganzen Idee, weil das Web primär 
für das Betrachten von Texten gedacht ist. Das wirst du beim Entwickeln 
noch merken. Für das Ablegen von Dateien verwendet man FileServer. In 
Windows ist einer unter dem Namen "Freigabe" enthalten. In Linux heißt 
das Windows kompatible Gegenstück "Samba". Läuft auch auf einem 
Raspberry Pi und funktioniert out of the Box, ganz ohne Programmierung.

Unter dem Namen NAS kannst du fertige Boxen kaufen, wo Festplatte, 
Fileserver und eventuell sogar ein Web Interface fix und fertig 
kombiniert sind.

Außerdem enthalten viele Internet/WLAn Router bereits die von Dir 
gesuchte Funktion. Ich habe zu diesem zweck z.B. einen USB Stick an 
meine Fritzbox gesteckt. Da habe ich jetzt ein paar GB gemeinsam 
nutzbaren Speicherplatz mit richtigem Fileserver (wird also als Laufwerk 
in Windows und Linux eingebunden) und mit Webinterface für die 
Smartphones.
#5582949
Lesenswert?

Hallo,

im Grunde wurde schon alles einzeln genannt. Wenn es nur um den Zugriff 
auf Dateien geht im lokalen Netzwerk, dann nimm den aktuellen Raspi oder 
besser einen kleinen Mini PC mit Linux (Ubuntu LTS), darauf samba über 
den Paketmanager installieren, Freigaben konfigurieren, fertig. Dann 
kannste mit jedem PC im Netzwerk bequem im Dateimanager auf die 
Freigaben zugreifen inkl. Drag and Drop.
#5583060
Lesenswert?

also ich würde dafür auch ganz klar einen raspberry (oder ähnliches), 
eine externe festplatte und nextcloud empfehlen. für nextcloud gibt es 
auch desktopanwendungen und man kann das ganze ähnlich einer dropbox 
laufen lassen. eine weboberfläche, mit der man dateien hochladen kann 
gibt es auch. im internet ist alles haarklein erklärt.
#5583077
Lesenswert?

Paul S. schrieb:
> Ist es möglich ein File (Bild, Worddatei...) via einer html/php Seite
> auf die sd karte des arduinos zu uploaden?

möglich: ja! Zumindest wenn man "Arduino" als IDE für einen ESP32 
versteht, dann kann man da sogar auf Fertiges zurückgreifen:
Hardware:
https://de.aliexpress.com/item/ESP32-ESP-WROOM-32-SD-Karte-FT231-USB-WiFi-Bluetooth-Modul-F-r-Arduino/32893879028.html

Software:
https://github.com/G6EJD/ESP32-8266-File-Upload

sinnvoll: eher nein, siehe Vorredner - mit einem Pi aufwärts (NUC, 
Mini-ITX)  geht das sicher besser. Der ESP32 ist über HTTP auch eher 
lahm, und mit der SD-Karte kann es schonmal hakeln.
Hängt natürlich auch von den benötigten "Dateigrössen" ab, irgendwann 
kann auch der Pi mit seinem lahmen USB nerven - oder mit einer 
zerschossenen SD-Karte...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren