domanda serial monitor per dati ethernet

Tramite serial monitor si riescono a vedere i messaggi inviati tramite cavo ethernet?

se guardi gli esempi della libreria Ethernet fanno tutti cosi.

se invece ti serve un sistema che ti faccia vedere tutto quello che passa sulla rete devi usare Ethereal o tcpdump su un computer..

m

nell'esempio WebClient invia i messaggi connecting... e disconnecting... via seriale, probabilmente per vederli sul serial monitor.

Ho realizzato un semplicissimo server http in java. Poi lo lancio da riga di comando. Riesco a visualizzare sia le richieste che faccio dal browser, sia le richieste GET che metto nel codice.

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 156 }; //IP del mio arduino
byte server[] = { 192, 168, 0, 201 }; //IP della mia macchina

Client client(server, 8012); //Porta su cui è in ascolto HTTP server

void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);

delay(1000);

Serial.println("connecting...");

if (client.connect()) {
Serial.println("connected");
client.println("GET /arduino?cmd=123456789 HTTP/1.0"); <-- GET
client.println();
} else {
Serial.println("connection failed");
}
}

void loop()
{
if (client.available()) {
char c = client.read();
client.print(c);
}

if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
for(;:wink:
;
}
}

Quello che dovrei fare è visualizzare su terminale, delle stringhe relative a un valore analogico che invio da arduino ogni secondo.

Inviando dati tramite Usb, li potevo visualizzare dal Serial monitor... pensavo che cambiando "Serial." con "client." tali messaggi li avrei potuti vedere sul terminale.
Probabilmente sbaglio qualcosa oppure mi manca qualche concetto.

Intanto provo a guardare Ethereal e tcpdump...

grazie

Francesco

Cosa intendi con
"visualizzare su terminale, delle stringhe relative a un valore analogico che invio da arduino ogni secondo"
se ho capito bene il "terminale" in questo caso e' un browser su un computer in rete. Se cosi' e' quello che ti serve su Arduino e' un SERVER e non un client. Cioe' l'esempio "WebServer" della libreria Ethernet ("A simple web server that shows the value of the analog input pins")...

Con...

"visualizzare su terminale, delle stringhe relative a un valore analogico che invio da arduino ogni secondo"

... intendo poter vedere i dati (su shell) che arduino invia al verificarsi di eventi come pressione di un pulsante oppure l'invio di un dato analogico (ogni secondo ad esempio)

Per questo ho utilizzato il webclient anzichè il webserver... arduino funzionerebbe da client e il suo scopo sarebbe solo quello di rilevare eventi e comunicarli al server (programma in java) che li gestisce in modo opportuno.

Solo che non riesco ad inviare i dati... ho spiegato per esteso il mio problema su un altro post... http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1256916783/45#45