Ping mit dem ENC28J60

Hallo,

ich habe da ein kleines Problem was ich noch nicht lösen konnte.

Ich habe einen Mega2560 mit dem Netzwerk ENC28j60

leider bekomme ich es nicht gebacken einfach nur ein Ping auf meinem Fernseher zu senden

möchte nur als antwort erhalten (erreichbar JA oder NEIN),
habe es schon versucht auf die Webseite vom TV zu gehen, das geht sollange der an ist, nur wenn der aus ist dauert es sehr lange bis ich ein disconnect bekomme, in dieser Zeit scheind es das der Mega2560 einfach nur wartet und nicht im Programm weiter geht.

Leider finde ich im Netz nichts wie ich einfach nur einen Ping mit der Netzwerkkarte senden kann.

Es würde mich freuen wenn jemand eine lösung hätte

Danke

gruß
Hans

http://playground.arduino.cc/Code/ICMPPing
hast du gesehen? ( Ist ne andere Netzwerkkarte, ich weiss )

Danke für die Schnelle Antwort,

leider hab ich das schon versucht und bekomme es nicht zum Laufen :frowning:

vielleicht hat jemand eine Idee.......

Ich suche nur eine möglichkeit, auf eine IP adresse zu connecten und als antwort ein Ja oder Nein zuerhalten, und das Nicht Connect mit einem Timeout von ca. 5 Sec.

das was geht habe ich hier, mir reicht das, nur wenn der TV nicht gefungen wird dauert es sehr lange bis es weitergeht

gibt es eine Trick die Wartezeit zu umgehen???

#include <SPI.h>
#include <UIPEthernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { x, x, x, x };
byte gateway[] = { x, x, x, x };
byte subnet[] = { 255, 255, 0, 0 };
byte server[] = {x, x, x, x }; // TV Wohnzimmer

EthernetClient client;

void setup()
{
Ethernet.begin(mac, ip, gateway, subnet);
Serial.begin(9600);
Serial.println("connecting...");
}
void loop()
{
if (client.connect(server, 80))
{
Serial.println("Fernseher gefunden");
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
}
else
{
Serial.println("nichts gefunden");
}
client.stop();
}

gruß
Hans

leider hab ich das schon versucht und bekomme es nicht zum Laufen

Das war ja auch für den Wiznet Modul.

Ich hab keinen ENC28J60, und wer den verwenden will, sollte schon bereit sein, etwas tiefer eizusteigen als client.connect() aufzurufen :stuck_out_tongue:

Entweder du guckst dir an, wo das client.connect in deiner library hängt und warum es überhaupt irgendwann zurückkommt, oder du verwendest die ENC28J60 low level Aufrufe, um einen Ping-Request abzusenden. Dann liegt es an dir, wann du aufgibst, auf die PingResponse Antwort zu warten.

Schau mal hier : Please help me About ICMP Ping - Syntax & Programs - Arduino Forum