Соединение двух ESP модулей

sound
Offline
Зарегистрирован: 12.07.2018

Делаю чтото наподобие умного дома, есть esp01 несколько штук с подключеными дачиками температуры, и есть NodeMcu ESP8266 которая будет выступать вкачестве главного сервера на ней будет размещатся web интерфейс.

Проблема заключается в реализации связи между esp01 и ESP8266, нужно чтобы работали в качестве клиент сервера без роутера напрямую между собой, а когда включается роутер то была возможность зайти на web интерфей ESP8266 и делать настройки.

Кто то может сталкивался с такой задачой, буду блогодарен за советы

vitalikost
Offline
Зарегистрирован: 28.11.2014
nikolaki
nikolaki аватар
Offline
Зарегистрирован: 14.02.2013

Посмотрите на ESPnow

sound
Offline
Зарегистрирован: 12.07.2018

vitalikost пишет:

Может это поможет.

https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/exa...

Большое спасибо, это можно реализовать на клиенте, чтобы он смотрел если есть роутер то к нему подключатся если нет роутера тогда напрямую к esp сервера.

Остается только еще на сервере сделать чтото подобное, чтобы также проверял есть ли роутер если нет тогда создавал свою точку доступа, если роутер появляется снова переключался на роутер.

Как такое реализовать можете подсказать?

vitalikost
Offline
Зарегистрирован: 28.11.2014

Это надо в гибрибридный режым. Будет одновременно клиент, и точка доступа.

          WiFi.begin(ssid, pass);
          // Wait for connection
          int start = 0;
          while ( WiFi.status() != WL_CONNECTED ) {
            delay ( 500 );
            Serial.print ( "." );
            start = start +1;
            if(start > 100 )
            {
              
           WiFi.softAP("ESP-Server", "");
delay(2000);      
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);  
              break;
            }
            
          }

 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Только учитывайте, что в гибридном режиме канал AP равен каналу STA и никак по другому. Поскольку у ESPшки радиоканал один.