• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос не могу отключить вещание SSID

Sync

New member
Приветствую всех, начал осваивать 8266 с платы WeMos D1 соответственно в среде arduino IDE пишу. Для начала решил не изобретать велосипед и сделать вайфайную розетку с несколькими каналами и управлением через web морду. Слепил, вроде всё работает. И решил сделать конфигуратор, чтоб при зажатии определённой кнопки плата грузилась в режиме точки доступа, а после конфигурирования переключалась в клиента. Но тут возникла проблема. Я сделал точку доступа (из примера), всё нормально. Но когда переключил плату в клиента и зашил скетч, то вещание SSID точки доступа продолжилось. К ней даже можно подключиться, хотя сама плата клиентом висит на роутере. Дальше больше, я прошил просто blink из примеров, даже не подключая никаких библиотек, SSID продолжает вещаться. Я могу его сконфигурировать (переименовать, назначить/снять пароль, сконфигурировать сеть) но не могу отключить вещание. В чём дело?
 

tretyakov_sa

Moderator
Команда форума
Я могу его сконфигурировать (переименовать, назначить/снять пароль, сконфигурировать сеть) но не могу отключить вещание. В чём дело?
Прошейте скетч с любым кодом где WiFi отключается принудительно. Затем можно заливать любой другой без использования сети.
 

Sync

New member
Прошейте скетч с любым кодом где WiFi отключается принудительно. Затем можно заливать любой другой без использования сети.
И тогда при поднятии клиента SSID вещаться уже не будет? Т.е. при каждом переключении с AP на клиента нужно глушить wifi и поднимать его, я правильно понял?
 

tretyakov_sa

Moderator
Команда форума
И тогда при поднятии клиента SSID вещаться уже не будет? Т.е. при каждом переключении с AP на клиента нужно глушить wifi и поднимать его, я правильно понял?
Все зависит от логики вашей программы. Какой режим вы задаете вот например:

Код:
void WIFIinit() {
  // Попытка подключения к точке доступа
  WiFi.mode(WIFI_STA);
  byte tries = 11;
  WiFi.begin(_ssid.c_str(), _password.c_str());
  // Делаем проверку подключения до тех пор пока счетчик tries
  // не станет равен нулю или не получим подключение
  while (--tries && WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(1000);
  }
  if (WiFi.status() != WL_CONNECTED)
  {
    // Если не удалось подключиться запускаем в режиме AP
    Serial.println("");
    Serial.println("WiFi up AP");
    StartAPMode();
  }
  else {
    // Иначе удалось подключиться отправляем сообщение
    // о подключении и выводим адрес IP
    Serial.println("");
    Serial.println("WiFi connected");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
  }
}

bool StartAPMode()
{ // Отключаем WIFI
  WiFi.disconnect();
  // Меняем режим на режим точки доступа
  WiFi.mode(WIFI_AP);
  // Задаем настройки сети
  WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
  // Включаем WIFI в режиме точки доступа с именем и паролем
  // хронящихся в переменных _ssidAP _passwordAP
  WiFi.softAP(_ssidAP.c_str(), _passwordAP.c_str());
  return true;
}
 
  • Like
Реакции: Sync
Сверху Снизу