ethernet shield w5100 не может подключиться к интернету
- Войдите на сайт для отправки комментариев
Пнд, 01/07/2019 - 15:24
Скопировала код с оф уроков
#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(;;)
;
}
}
Но соединения нет, мак адресс написала рандомный, т.к. адресс не вшивается в плату и его можно задать любым. В чем может быть проблема?
Гейтвей сетевой не указан, например. Внутри библиотеки он превратится в дефолт: 192.168.0.1.
Если в сети есть DHCP, то можно Ethernet.begin(mac) сделать, система подхватит с него настройки.
Но, вообще, вероятных причин более одной. Всегда начинайте с пинга устройства из локальной сети.
DHCP не робит
Я с сетями плохо знакома, что мне лучше почитать чтобы разобраться в этой теме?
В теме сетей разобраться за пару дней не получится. Но, в Вашем случае, для проверки правильности работы сетевого модуля можгл применить ping, а адрес gateway (см. синтаксис begin()) подсмотреть в ipconfig (та же справочная страница, что и для ping, смотреть в раскрывающемся списке "Другие утилиты". В выводе ipconfig-а искать надо "Основной шлюз".