Skocz do zawartości

Problem z Ethernet Shield


mglowinski

Pomocna odpowiedź

Witam,
chciałem zrobić WebServer na Arduino , lecz Arduino nie jest widoczne w sieci.

Pracuję na Arduino Leonardo oraz ethernet shield.

Kod na którym pracowałem to kod z przykładu. Wraz z frustracją dodawałem kilka liniek kodu, lecz i tak nie pomogło. Zmieniałem głównie ustawienia sieciowe takie jak braka, maska oraz IP.

Mój kod :

#include

#include

// Enter a MAC address and IP address for your controller below.

// The IP address will be dependent on your local network:

byte mac[] = {

0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED

};

byte gateway[] = { 192,168,1,1};

byte subnet[] = { 255, 255, 255, 0 };

//byte ip[] = { 192,168,1,18};

IPAddress ip(192, 168, 1, 19);

// Initialize the Ethernet server library

// with the IP address and port you want to use

// (port 80 is default for HTTP):

EthernetServer server(80);

void setup() {

// Open serial communications and wait for port to open:

Serial.begin(9600);

while (!Serial) {

; // wait for serial port to connect. Needed for Leonardo only

}

// start the Ethernet connection and the server:

Ethernet.begin(mac, ip, gateway, subnet);

server.begin();

Serial.print("server is at ");

Serial.println(Ethernet.localIP());

}

void loop() {

// listen for incoming clients

EthernetClient client = server.available();

if (client) {

Serial.println("new client");

// an http request ends with a blank line

boolean currentLineIsBlank = true;

while (client.connected()) {

if (client.available()) {

char c = client.read();

Serial.write©;

// if you've gotten to the end of the line (received a newline

// character) and the line is blank, the http request has ended,
// so you can send a reply

if (c == '\n' && currentLineIsBlank) {

// send a standard http response header

client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println("Connection: close"); // the connection will be closed after completion of the response

client.println("Refresh: 5"); // refresh the page automatically every 5 sec

client.println();

client.println("");

client.println("");

// output the value of each analog input pin

for (int analogChannel = 0; analogChannel < 6; analogChannel++) {

int sensorReading = analogRead(analogChannel);

client.print("analog input ");

client.print(analogChannel);

client.print(" is ");

client.print(sensorReading);

client.println("

");

}

client.println("");

break;

}

if (c == '\n') {

// you're starting a new line

currentLineIsBlank = true;

}

else if (c != '\r') {

// you've gotten a character on the current line

currentLineIsBlank = false;

}

}

}

// give the web browser time to receive the data

delay(1);

// close the connection:

client.stop();

Serial.println("client disconnected");

}

}

Adres IP komputera : 192.168.1.14

Maska : 255.255.255.0

Bramka : 192.168.1.1

Dodam, że połączyłem przewodem crossowanym.

Problem jest w tym, że gdy pinguję arduino nie odpowiada, a przeglądarka nie wyświetla strony, która powinna stać na Arduino.

Macie pomysł gdzie może leżeć problem?

Z góry dziękuje za pomoc:)

__________

Komentarz dodany przez: Treker

Kody programów należy umieszczać w tagach .

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.