Go Down

Topic: WebServer mit Html-Seiten von der SD Karte (Read 4 times) previous topic - next topic

Rainer_R

#5
Nov 16, 2012, 07:14 pm Last Edit: Nov 17, 2012, 01:23 pm by Rainer_R Reason: 1
Stimmt  - das zuvor genannte Beispiel ist keines.

Bin gerade dabei das einmal zu versuchen:
Wobei ich vorher die SD Card freigebe.

Quote

void readHtmlFile( EthernetServer server)
{
 char c;
 char FileName[] = "HtmlFile.html";

 if (SD.exists(FileName))
 {
   File htmlfile;
   
   htmlfile = SD.open(FileName);
   if (htmlfile)  
   {
     while ((c = htmlfile.read()) > 0) { server.print((char)c);  }
     htmlfile.close();
   }
 }else{
   Serial.println("Html-File nicht vorhanden");
 }
}


Ob das wohl funktioniert ????
Grüße aus Franken
Rainer

mkl0815

Code: [Select]

File htmlfile;
   
    file = SD.open(FileName);
    if (htmlfile) 


Da ist noch ein kleiner Fehler drin: "htmlfile = SD.open(...)" statt "file= SD.open...)"

pylon

Was ist mit diesem Projekt?

https://github.com/ovidiucp/TinyWebServer

"Serving files from the SD card"

Das Problem liegt mehr im Speicherverbrauch. Die SD-Bibliothek braucht 512 Byte als Puffer für den Kartenbetrieb, da muss sich der Webserver ganz schön zurück nehmen und darf kein Byte verschenken, sonst wird's auf einem UNO schnell mal eng.

Rainer_R

Diese Info bringt nichts und trifft wohl eher auch nicht zu - man kann ja ein Mega-Board  nehmen.

Welcher mögliche Vorteil wäre es, umfangreiche Webseiten extern zu speichern und nur zum Senden abzurufen,
gegenüber dem Speichern dieser Seite bzw. mehrer Seiten und diese über Progmem zu flashen.
Auch die Änderungsfreundlichkeit dieser WebSeiten auf der SD Card gegenüber dem erneuten Flashen ist ein wichtiger Punkt.

Aber leider in hier im ganzen Forum (nicht nur unter Deutsch) wenige bis keine Antworten zu diesem Thema zu finden.
Grüße aus Franken
Rainer

Trib

Hallo Rainer_R,

was genau möchtest du denn bewirken?
Der Betrieb eines Webservers mit den Daten von der SD-Karte ist kein Problem. Es muss halt alles nur wie schon beschrieben nacheinander passieren. Codes dafür gibt es wie Sand am Meer. Z.B. diesen
Allerdings ist dazu er Arduino nur im Einzelbetrieb einsetzbar. Sobald mehrere Leute gleichzeitig zugreifen wollen oder die Seiten ein paar KB überschreiten, muss man auf eine andere Lösung setzen.

Und was spricht gegen einen Hybriden? Die Seite(n) und Bilder auf einen Webserver legen und auf deiner Seite auf der SD-Karte einbetten.
Auch kann man über ein simples JavaScript Daten vom Arduino auslesen. Das ist auch mit einer extern gelagerten Seite kein Problem und wurde im Forum auch schon ausreichend beschrieben.

Aus eigener Erfahrung kann ich sagen, um eine Webseite zum steuern und anzeigen von ein paar Daten des Arduino eignet sich diese Lösung noch. Für mehr muss man dann auslagern und ggf. sogar die Daten des Arduinos in einer Datenbank ablegen wenn viele Nutzer erwartet werden.

Go Up