www.mikrocontroller.net

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


Autor: Klaus_R (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: tt (Gast)
Datum:

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

oder das fertige board von pollin nehmen

Autor: Klaus_R (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas Finke (thomas-hn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.