Несколько ESP8266 в сети Wi-Fi должны обмениваться информацией

В настоящее время я работаю над проектом для своего дома, где несколько ESP8266 (каждый с реле) управляют освещением. Я разработал Android для этого, где я нахожу ESP8266 через mdns, но проблема в том, что иногда один или два никогда не будут найдены (зависит от позиции, в которой я пытаюсь это сделать). Итак, моя идея состояла в том, чтобы заставить их разговаривать друг с другом, чтобы все знали, например, список IP-адресов от других. Это даст мне возможность найти каждый ESP, как только я его найду.

, 👍0


2 ответа


Лучший ответ:

2

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

,

0

Возможно, вам нужна ячеистая сеть. Вы можете использовать стандартную библиотеку ESP8266WiFiMesh. Mesh снижает нагрузку на маршрутизатор со смарт-устройств. формирование сетки между интеллектуальными устройствами. К сожалению, нет готовых к использованию примеров, но вы можете посмотреть предоставленный пример и изменить его в соответствии со своими потребностями,

Вы найдете библиотеку в своем основном каталоге

C:\Users\Your_Username\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266WiFiMesh

но имейте в виду, что есть множество нерешенных вопросов и PR (что означает множество проблемы со стабильным производством)
ОБНОВЛЕНО
Существует также библиотека painlessMesh для Arduino. Он хорошо документирован, имеет множество примеров и может быть объединен с MQTT.
Для MQTT есть одно условие, при котором вы можете рассмотреть этот вариант, если у вас есть глубоко спящие узлы на батарее (чем сетка может быть неэффективной)

,

А вот и исходный код онлайн: https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFiMesh, @lights0123