uIP stack server client beispiel

Gast #2237111
Lesenswert?

Hallo Leute,
ich möchte gerne ein netzwerk bauen womit ich vom PC aus mehrere uC 
ansteuern kann. Dazu dachte ich das ich den PC als server benutze und 
die uC als clients die auf befehle reagieren oder auch in bestimmten 
intervallen messwerte liefern. allerdings fehlt mir da der Ansatz. habt 
ihr vielleicht Links oder der gleichen was mir weiterehelfen könnte?

Vielen Dank!
#2238668
Lesenswert?

http://www.sics.se/~adam/download/?f=uip-1.0.tar.gz geht doch. Darin 
enthalten: uip-1.0/apps/webclient/

Wenn ich mich recht entsinne, braucht lwIP mehr Ressourcen als uIP.
uIP ist auf 16-Bit-Maschinen optimiert, sieht man im Code sehr deutlich.
Auf einem ARM würde ich z.B. kein uIP mehr nehmen, auf meinen 
AVR-8-Bittern schon. Microchip hat auch einen TCP/IP-Stack, mangels 
Erfahrung kann ich dir dazu keine Details geben.

Es sind keine Beispiele für die PC-Seite im uIP-Tarball enthalten, weil 
es dort betriebssystemspezifische Schnittstellen gibt. Google liefert 
dir aber Tonnen an funktionierendem Code für Unix-Sockets, Winsock oder 
was auch immer du benutzt.
#2238706
Lesenswert?

Weil uIP doch sehr umständlich zu benutzen ist, wie du vielleicht 
mitbekommen hast. Zumindest im Vergleich mit Unix-Sockets.
Allein die Art und Weise, wie man mit einer TCP-Verbindung umgeht und 
Daten empfängt/sendet, ist umständlich. Auch, dass man die unbestätigten 
Daten auf Nachfrage wieder generieren können muss (weil sie uIP für dich 
nicht puffert). Und weil uIP kein echtes Sliding Window unterstützt. 
Weil man das Delayed ACK des PCs nur mit Tricks umgehen kann (Details 
falls gewünscht).
Das ist halt alles so frickelig, weil uIP mit so wenig Ressourcen 
auskommt.
Und weil, wie gesagt, uIP auf 16- und nicht auf 32-Bit-Maschinen (die 
ganzen ARM-µC, z.B.) optimiert ist.


Aber tut mir leid, für ARM kann ich selbst dir nichts empfehlen.
Kann da vielleicht wer anderes was empfehlen? Nut/OS? lwIP?

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