Forum: Mikrocontroller und Digitale Elektronik SRAM? FLASH? EEPROM? CF-Card? Webserver


von Stefanie (Gast)


Lesenswert?

Hi,
ich soll einen Embedded Webserver dimensionieren und kann gar nicht
einschätzen, wieviel Speicher ich dazu brauche. Also,  als
Microcontroller habe ich mir den Atmega128 ausgesucht, der hat 128k
Byte Flash, 4k Byte EEPROM und 4k Byte SRAM.
Ich habe noch vor 32kByte externen SRAM aufs Board zu machen.
Als Aufgabe bekommt mein Webserver Sensordaten geschickt und soll diese
im Internet auf sich dynamisch-aktuallisierenden Seiten darstellen. Wenn
ich nun die Sensordaten über ein Jahr speichern möchte, so brauche ich
doch ziemlich viel Platz dafür und sollte doch statt des SRAMs lieber
eine CompactFlash-Karte mit drauf machen, oder?
Auf dem Webserver läuft das Nut/OS (weiß wer von euch, wieviel Speicher
das braucht?).
Wie groß ist den ca. eine dynamisch erstellte Webseite?
Was für Software brauche ich dafür? Reicht C und HTML?
Vielen Dank,
Stefanie

von Rahul D. (rahul)


Lesenswert?

Für grosse Datenmengen bieten sich auch Compakt-Flash-Karten etc an.
Dazu gibt es hier auch ein nettes Projekt von Ulrich Radig...

von xeus (Gast)


Lesenswert?

was ist Nut/OS ?

von Daniel (Gast)


Lesenswert?


von Mark H. (haemi)


Lesenswert?

Salve,

@Rahul:
Du meinst sicherlich SD-Cards, denn von CF-Cards sprach Stefanie ja
schon. Ob Ulrich was mit CF gemacht hat, weiß ich grad nicht. Aber SD
ist ja bekanntlich in seinem Webserver integriert. Die haben auch den
Vorteil der hardwaretechnisch einfacheren Ansteuerung (SPI).

Ohne Backupversorgung ist SRAM für Langzeit-Logging denkbar ungeeignet.
Nach einem Stromausfall wären dann alle Daten weg, die sich innerhalb
von Monaten angesammelt haben. Das möchte man doch nicht. Also einen
Flash Speicher nehmen.

@Stefanie:
HTML ist keine "Software", sondern eine Beschreibungssprache für
Webseiten. Das ist nur das, was Dein Server dann ausspucken muß. Das
sind quasi die paar Bytes, die zwischen Deinen Meßwerten stecken, um
das ganze übersichtlich aussehen zu lassen. :)
Ansonsten reicht natürlich C, um dem Server eine Funktion
einzuhauchen.
Wie groß eine dynamisch erstellte Website wird, hängt natürlich allein
davon ab, wie aufwendig sie formatiert ist und wieviele (sichtbare)
Daten so enthalten sind. Das kann man allgemein beim besten Willen
nicht abschätzen. Eine HTML-Seite kann ca. 50 Bytes groß sein, oder
auch ein paar kB. Je nachdem, ob Du Plaintext oder z.B. aufwendig
gestaltete Tabellen reinsteckst.

Viel Erfolg! :)
Mark

von Sandro (Gast)


Lesenswert?

32k ist wohl massiv zu wenig... (ein eifaches bildchen auf einer website
hat ja mehr...) Stellt sich die frage, ob du die statistischen daten
nicht wenn sie anfallen im SRam abspeichern wilst, und ins flash
transferiern wilst wenn wirklich zeit vorhanden ist, meine
speichervorgänge auf flash brauche zeit, und beim surfen will man ja
keine ms länger warten als nötig... naja ram würd ich möglicht vil
nehmen, ne website hat schnell einige MB...

von Mark H. (haemi)


Lesenswert?

Salve,

@Sandro:
1. Du lädst doch nicht die gesamte Webpage in den RAM, bevor Du sie
überträgst. Das machst Du stückchenweise. Du mußt doch ohnehin Pakete
mit einer entsprechenden MTU senden.
2. Ein Meß-/Steuersystem ist im Normalfall meist idle. Da hast Du genug
Zeit, die paar Bytes auf die Karte zu schreiben.
3. Sind ein paar ms mehr oder weniger gerade bei zeitunkritischen
Aufgaben wie dem Übertragen der Webpage nicht so extrem relevant.
4. Sind 32kB alles andere als massiv zu wenig. Ich hab hier Ulrichs
Server mit nem ATmega32 stehen, also 2kB RAM. Die MTU muß man halt
entsprechend runtersetzen (500 Bytes sind okay). Bilder und dynamische
Websites (mit formatierten Platzhaltern!) sind kein Problem.

Etwas fragwürdiger Beitrag also, alles in allem.

Nichts für ungut,
Mark

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.