also ich bn fleißig am Basteln und mein Ethernet shield tut auch das was es soll. Jetzt muss ich aber eine feste externe DNS IP angeben, damit der Arduino ins Netz finet. Wie kann ich das anstellen? Ich habe noch keinen passenden Befehl hierfüt gefunden.
//DNS-Client
DNSClient dns;
//DNS-Server
IPAddress dnsserver(8,8,8,8);
IPAddress result;
void setup() {
dns.begin(dnsserver);
...
}
void loop() {
...
//namen auflösen. Ergebnis steht in result
dns.getHostByName("www.arduino.cc",result);
}
Ausserdem kann man noch mit dns.inet_aton("1.2.3.4",result) einen IP-String in eine IP-Adresse umwandeln.
Es gibt bei den Examples auch ein Beispiel "DnsWebClient.ino".
Man kann also in der Reihenfolge (MAC,IP,DNS,GATEWAY,SUBNET) auch gleich am Anfang mit einen DNS-Server angeben. Dieser wird automatisch verwendet, wenn man ein EthernetClient.connect(char* hostname, int port) macht. Ein Auflösen von Hand ist da nicht mehr nötig.
Am besten mal auf die Referenz-Seite schauen: Ethernet - Arduino Reference
Leider fehlt in der Referenz der Ethernet-Lib noch die Beschreibung der DNSClient und DhcpClass Klassen. Ich hab mir das gerade aus den Sourcen zusammengewürfelt.
Mario.
ich stehe noch ganz am Anfang mit meinem Ethernet Shield.
Ich möchte lediglich meine externe ip wissen und über die RS232 ausgeben.
Somit ist das genau das was ich schon seit Tagen suche.
Das Beispiel mit google ist völlig überladen und aus dem Codeschnippsel werde ich leider noch nicht schlau. Sorry.
Hat jemand das sketch vielleicht schon fertig?
Hobo_D:
ich stehe noch ganz am Anfang mit meinem Ethernet Shield.
Ich möchte lediglich meine externe ip wissen und über die RS232 ausgeben.
Somit ist das genau das was ich schon seit Tagen suche.
Nein, worum es in diesem alten und von Dir ausgegrabenen Thread geht ist keineswegs das, was Du hier nachfragst. In dem Thread geht es um Nameserver zur Namensauflösung.
Deine "externe IP" kannst Du entweder abfragen, indem Du die Statusseite Deines DSL-Routers abrufst. Fast alle DSL-Router haben irgendwo eine Statusangabe der IP-Adresse (z.B. "WAN IP address" oder wie auch immer) im Router-Menü per HTML abrufbar.
Oder Du machst eine Abfrage auf einen externen Server im Internet, auf dem ein Skript läuft, das Dir Deine IP-Adresse anzeigt. Z.B.: http://wtfismyip.com/text