Ethernet shield и его IP адрес в локальной сети.
- Войдите на сайт для отправки комментариев
Домашняя сеть построена следующим образом: стоит Wi-Fi роутер, подключенный к И-нет. (модель роутера netgear 3400) К трем проводным портам роутера подключены 3 компа, Wi-Fi, как правило, отключен. Есть Arduino UNO и подключенный к ней Ethernet shield. Заливаю в шилд простые программы из примеров. Подключаю шилд к 4-ому (свободному) проводному порту роутера. Шилд работает (в соответствии с залитой программой) из любого из трех компов домашней сети. Но при этом я не могу увидеть этот шилд в домашней сети никакими средствами. (в средствах сильно не разбираюсь)
Идея увидеть этот шилд в сети, а следовательно увидеть его MAC и IP возникла из-за следующей проблемы:
Если в скетче я явно указываю MAC и IP шилда, то все работает, но если я указываю только MAC, а назначение IP шилда оставляю DHCP серверу роутера то ничего не работает. Не работает ни при включенном DHCP, ни при выключенном, ни при явном указании, какой IP назначать этому MAC-у.
Кроме этого, использование этого шилда я планирую совместно с видеосервером (отдельное устройство для преобразования видеосигнала и передачи его по сети). Увидеть этот видеосервер в сети, а, следовательно, узнать его IP и получить возможность управления им я тоже не могу.
Подскажите, в чем может быть проблема? В роутере, в настройках сети, в неумении определять все подключенный к сети устройства, в чем еще? В каком направлении копать?
Во первых выведите отладочную информацию по ходу инициализации DHCP в Serial и посмотрите. Возможно там ошибки, а если ошибок нет увидите какой IP назначается
во вторых в логах роутера видно какие IP адреса выделены через DHCP. У вас сеть маленькая, найти можно перебором либо смотреть по lease time, последний выделеный IP будет иметь найибольший lease time
В третьих в роутере как правило можно определить какому MAC какой IP назначать
Большое спасибо за ответ, однако, к сожалению, это не прояснило ситуацию.
1. Я пытаюсь использовать Ethernet shield в двух режимах: 1. когда MAC и IP я забиваю в скетче и 2. когда в скетче я забиваю только MAC, а IP должен быть назначен DHCP сервером роутера.
2. Если я захожу на страницу настроек роутера (192.168.1.1) то я могу в соответствующем пункте меню увидеть все подключенные устройства (я вижу там только подключенные к сети компы), могу указать, чтобы устройству с каким-либо MAC назначался определенный IP и сделать пр. настройки. Но ни при каком режиме подключения Ethernet шилда (с вбитым IP или без) я не вижу его в списке подключенных устройств. Если я не вбиваю IP шилда в скетче, то он не работает. Увидеть, назначен ли ему какой-то IP или нет я так же не могу. Следовательно я не могу и пропинговать шилд. Если я вбиваю в настройках роутера, чтобы устройству с MAC (MAC, назначенный шилду) выделялся определенный IP, то шилд все равно не работает и в сети его не видно. Выделенный IP не пингуется.
3. Я буду благодарен за любую подсказку, но я не прошу каких-то готовых решений. Мне бы узнать, в какой части схемы проблемы и в каком направлении надо копать. Например, должен ли шилд быть виден в настройках роутера, как сетевое устройство (виден ли он у вас)? Должен ли шилд пинговаться, если в скетче нет конкретного кода на обработку пинга? Можно ли какими-то утилитами увидеть все устройства подключенные к роутеру (шилд, видеосервер, сетевой принтер и т.п.) независимо от их функционала? Какими?
Да возьмите готовый пример с сайта для библиотеки Ethernet там где IP назначается по DHCP
В нем есть вывод в Serial информации по инициализации и посмотрите на каком шаге идет ошибка