• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Доступ к esp8266 по сетевому имени

ikari81

New member
Исходные данные такие:
Машина. В машине магнитола на андроиде. В сумке телефон с включенной точкой доступа. Магнитола и esp подключаются к ней. На магнитоле пока браузер, обращающийся по ip http esp. Сейчас ip выдаваемый dhcp esp можно посмотреть только вручную (сделал отправку его себе на почту). Полученный адрес вбиваю в браузер и для отладки пока нормально.
Но в будущем надо сделать более универсально. DNS на телефоне с добавлением статических записей сделать не могу, да и не уверен, что даже на рутованных это возможно.
В случае, если дорасту до нативного приложения под андроид, все относительно просто: зная подсеть и диапазон адресов раздаваемых dhcp точки доступа, пингуем адреса по порядку, с ответившим пробуем установить tcp-соединение например по порту, на котором висит web и в случае удачи это будет искомый адрес.
Может есть другие, более простые способы?
 

ikari81

New member
Я пробовал пример ардуино из коробки в связке есп-микротик-андроид, андроид есп не видит. Win7 с установленным бонжуром аналогично.
 

Victor

Administrator
Команда форума
Я пробовал пример ардуино из коробки в связке есп-микротик-андроид, андроид есп не видит. Win7 с установленным бонжуром аналогично.
может быть тогда у вас была включена изоляция клиентов (выключен Forwarding)
попробуйте этот пример, должно работать https://github.com/esp8266/Arduino/.../examples/mDNS_Web_Server/mDNS_Web_Server.ino
 

ikari81

New member
может быть тогда у вас была включена изоляция клиентов (выключен Forwarding)
попробуйте этот пример, должно работать https://github.com/esp8266/Arduino/.../examples/mDNS_Web_Server/mDNS_Web_Server.ino
Сработало на пк, когда сделал паузу между получением WL_CONNECTED и вызовом MDNS.begin. С пк открывается, с андроида нет, хром ругается на что не может найти днс имя, но всякие bonjour браузеры при сканировании esp находят.
 

Алексей.

Active member
Имя, которое в mDNS указываю,
C++:
MDNS.begin("esp-clock-1");
авахи разрешает в домене local
Bash:
alex@lenovo-e480:~$ avahi-resolve-host-name esp-clock-1.local
esp-clock-1.local    192.168.11.119
а nslookup в обратном поиске DNS находит имя хоста, которое я пока не менял, в домене lan
Bash:
alex@lenovo-e480:~$ nslookup 192.168.11.119
119.11.168.192.in-addr.arpa    name = ESP-39103E.lan.

Authoritative answers can be found from:
немножко установим имя хоста перед WiFi.begin
C++:
  WiFi.hostname("esp-clock-1");
  WiFi.begin(SSID, PASS);
ну и контрольный обратный DNS
Bash:
alex@lenovo-e480:~$ nslookup 192.168.11.119
119.11.168.192.in-addr.arpa    name = esp-clock-1.lan.

Authoritative answers can be found from:
и прямой
Bash:
alex@lenovo-e480:~$ host esp-clock-1.lan
esp-clock-1.lan has address 192.168.11.119
Браузером в домене lan находится теперь по исправленному имени хоста.
 

ikari81

New member
На пк все работает, на андроиде в хроме - нет. Внешние программы на андроиде имя находят. Для универсальности видимо придется делать нативное.
 

ikari81

New member
Какая версия андроида? Я проверил на нескольких смартах, паре планшетов, магнитоле. Там версии 5-6.
 

Алексей.

Active member
На роутере работает разрешение ip адреса по имени хоста, а на точке доступа на андроиде 6 не работает.
Подключил к точке доступа на андроиде 2 компа и esp.
Обратный dns по ip адресам работает как для компов так и для ecp, а получение ip по имени хоста не работает ни для esp ни для компа.
С одного компа не удается получить ip другого компа по имени если использую точку доступа на смартфоне.
 
Сверху Снизу