Hallo, AVR Webserver Projekte gibt es ja schon wie Sand am Meer. Aber hat es denn jemand mal anderstherum probiert? Einen AVR einfach an ein Netzwerkkabel anschließen, und dann eine IP Aufrufen und dann Daten einlesen? Es geht nur um eine html Datei, die im Internet eine Zeichenfolge bereitstellt. Und diese soll de AVR auslesen. Tipps dazu wie man das am besten angeht? Danke
>Tipps dazu wie man das am besten angeht? Versuchen den Sourcecode vom Firefox in einen AVR zu quetschen?
Nee. Firefox ist ein Interpreter. Es geht darum einen String zu lesen. http-get ergibt einen String. Meist ist dieser groesser wie das RAM.
>Nee. Firefox ist ein Interpreter. Und genau das muss auch der AVR werden. Er muss HTML interpretieren, mit all dem Schrott der da üblicherweise mit in den Seiten drin steht. Versuchs mal mit ner Text Datei per FTP. Das könnte vieleicht einfacher werden.
Nene, ich kann da doch kein komplettes Betriebssystem laufen lassen, worauf ich dann nen Browser installier. Ich will keinen AVR32 oder so nehmen, sondern was kleines. Dazu ein Netzwerkcontroller (ENC28J60) Also ich nehme an, dass hat noch keiner gemacht, oder (Bei Google habe ich nichts gefunden)
Eine Zusatzfrage hätte ich allerdings auch noch. Wäre es möglich die aktuelle IP Adresse am Netzwerkkabel zu bestimmen, und zwar ohne http. Steckt das vllt schon im Protokoll mit drin?
Es sollte kein Problem sein den String einzulesen und auf eine Zeichenfolge zu durchsuchen.
Hört sich schwer nach ein paar Versuchen mit dem AVR-NET-IO von Pollin an... AVR Net-IO Bausatz von Pollin Schau doch da mal rein. Ulrich Radig und auch andere haben dafür sehr brauchbaren Code geschrieben. Ich persönlich habe Ulis Code etwas angepasst und nutze das jetzt zur Temperaturüberwachung meiner Räume.
Hab ich auch gerade gesehen. wollte meinen Beitrag eigentlich löschen, da hattest du schon geantwortet. Wieder mal zu schnell gelesen. Sorry.
Das wuerde erst eine DNS Anfrage bedingen um dem Namen aufzuloesen, dann einen HTTP-GET auf diese IP.
Aber wie soll ich meinen Namen auflösen können? Ich weiß doch nicht die Domain an die ich angeschlossen werde. Das Modem reicht ja transparent zur angeschlossenen Netzwerkkarte durch. Somit weiß die Netzwerkkarte ja nur ihre feste, bzw. ihre zugewiesene IP. Aber die InternetIP lässt sich wohl nur durch einen Internetservice wie meineIP.de feststellen, oder?
Deine eigene IP bekommst du in einem Netzwerk entweder per DHCP vom Router o.ä. zugewiesen oder du suchst dir selbst in einem bestimmten Bereich eine aus. Deine öffentliche IP braucht dich eigentlich gar nicht zu interessieren wenn du hinter einem Router sitzt. hacky meint, dass du die Domain, von der du Daten haben willst, in eine IP auflösen musst und mit dem daran angeschlossenen Server zu kommunizieren. Dazu gibt es DNS-Server im Internet, bei denen du nachfragst und dann die IP zurück bekommst. Zum Anfang kannst du die auch von Hand am Computer abfragen und dann fest einprogrammieren, aber das dürfte dein kleinstes Problem sein. Du schickst an den Server ein Datenpaket in dem du mit HTTP angibst, welche Datei du haben willst. Dabei stehen u.a. deine lokale IP und die IP des Servers im Header. Dein Router verpackt das ganze dann nochmal mit der öffentlichen IP. Der Server versteht deine Nachricht und schickt seinerseits ein Datenpaket an deine öffentliche IP, das dein Router dann an dein Gerät weiterleitet und schon hast du deine Daten. Ob das nun reiner Text, HTML oder MPEG4 ist, ist für die Datenübertragung (relativ) egal, damit muss sich dann dein Controller auseinandersetzten und das Interpretieren.
Hallo Jazz schrieb: > Aber hat es denn jemand mal anderstherum probiert? Ja > Einen AVR einfach an ein Netzwerkkabel anschließen, und dann eine IP > Aufrufen und dann Daten einlesen? genau das ist mit dem Code von Ulrich Radig schon möglich http://www.ulrichradig.de/home/index.php/avr/eth_m32_ex > Und diese soll de AVR auslesen. Tipps dazu wie man das am besten angeht? AVR-NetIO kaufen und die Software von Urlich Radig drauftun. Dann solltest du dir dich über Tcp und http informieren und Code von Ulrich Radig entsprechend deiner Vorstellungen anpassen. > Es geht nur um eine html Datei, die im Internet eine Zeichenfolge > bereitstellt. Einfacher wäre eine Zeichenfolge ohne den ganzen html Müll drumherum. Weil die Datei nicht in den Ram passt müsstest du diese während des Empfangs analysieren und den relevanten Teil herrausfiltern. Jazz schrieb: > Aber wie soll ich meinen Namen auflösen können? Deine eigene, externe IP ist als Client unwichtig. Jazz schrieb: > Das wuerde erst eine DNS Anfrage bedingen um dem Namen aufzuloesen, Jazz meint die IP der Website die du runterladen möchtest.
Wie fast immer lautet der Tipp: Schau mal bei ethersex rein. Ich kenne Leute, die mit einer HTTP GET-Abfrage Sensor-Daten über ein PHP-Script des Servers in Datenbanken schieben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.