Как использовать DNS-имя в локальной сети для запроса веб-сервера ESP32 с устройства Android?
Я хотел бы использовать DNS-имя вместо IP-адреса, когда я запрашиваю свой сервер ESP32 (который управляет освещением) в моей локальной сети, а не использовать vIP, назначенный DHCP.
Поэтому я попробовал библиотеку DNS для ESP32, и она работает только тогда, когда я ввожу имя DNS в браузере на своем ПК, но не на устройстве Android.
Я искал, почему на устройствах Android возникает эта проблема, но не нашел решения. Итак, мой вопрос, каковы мои варианты? Первое, что приходит мне на ум (но это сложное нестандартное мышление и обходной путь), — это использование какой-либо общедоступной бесплатной серверной службы, такой как Heroku, откуда я получу веб-страницу с некоторым Javascript, который будет искать мой сервер ESP32. в моей локальной сети (не уверен, что это возможно). Я хотел бы, чтобы мое решение работало в любой локальной сети без настройки маршрутизатора или настройки устройства Android.
@andz, 👍-2
Обсуждение1 ответ
Да, mDNS хорошо работает с ПК, но когда вы пытаетесь использовать его на Android, он терпит неудачу, потому что Android запрашивает Интернет напрямую, не заглядывая в локальную сеть. Если вы хотите идентифицировать устройство в локальной сети, вы можете попробовать сканировать локальную область в этом конкретном октете, например (192.168.1.xxx). На вашем устройстве Android вы сможете получить IP-адрес вашего устройства, а затем легко получите свой сетевой идентификатор, а затем вы можете попробовать сканировать через сеть. Или гораздо лучшим подходом будет использование диспетчера Wi-Fi, хотя он не решает вашу проблему напрямую, но да, он поможет вам динамически обмениваться учетными данными Wi-Fi, и в конце вы получите IP-адрес устройства. HTML-страница находится в самой библиотеке.
- ESP32 в Arduino-IDE с FS.h и SPIFFS
- Почему функция server.on() из "ESPAsyncWebServer.h" выполняется на стороне setup(), а не на стороне loop()?
- Интернет-сервер Arduino IDE + ESP32 — как перенаправить на root после нажатия кнопки
- Автоматическая веб-страница ESP32 AP
- Точка доступа ESP32 и веб сервер HTTP, как отправить несколько параметров?
- Arduino uno R4 против платы разработчика ESP32
- Как установить RTC в ES32 с помощью NTP-сервера?
- EspAsyncWebServer обрабатывает HTTPS в HTTP
Итак, вы настроили ESP в качестве DNS-сервера и указали свой браузер на ПК на этот DNS-сервер? В чем именно заключалась ваша проблема с соответствующей настройкой устройства Android? Можете ли вы установить ESP в качестве DNS-сервера в конфигурации маршрутизатора? Некоторые браузеры предоставляют надстройки для обнаружения mDNS., @chrisl