Buongiorno a tutti,
possiedo un arduino uno con attacata una arduino ethernet shield.
Compilo il seguente codice (vedi sotto) e tutto va a buon fine, mi da caricamento completato.
quando vado a fare un ping da pc mi da che non è raggiungibile e neache se accedo via web visto che è un server web.
L'arduino è collegato alla rete di casa tramite uno switch
Cosa potrebbe essere che non funziona??
#include <String.h>
#include <SPI.h>
#include <Ethernet.h>
byte mac[]={0x3C,0xA7,0xDC,0x23,0x8F,0xD7};
byte ip[] = { 192, 168, 1, 30 }; // indirizzo IP della shield
byte gateway[] = { 192, 168, 1, 1 }; // indirizzo ip del router
byte subnet[] = { 255, 255, 0, 0 }; //subnet mask
EthernetServer server(80);
int ledPin = 13; // LED pin
String readString;
boolean LEDON = false;
void setup(){
Ethernet.begin(mac, ip, gateway, subnet);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
readString.concat(c);
if (c == '\n' && currentLineIsBlank) {
Serial.print(readString);
if(readString.indexOf("Led=1") > 0) {
digitalWrite(ledPin, HIGH);
LEDON = true;
}else{
digitalWrite(ledPin, LOW);
LEDON = false;
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("Megalab.it by MGTeck & Gabry 1609");
if (LEDON) {
client.println("");
}
else
{
client.println("");
}
client.print("
ACCENDI | SPEGNI
");client.println("");
readString="";
client.stop();
}
}
}
}
}