ethernet shield w5100 не может подключиться к интернету

angelina_sotnikova
Offline
Зарегистрирован: 27.06.2019

Скопировала код с оф уроков

#include <Ethernet.h>
#include <SPI.h>
 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 157 };
byte server[] = { 64, 233, 187, 99 }; // Google
 
EthernetClient client;
 
void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(9600);
  client.connect(server, 80);
 
  Serial.println("connecting...");
  delay(10000);

 
  if (client.connected()) {
    Serial.println("connected");
    client.println("GET /search?q=arduino HTTP/1.0");
    client.println();
  } else {
    Serial.println("connection failed");
  }
}
 
void loop()
{
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }
 
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    for(;;)
      ;
  }
}

Но соединения нет, мак адресс написала рандомный, т.к. адресс не вшивается в плату и его можно задать любым. В чем может быть проблема?

sadman41
Offline
Зарегистрирован: 19.10.2016

Гейтвей сетевой не указан, например. Внутри библиотеки он превратится в дефолт: 192.168.0.1.

Если в сети есть DHCP, то можно Ethernet.begin(mac) сделать, система подхватит с него настройки. 

Но, вообще, вероятных причин более одной. Всегда начинайте с пинга устройства из локальной сети.

angelina_sotnikova
Offline
Зарегистрирован: 27.06.2019

DHCP не робит

angelina_sotnikova
Offline
Зарегистрирован: 27.06.2019

Я с сетями плохо знакома, что мне лучше почитать чтобы разобраться в этой теме?

sadman41
Offline
Зарегистрирован: 19.10.2016

В теме сетей разобраться за пару дней не получится. Но, в Вашем случае, для проверки правильности работы сетевого модуля можгл применить ping, а адрес gateway (см. синтаксис begin()) подсмотреть в ipconfig (та же справочная страница, что и для ping, смотреть в раскрывающемся списке "Другие утилиты". В выводе ipconfig-а искать надо "Основной шлюз".