Verbindungsproblem mit Ethernet-Shield

Hallo,

Ich habe den Code unten auf meinen Arduino Uno geladen.
Der Code soll benutzt werden um das Licht über das iPhone zu steuern.

#include <Ethernet.h>
#include <SPI.h>
//network NB: Pins 10, 11, 12 and 13 are reserved for Ethernet module.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 99 };
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };

String inString = String(35);

String Led;

int led[] = {00, 2, 3, 4 ,5 ,6 ,7 ,8,9 }; //Led pins num 0 in arry is not used
int numofleds = 8; //numofleds
String value[] = {"on","on","on","on","on","on","on","on","on"}; //startup all led are off

EthernetServer server(80);
String data;
void setup()
{
Serial.begin(9600);
Ethernet.begin(mac, ip,gateway,subnet);
server.begin();
//set pin mode
for (int j = 1; j < (numofleds + 1); j++){
pinMode(led[j], OUTPUT);
}
Serial.println("Serial READY");
Serial.println("Ethernet READY");
Serial.println("Server READY");
}

void loop()
{
EthernetClient client = server.available();

if(client){
// an http request ends with a blank line
boolean current_line_is_blank = true;
while (client.connected()) {

if(client.available()) {

char c = client.read();
// if we've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so we can send a reply
if (inString.length() < 35) {
inString.concat(c);
}
if (c == '\n' && current_line_is_blank) {

// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("");
client.println("

Led controller

");

for(int i=1;i < (numofleds + 1) ;i++){
Led = String("led") + i;

if(inString.indexOf(Led+"=on")>0 || inString.indexOf("all=on")>0){
Serial.println(Led+"on");
digitalWrite(led*, HIGH);*
_ value = "off";_
* }else if(inString.indexOf(Led+"=off")>0 || inString.indexOf("all=off")>0 ){ *
* Serial.println(Led+"on");*
_ digitalWrite(led*, LOW);
value = "on";
}
client.println("
"+Led+" ");

* }
client.println("
All ");
client.println("");
break;
}
if (c == '\n') {
// we're starting a new line*

* current_line_is_blank = true;*
* } else if (c != '\r') {
// we've gotten a character on the current line*

* current_line_is_blank = false;*
* }
}
}
// give the web browser time to receive the data*

* delay(1);
inString = "";
client.stop();
}
}*

Dann habe ich die IP-Adresse im Browser eingegeben und abgewartet was passiert.
Zuerst funktionierte auch alles, aber am nächsten Tag habe ich den Arduino wieder an USB angeschlossen (zur Stromversorgung) und versucht auf diesen im Browser zuzugreifen. Dies funktionierte aber nicht. Ich habe immer nur mit dem iPhone auf den Arduino zugegriffen, mit dem Laptop funktionierte es nie.
Ich bin noch ein Anfänger, wisst ihr was das Problem sein könnte?
Gruß Titanium_

wissen nicht, aber ...

String, speziell mit + Operator oder concat(), sind immer schlecht auf einem UNO mit minimalem RAM Bereich.
Ganz Vorsichtige legen sogar noch konstante char arrays ins PROGMEM, um die 2k RAM Grenze nicht zu gefährden. Such mal nach dem F() Makro ...

Hi,

ab IDE 1.0 ist die Syntax für Ethernet.begin wie folgt:
Ethernet.begin(mac, ip, dns, gateway, subnet);