W5100 ethernet shield получает неправильный адрес

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
schel4ok
Сообщения: 130
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

W5100 ethernet shield получает неправильный адрес

Сообщение schel4ok » Ср апр 07, 2021 12:57 pm

Я сделал скетч для Arduino Mega2560+W5100 ethernet shield для отправки данных через MQTT.
Сначала только получал данные температуры и влажности с четырёх датчиков DHT22.
Пару дней всё работало.
Вчера добавил датчик движения и работать перестало.

При этом основной код, который отвечает за соединение с Ethernet я вообще не трогал, но контроллер перестал получать правильный IPAddress и соответственно нифига не работает.

То есть в скетче у меня такие настройки ethernet

Код: Выделить всё

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };    //mac адрес Ethernet Shield'a Arduino
byte gateway[] = {192, 168, 1, 1};
byte subnet[]  = {255, 255, 255, 0};
IPAddress ip{ 192, 168, 1, 30 };                        //ip адрес Ethernet Shield'a Arduino
IPAddress server{ 192, 168, 1, 2};                      //ip адрес MQTT Брокера
А в серийном порте вот этот код вместо правильного адреса стал выдавать вообще другие значения. Пару раз я видел 0.0.0.0 и пару раз 0.40.1.30

Код: Выделить всё

Serial.print("IP: ");  Serial.println(Ethernet.localIP());
Я думал просто глюк и пытался несколько раз перезагрузить Ардуину, перезаливал скетч, но обратно правильный адрес не возвращается.
При этом с роутера правильный адрес 192.168.1.30 пингуется.

Что могло сломаться?
schel4ok
Сообщения: 130
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: W5100 ethernet shield получает неправильный адрес

Сообщение schel4ok » Пн апр 19, 2021 8:13 pm

Похоже проблема была в том, что я подключал 4 датчика DHT22 в пины 50-53.
Я просто на схеме arduino mega увидел, что рядом с пином 51 подписано непонятное слово SPI MOSI, а рядом с пином 53 подписано непонятное слово SPI SS.
Видимо их использует ethernet shield. Не знаю. Но как только переткнул в пины 41-44, то сразу проблема пропала.
Ответить