Webserver auf Mikrocontroller implementieren

OP #3171931
Hallo,

ich soll im Rahmen einer Masterarbeit einen Webserver auf einen 
Mikrocontroller implementieren. Das Problem dabei, die Hardware 
existiert bereits, u.a. wird ein TC1796-Mikrocontroller von Infineon 
verwendet.

Hat jemand bereits Erfahrung diesbezüglich gemacht? Für mich stellt sich 
die Frage ob dieser Mikrocontroller überhaupt für die 
Webserver-Anwendung geeignet ist.

Grüße
Peter
OP #3171959
Also kurz zum Ziel der Arbeit:

Die Platine befindet sich in einem Messgerät für Fahrzeuge. Dort soll 
der Webserver laufen. Über einen PC im Büro soll der Webserver dann per 
Browser aufgerufen und das Gerät über Webseiten, die auf der Platine 
gespeichert sind, parametriert werden.
#3171985
Und wie läuft die Verbindung zwischen Büro-PC und Fahrzeug? Kabel? WLAN? 
GSM?

Es gibt GSM/UMTS-Module, die bereits eine erhebliche Eigenintelligenz 
haben, wie das hier, das auch noch automotive-zertifiziert ist. Das 
Modul hat einen eigenen TCP-STack und kann FTP und SMTP.

http://www.telit.com/en/products.php?p_id=3&p_ac=show&p=90

Nur: Über Mobilfunk sitzt Du hinter einem NAT-Gateway, d.h. Du kannst 
ins Internet, aber aus dem Internet kann niemand eine Verbindung zu Dir 
aufbauen. Das wars dann mit Webserver.

fchk
#3171998
Peter Stutz schrieb:
> Die Platine befindet sich in einem Messgerät für Fahrzeuge. Dort soll
> der Webserver laufen.

Und, ist der "Rest" der Software schon fertig? auf welcher Basis? Läuft 
auf dem µC ein "Betriebssystem", (µC)Linux, VX, ...? Oder alles 
selbstgecoded am Blanken µC? Oder ist noch garnichts da?

Antworten wären dann: Nimm den mitgelieferten Webserver, schau dir µIP 
&Co an, wähle ein Betriebsystem & goto 1.
OP #3172007
Εrnst B✶ schrieb:
> Peter Stutz schrieb:
>> Die Platine befindet sich in einem Messgerät für Fahrzeuge. Dort soll
>> der Webserver laufen.
>
> Und, ist der "Rest" der Software schon fertig? auf welcher Basis? Läuft
> auf dem µC ein "Betriebssystem", (µC)Linux, VX, ...? Oder alles
> selbstgecoded am Blanken µC? Oder ist noch garnichts da?
>
> Antworten wären dann: Nimm den mitgelieferten Webserver, schau dir µIP
> &Co an, wähle ein Betriebsystem & goto 1.

Die Software ist bereits fertig. Das Gerät befindet sich schon im 
Einsatz, allerdings erfolgte die Parametrierung der Daten bislang nicht 
über LAN.

Das Betriebssystem heißt PXROS
Gast #3172010
Peter Stutz schrieb:
> Das Betriebssystem heißt PXROS

10 Sekunden googlen fördert die Doku dazu zu Tage, weitere 2 Sekunden 
suchen da drin dann diesen Satz:


>4.2.1 TCP/IP stack
>PXtcp implements a TCP/IP stack. An appropriate ethernet driver is required in 
>order
>to be able to use PXtcp.

Das ist dann schon die halbe Miete. Der Rest ist Kinderkram...

Wenn das eine MASTER-Arbeit sein soll, wird es Zeit, den Ansprüchen 
daran gerecht zu werden.

Oliver
#3172023
Oliver schrieb:
> Wenn das eine MASTER-Arbeit sein soll, wird es Zeit, den Ansprüchen
> daran gerecht zu werden.

Auf die Gefahr hin, jetzt einen Flamewar loszutreten:
Die oben verlinkte Seite stammt aus einer Matura-Arbeit von 2000.

D.H. vor 13 Jahren war sowas noch Abitur-Niveau in Österreich, 
heutzutage reichts für ne Master-Arbeit?
#3172051
Die wichtigste Frage ist doch: Was muss der Web-Server alles an 
Standard-Sachen können?
In seiner einfachsten Form ist ein Web-Server nichts anderes als ein 
Server, der auf Anfrage eine Datei zum Browser schickt. Das diese Datei 
HTML enthält und dass dies für den Browser eine spezielle Bedeutung hat, 
interessiert den Einfachst-Server erst mal überhaupt nicht.
Allerdings sind die Dinge meist nicht ganz so einfach. Gerade bei der 
Anbindung an bestimmte Situationen, fliessen diese in die Operation des 
Web-Servers mit ein, so dass es meist sowieso unumgänglich ist, da 
irgendwelche Anpassungen am Code vom Web-Server vorzunehmen. Es sei 
denn, man kann das ganze soweit treiben und hat auch die Resourcen um 
beispielsweise ein PHP auf dem Server-Rechner laufen zu lassen, so dass 
man diese Anbindung anstelle von im Server-Code in einer 
Programmiersprache schreiben kann, die in das zu verschickende HTML 
eingreift (und natürlich in der umgekehrten Richtung genauso). CGI ist 
da ebenfalls ein Stichwort dazu.
Allerdings ist zb ein PHP auf einem kleinen Rechner, wie es zb ein 
AVR-Mega darstellt, schon weit jenseits dessen, was der schaffen kann. 
D.h. Hier wird der C-Code des Servers direkt angepasst.
Mit deinem PXROS musst du dann eben zusehen, was da noch geht. Aber 
einfach so einen Web-Server von der Stange -- wenn du keinen für PXROS 
in Source Code Form findest, dann wirst du dir da eben selbst was 
überlegen und ausprogrammieren müssen.
#3173631
Der HTTP 1.0 Standard ist im Dokument RFC2616 beschrieben. Da steht auch 
klar drin, welche Teile Optional sind und welce Pflicht sind.

http://www.w3.org/Protocols/rfc2616/rfc2616.html

Aktuell ist allerdings der HTTP 1.1 Standard. Da alle Browser jedoch 
Abwärtskompatibel sind, würde ich erstmal die Version 1.0 implementieren 
und dann später gff. die neuen Features hinzufügen. Für eine 
Konfigurations-Interface sehe ich im HTTP 1.1 allerdings keine Sachen, 
die es Wert wären, dafür Zeit zu investieren.

Weiterhin findest Du ein Einführung in die Programmierung von HTTP 
Servern auf Mikrocontrollern in meinem Buch Band 2: 
http://stefanfrings.de/mikrocontroller_buch/index.html

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.