Автоопределение локального сервера с ESP8266

У меня есть модуль ESP8266 (в частности, Cactus Micro r2), который может подключаться к локальной сети, а затем связываться с моим локальным сервером по протоколу HTTP. Однако я должен указать сетевой SSID, пароль и IP-адрес моего сервера.

Возможно ли для модуля ESP отправить широковещательную рассылку HTTP всей сети с определенным заголовком? И тогда сервер, распознающий заголовок, будет отвечать, поэтому его IP-адрес будет обнаружен автоматически? Если не с HTTP, это достижимо с UDP? И есть ли способ общения между клиентом и сервером, чтобы обнаруживать друг друга?

Единственное решение (или, скорее, обходной путь), которое я изобрел до сих пор, состоит в том, чтобы перебрать весь диапазон адресов локальной подсети (обычно это 192.168.1.1-192.168.1.254) и попытаться инициировать связь. Однако это очень медленно (если IP-адрес сервера находится в верхней половине диапазона). Кроме того, он не будет работать в сети 10.0.0.0 (не говоря уже о чистых сетях IPv6 …).

0

Решение

Если вы хотите, чтобы ваш esp нашел выделенный сервер в любой частной сети без DNS и других настроек это может быть ответом:

  1. На стороне сервера реализуйте передачу udp. Это передает информацию о соединении самого себя между некоторыми интервалами (например, 2 секунды). Это похоже на сигнал Wi-Fi (или рекламу Bluetooth).
  2. На стороне esp esp должен знать ssid. Затем подключитесь к сети. Начните слушать широковещательный порт для spesific сообщение.
  3. Получив сообщение, проанализируйте его и проверьте (аутентифицируйте и т. Д.), Затем получите параметры из сообщения, которое показывает сервер.
  4. Наконец, используйте параметры для связи с сервером и выключите приемник вещания.
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector