Hallo!
Ich würde gern wissen ob ich mit dem Arduino +Ethernet Shield irgendwie die WAN Adresse des Routers auslesen und per Email verschicken kann oder braucht man auf jeden Fall DynDNS um Verbindung übers Internet zu bekommen?
Gruß
Hallo!
Ich würde gern wissen ob ich mit dem Arduino +Ethernet Shield irgendwie die WAN Adresse des Routers auslesen und per Email verschicken kann oder braucht man auf jeden Fall DynDNS um Verbindung übers Internet zu bekommen?
Gruß
Hmm- dir fehlen wohl auch noch nen paar Netzwerkkenntnisse.
Die einzige Stelle im Netz, die die externe IP kennt, ist den Router.
Was du machen kannst, ist eine externe Internetseite fragen, wie denn deine eigene IP lautet.
Du kannst also einfach nen HTTP Request auf 216.146.39.70 machen, und dort bis zum ersten Doppelpunkt alle Zeichen droppen.
Dann noch ne Funktion ausm Netz klauen um aus dem IP String Bytes zu machen und fertig =D
Scherheinz:
Ich würde gern wissen ob ich mit dem Arduino +Ethernet Shield irgendwie die WAN Adresse des Routers auslesen und per Email verschicken kann oder braucht man auf jeden Fall DynDNS um Verbindung übers Internet zu bekommen?
Ja, natürlich geht das. Auf Anhieb fallen mir zwei Möglichkeiten ein.
Bei einem passwortgesicherten Router müßte der Arduino dann nur mit Passwort die Router-Statusseite abrufen können und kann dann den Seiteninhalt der Statusseite parsen und die WAN-Adresse dort rauslesen.
Nicht so umständlich.
HTTP-Request auf folgende URL:
http://wtfismyip.com/text
liefert die IP als reinen String ohne störendes HTML. Jetzt muss man das Ganze nur noch mit jurs genialen Zahlen-aus-Strings-Funktion in die 4 Bytes zerlegen und gut ist.
Wenn es als Mail verschickt werden soll, kann es sogar ein String bleiben.
Mario.
mkl0815:
Nicht so umständlich.HTTP-Request auf folgende URL:
http://wtfismyip.com/text
liefert die IP als reinen String ohne störendes HTML.
Verläßt Du Dich immer auf fremde Internetdienste?
Wie lange funktionieren diese zuverlässig?
Wie stark darfst Du fremde Server-Infrastruktur belasten, ohne ausgesperrt zu werden?
Verläßt Du Dich immer auf fremde Internetdienste?
Wie lange funktionieren diese zuverlässig?
Wie stark darfst Du fremde Server-Infrastruktur belasten, ohne ausgesperrt zu werden?
Ohne arduino.cc und google.com wäre ich aufgeschmissen.
wikipedia.org und ebay.com sind andere Adressen, wo ich ungern ausgesperrt würde.
Ausserdem hat mein Rechner ein Verhältnis mit ntp Servern, ganz abgesehen davon dass
Software heutzutage gern "phone home" macht, wenn sich die Gelegenheit bietet.
Das sind die modernen Zeiten: Du denkst du nimmst Dienste in Anspruch, bist aber das Gemüse, das verkauft wird.
Keine Ahnung was Du für einen Browser nutzt, aber ich bekomme eine IP. Sogar per telnet:
$ telnet wtfismyip.com 80
Trying 23.21.127.118...
Connected to wtfismyip.com.
Escape character is '^]'.
GET /text
Host: wtfismyip.comHTTP/1.1 200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Content-Type: text/html; charset=utf-8
Content-Length: 14
Date: Wed, 10 Apr 2013 15:28:54 GMT
Connection: close85.114.145.181
Connection closed by foreign host.
$
OK, Du scheinst da per IPv6 anzukommen.
Der Service wird sicher helfen.
Dein Browser mag per IPv6 auf den Server zugreifen, Dein Arduino mit Bestimmtheit nicht (er kann das gar nicht). Du kannst also diesen Aufruf getrost verwenden, allerdings ist die DynDNS-Lösung mit Sicherheit einfacher zu realisieren.
Man sieht ja auch rechts das kleine IPv6 Logo.
Trotzdem ist das sehr unschön.
Wofür muss ein Arduino eig. seine IP Wissen? Dafür fällt mir kein wirklicher Einsatzzweck ein.
Manawyrm:
Wofür muss ein Arduino eig. seine IP Wissen? Dafür fällt mir kein wirklicher Einsatzzweck ein.
Das ergibt sich doch aus dem Ausgangsposting: Er möchte seinen Arduino als Server an einer dynamischen IP-Adresse betreiben und dabei keine DynDNS-Konfiguration verwenden (wohl, weil die inzwischen überall Geld kosten).
Und damit der Server von außen aus dem Internet erreichbar ist, soll er bei Änderungen der dynamsichen WAN-IP-Adresse dem Zugriffsberechtigten mitteilen, unter welcher IP-Adresse das jeweils möglich ist.
Ganz genau das brauch ich. Ich möchte von extern Daten einer Wetterstattion (Die von einem Arduino ausgelesen wird) und einer Cam abrufen. Leider unterstützt mein Router nur 2 Anbieter von DynDNS und diese sind kostenpflichtig. Ich will mir nicht nur wegen dieser Funktion einen neuen Router kaufen müssen.