У меня есть модуль 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 …).
Если вы хотите, чтобы ваш esp нашел выделенный сервер в любой частной сети без DNS и других настроек это может быть ответом:
Других решений пока нет …