Ethernet Shield W5100 - при пропадании интернета Arduino виснет

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Всем привет. Имеется Arduino Mega 2560 + Ethernet Shiels W5100. Все работает по MQTT  через два приложения - RemoteXY и VirtuinoMQTT.

Проблема такова. При отключении интернета ( например вовремя не оплатил) ардуино виснет. У меня стоят сенсорные выключатели которые включают свет через реле. При нажатии они то работают то нет.

Если витую пару выдергиваю то т оже виснет ардуино.

Если сможете чем помочь подскажите что за проблема и как можно ее решить. Заранее всем большое спасибо 

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Скетч надо посмотреть.
Watch dog timer добавьте.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

А что там в скетче то? Может оно ждёт ответа от сервера и дальше не двигается?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

BOOM пишет:

А что там в скетче то? Может оно ждёт ответа от сервера и дальше не двигается?

Вангую, что так и есть.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

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

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

скетч если пришлю вы меня обматерите)) он флпорговский. я решил тут спросить может сам шилд чет не так работает ? у него резисторы на линиях эрик теикс 510ОМ а должны по даташиту 51Ом быть. Шилд китай

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Насколько я помню, наоборот: должны быть 510 Ом, а китайцы нередко ставят SMD 510, что означает 51 Ом.

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

В референсном дизайне сопротивления 49,9 Ом.

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Еще такая проблема. Когда свет отключают электрики а потом включают. Тоже самое происходит. Шилд в сеть не может зайти. Ардуино с шилдом быстрее стартуют а роутер позже. Могут ли неправильные номиналы резисторов повлиять на запуск шилда при отключении? РЕзисторы стоят на 510 Ом. а по даташиту на оригинале платы стоят 50ОМ ? Но проблема такая бывает через раз 

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

Ну, если там делается попытка получить адрес по DHCP и только один раз, на старте, - то могут быть такие симптомы.

Резисторы тоже могут быть причиной - тут писали, что какие-то роутеры/свичи дают в кабель импульсы посильнее и всё получается, какие-то не справляются. Но, как правило, результат стабильно отрицательный. Много в этой ситуации нюансов. Возьмите патч-корд мелкий: на полметра или на 0,3м - выясните увеличится ли кол-во отказов или нет.

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

я даже в роутере IP шилда к его MAC привязывал и бесполезно. Поначалу думал в этом дело.  Длинна витой от шилда до хаба где то с метр. ХАб  ТП-Линк (не управляемый). А длинна провода я так понял влияет на качество сигнала?   

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Длину витой имею ввиду не больше 100 метров конечно

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

ДОбрый вечер. Читал про Watch dog timer. Я так понял та функция перезагрузит ардуину если она повиснет?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Cesium137 пишет:

 Я так понял та функция перезагрузит ардуину если она повиснет?

Нет. Перезагрузит, если вовремя не перевзвести таймер, неважно по какой причине

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

Cesium137 пишет:

я даже в роутере IP шилда к его MAC привязывал и бесполезно. Поначалу думал в этом дело.  Длинна витой от шилда до хаба где то с метр. ХАб  ТП-Линк (не управляемый). А длинна провода я так понял влияет на качество сигнала?   

Влияет, конечно. Чем длиннее и тоньше провод, тем меньше напряжение на его конце и тем меньше возможностей у чипа выделить полезный сигнал. А тут еще и неправильными резисторами все согласование портится.

Впрочем, возьмите от библиотеки Ethernet пример типа WebClient и погоняйте. Он более предсказуем, чем ваша флпроговская борода.

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Спасибо попробую))