Forum: Mikrocontroller und Digitale Elektronik TCP/IP Kommunikation AUSGEHEND von AVR ?


von Klaus_R (Gast)


Lesenswert?

Hallo,
ich suche eine Möglichkeit, um vom AVR über LAN (TCP/IP) einen Pc 
darüber zu informieren, dass sich z.Bsp. ein Portzustand geändert hat.
Mir ist klar, dass es ganz einfach ist mittels regelmäßiger Anfragen vom 
PC aus die Daten von einem AVR WEB Server abzuholen. Aber damit 
verursacht man Netzlast und belastet den jeweiligen PC.

Ich schaffe es leider nicht die verfügbaren Informationspuzzleteile 
zusammen zusetzen.
Wer kann mir einen keinen Tip geben? Wie sieht die einfachste LAN 
Kommunikation aus die durch einen AVR gestartet wird?

Danke & Gruß

PS: alles auf Seiten des PC (Linux) ist kein Problem, mir fehlt das 
Verständnis für den AVR.

von tt (Gast)


Lesenswert?

enc28j60 an den AVR und dann einen geeigneten IP-Stack laufen lassen
Ist aber nichttrivial

oder das fertige board von pollin nehmen

von Klaus_R (Gast)


Lesenswert?

Superschnelle Antwort, Danke!
Du meinst sicher diesen AVR Net IO Bausatz - der ist mir schon 
aufgefallen. Aus der Doku kann ich aber nicht entnehmen, wie die 
Kommunikation aufgebaut werden kann.
Ganz blöd formuliert, ich brauche eine Idee für eine Funktion
"sende_daten <io port zustand> <ip adresse>" . In der Pollin Doku ist ab 
Seite 12 ein Protkoll, das wurde aber ZUM AVR geöffnet und nicht DURCH 
den AVR selbst.
Hmm, ich stehe irgendwie auf der Leitung.

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Die einfachste Möglichkeit dürfte sein, dass Du einen fertigen 
Netzwerkstack verwendest und mit diesem UDP-Pakete verschickst. Bei UDP 
ist allerdings nicht sichergestellt, dass das Paket auch beim Empfänger 
ankommt. Soll dies abgesichert sein --> TCP anstatt UDP.

Ich hatte mich im Rahmen meiner Diplomarbeit mit Netzwerkprotokollen 
beschäftigt. Die Diplomarbeit ist unter http://www.familie-finke.com zu 
finden.

Der beiliegende Code kann UDP-Pakete versenden. Das Aufbauen einer 
TCP-Verbindung unterstützt der Code noch nicht, kann aber einfach 
nachgerüstet werden (hatte ich mal testweise laufen).

Gruß,

Thomas

von JojoS (Gast)


Lesenswert?

Als Protokoll nicht HTTP (Webserver) benutzen sondern einfach ein 
eigenes. Eine TCP Verbindung aufmachen und der AVR kann Daten senden 
wann er will. Am Besten noch einen zyklischen Watchdog damit der PC 
sicher mitbekommt wenn die Übertragung unterbrochen ist.

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.