• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено Узнать ip esp-модуля из той же сети.

igorman007

New member
Представим такую ситуацию:
есть маршрутизатор и организована домашняя сеть. Одним из клиентов этой сети является модуль esp8266. Предположим, что доступа к роутеру нет..то есть я не могу зайти в его настройки и задать статический ip-адрес для моего модуля -> то бишь модулю при каждом включении будет задаваться новый ip-адрес. Какой самый простой способ мне следует использовать, чтобы "отыскать" адрес моего esp с другого клиента той же самой сети (например, телефона)?
Использовать TCP/IP сервер на esp-модуле для прослушки...и, если туда что-то пришло, отсылать в ответ свой ip-адрес можно..но есть ли вариант по-проще? Может, как-то задать "алиас" для ip-адреса модуля...или при подключении к маршрутизатору "попросить" определённый ip-адрес... всё, что я нашёл в AT-командах - это команду
AT+CIPAP_CUR – Set IP address of softAP
Но мой модуль же работает в режиме station...и эта команда мне не поможет...
 

Andy Korg

Moderator
Команда форума
Какой самый простой способ мне следует использовать, чтобы "отыскать" адрес моего esp с другого клиента той же самой сети (например, телефона)?
Этим же DNS заведует в Интернетах. Присвойте модулю имя и по нему он будет находится.
 

igorman007

New member
Этим же DNS заведует в Интернетах. Присвойте модулю имя и по нему он будет находится.
А на каком уровне делать это присвоение имени? Если на уровне точки доступа (в моём примере маршрутизатора), то мне легче ему статический ip прописать (мой вопрос исходит из того, что у нас нет доступа к настройкам маршрутизатора)...а, если на уровне самого esp8266...использую прошивку AT 0.25...и что-то ничего подобного там не нашёл
 

Andy Korg

Moderator
Команда форума
А на каком уровне делать это присвоение имени? Если на уровне точки доступа...
Тут надо различать уровни OSI - имя точки доступа находится на одном уровне OSI, а имя DNS (адрес IP) esp и имя (адрес IP) маршрутизатора другом. Т.е. если используется AP esp, то маршрутизатор ничего не будет знать об AP, и соответсвенно наоборот. Поэтому если вы используете AP esp то вам надо точно знать имя его WiFi сети что бы соедениться, и наоборот - если вы используете маршрутизатор и esp работает как клиент, то надо знать имя DNS esp (тут уже WiFi не причем).
 

Vitaly

Member
далеко не каждый маршрутизатор регистрирует в своем днс имена подключенных клиентов
если данный конкретный так не делает, придется изобретать что-то еще
 

igorman007

New member
далеко не каждый маршрутизатор регистрирует в своем днс имена подключенных клиентов
если данный конкретный так не делает, придется изобретать что-то еще
Спасибо! Начало проясняться) А если немного более ближе к практике... что нужно сделать на esp(который в режиме station и с прошивкой AT-командами) до или после его подключения к маршрутизатору, чтобы попытаться "задать ему имя" и далее...что нужно сделать на другом клиенте сети (или самом маршрутизаторе), чтобы узнать, возможно ли как-то обратиться к esp модулю через его имя
 

Vitaly

Member
для начала нужен доступ к любому маршрутизатору чтобы посмотреть что модуль с АТ прошивкой сообщает dhcp серверу, а это имя тот уже зарегистрирует на днс и будет резольвить в адрес модуля
мне попробовать негде, ни ат прошивок, ни таких маршрутизаторов
 
Последнее редактирование:

Sid

New member
что вам мешает потратить около 5ти секунд для сканирования сети?
 

Yuriy

New member
Какой самый простой способ мне следует использовать, чтобы "отыскать" адрес моего esp с другого клиента той же самой сети (например, телефона)?
Если известен MAC адрес можно попробовать получить IP - ARP протоколом.
Иначе можно попробовать широковещательный UDP запрос - должно работать быстрее сканирования сети (некоторые сети нервно реагируют на сканирование).
 
Сверху Снизу