Официальный сайт компании Arduino по адресу arduino.cc
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-а искать надо "Основной шлюз".