Kommunikation vom µC über Ethernet zu PC ohne Protokolloverhead

Gast #3792712
Lesenswert?

Hallo,

ich möchte Kommunikation von einem µC an den PC über Ethernet 
ermöglichen. Dabei möchte ich raw Daten Versenden, d.h. keine 
Zusätzlichen overhead auser source, destination und length haben.
Wie kann ich dabei auf dem PC solche Daten versenden und empfangen?
Ob mit einem Terminal, mit c++ oder Java ist mir erstmal egal.

Gruß, rawer
Gast #3792738
Lesenswert?

Vielen Dank für die schnelle Antwort!

Dazu aber noch ein paar Fragen:
-Wikipedia sagt: a raw socket is an internet socket that allows direct 
sending and receiving of Internet Protocol packets without any 
protocol-specific transport layer formatting.
D.h. der IP Header kann nicht verändert werden. Scheinbar ist dieser 
wiki Eintrag aber nicht korrekt, richtig?

-Ich verwende win7. Kann ich die winsock API benutzen, oder würden Sie 
etwas anderes empfehlen?

-Wenn mein Programm die gesammte Ethernet Kommunikation abhören will, 
bekomme ich dann nicht ein Problem mit anderen Programmen, die auch 
darauf zugreifen wollen?
Gast #3792777
Lesenswert?

Raw Data heisst nicht unbedingt auch Raw Socket - TCP oder UDP ist dein 
Freund.

Z.B. ein Arduino nebst Ethernetshield und das 
Ethernet-Lib-Beispielprogramm sind ein guter Start. Wenn du schon mal 
programmiert hast, bist du nach 1 Stunde fertig ...
Gast #3792798
Lesenswert?

Ich wuerde es mit UDP versuchen. Vom TCP/IP-Stack musst du dann auf 
Seite des Controllers nicht so viel implementieren. Auf PC Seite hast du 
dann den Vorteil dass du mit Standardschnittstellen arbeiten kannst und 
es fertige Tools wie Wireshark gibt die dir bei der Fehlersuche helfen.
Gast #3793306
Lesenswert?

Der schon genannte pcap Treiber sollte dir eine Kommunikation auf der 
untersten Ebene ermöglichen. Soweit ich weiss sind bei der Installation 
schon einige Beispielprogrämmchen dabei, die dir den Einstieg 
erleichtern.
Viel Erfolg!
Gast #3808934
Lesenswert?

Besser Spät als nie!

Ich möchte mit einem Zynq per Ethernet kommunizieren. Im Moment sollen 
zwar große Pakete verschickt werden, aber im allgemeinen möchte ich auch 
kleine Pakete verschicken, bei denen sich der Overhead dann deutlich 
auswirken könnte.

Um das Program auf dem Zynq möglichst klein zu halten (ich programmiere 
bare metal, d.h. ohne Linux), möchte ich dort auch keinen IP Stack 
draufpacken.

Nochmal danke für alle antworten!
Gast #3809757
Lesenswert?

rawer schrieb:
> Um das Program auf dem Zynq möglichst klein zu halten (ich programmiere
> bare metal, d.h. ohne Linux), möchte ich dort auch keinen IP Stack
> draufpacken.

für UDP braucht man keine Stack, du musst dir ja keinen Status merken. 
Der Overhead sind dann nur 20byte.

Dafür hat man den Vorteil das man es ohne aufwand auch routen kann.

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