Фон:
Я на самом деле начинающий Arduino и учусь подключать один к Интернету через Ethernet.
Я не использую более широко используемый (гораздо более простой) Ethernet-щит (на основе микросхем Wiznet W5100/W5200), но использующий чип ENC28J60 - разница в обработке TCP (?)'должно быть сделано программно, в то время как чипы W5100/W5200 имеют встроенную аппаратную поддержку).
Я использую библиотеки, которые выполняют основную работу с кодом. Я не совсем понимаю, но уже преуспел в настройке Arduino в качестве веб-сервера, а также веб-клиента.
Проблема:
Моя проблема в последовательности. Чаще всего модуль Arduino+Ethernet не обнаруживается маршрутизатором и, следовательно, не будет работать, поскольку он не получает IP-адрес. Это не проблема кабеля локальной сети; когда я подключаю его к компьютеру, он отображается в таблице клиентов маршрутизатора, но когда я подключаю его к устройству (например, Arduino через модуль Ethernet), он не отображается.
Мой вопрос: как маршрутизатор обнаруживает компьютер / подключенное устройство? Поиск в Google дал мне результаты для "как компьютер определяет маршрутизатор?"Я хочу это наоборот.
Я хотел бы иметь общее представление о том, как маршрутизатор выполняет обнаружение, потому что я не могу определить, является ли сбой соединения на стороне устройства или на стороне маршрутизатора.
Я совершенно не осведомлен о технических особенностях работы с сетями, но я знаком с понятиями PING-ing и DHCP против фиксированных IP-адресов - все это исключается наличием фактического соединения - вот где мой камень преткновения. Я был бы признателен за любые объяснения дилетанта или, по крайней мере, некоторые советы по устранению неполадок, чтобы узнать, где проблема на самом деле.