• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP8266 скорость подключения к ТД

Mysteo

New member
Здравсвтуйте! Программирую модули esp07 и esp12f через Arduino IDE , заметил, что при одинаковых условиях скорость подключения к точке доступа всегда разная, может за 500мс присоединиться, а может по 10 секунд мусолить.
Притом точка доступа уже видит модуль , а esp8266 все еще думает, что она не подключена.
Подключение брал со стандартного скетча

Код:
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
delay уменьшал, толку нет, если совсем delay убрать то почему-то после коннекта esp8266 перезагружается.

Сначала думал , что это дело в плохом сигнале, но сейчас работаю непосредственно в близости с точкой доступа.
 

Mysteo

New member
Код:
  while (wifiStatus = WiFi.status() != WL_CONNECTED)
  {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(75);
    Serial.print(wifiStatus);
    digitalWrite(LED_BUILTIN, LOW);
    delay(75);

  }
  Serial.println("WiFi connected");
]
В терминалке :

Код:
1111111111111111111111111111111111
WiFi connected


1
WiFi connected


111111111111111111111
WiFi connected

11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
WiFi connected
А если WiFi.Status возвращает единицу то эта ошибка означает WL_NO_SSID_AVAIL
Проблема не в роутере, т.к на всех точках доступа такая фигня. Еще бывает на середине коннекта роутер уже видит , что к нему ESP цепанулась, а программа ввыдает что WL_NO_SSID_AVAIL

Перед повторным подключением к точке доступа сначала выполняю disconnect и жду пока роутер увидит что от него отключалась ЕЭсПэХа
 

nikolz

Well-known member
Код:
  while (wifiStatus = WiFi.status() != WL_CONNECTED)
  {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(75);
    Serial.print(wifiStatus);
    digitalWrite(LED_BUILTIN, LOW);
    delay(75);

  }
  Serial.println("WiFi connected");
]
В терминалке :

Код:
1111111111111111111111111111111111
WiFi connected


1
WiFi connected


111111111111111111111
WiFi connected

11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
WiFi connected
А если WiFi.Status возвращает единицу то эта ошибка означает WL_NO_SSID_AVAIL
Проблема не в роутере, т.к на всех точках доступа такая фигня. Еще бывает на середине коннекта роутер уже видит , что к нему ESP цепанулась, а программа ввыдает что WL_NO_SSID_AVAIL

Перед повторным подключением к точке доступа сначала выполняю disconnect и жду пока роутер увидит что от него отключалась ЕЭсПэХа
возможна ситуация когда старый ip занят другим устройством и в ESP записан по умолчанию
можно коннектится к нему до конца света
 

Mysteo

New member
Код:
  while (wifiStatus = WiFi.status() != WL_CONNECTED)
  {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(75);
    Serial.print(wifiStatus);
    digitalWrite(LED_BUILTIN, LOW);
    delay(75);

  }
  Serial.println("WiFi connected");
]
В терминалке :

Код:
1111111111111111111111111111111111
WiFi connected


1
WiFi connected


111111111111111111111
WiFi connected

11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
WiFi connected
А если WiFi.Status возвращает единицу то эта ошибка означает WL_NO_SSID_AVAIL
Проблема не в роутере, т.к на всех точках доступа такая фигня. Еще бывает на середине коннекта роутер уже видит , что к нему ESP цепанулась, а программа ввыдает что WL_NO_SSID_AVAIL
 

Mysteo

New member
Нет это проблема не в точках доступа, пробовал разные роутеры и настйроки, пробовал с телефона раздавать.
Установил прошивку nonOS с АТ командами, при подключении через АТ команды такая же проблема. В устройствах на WiFi стоит стабилизатор на 600мА , возможно это мало для ESP8266?
 

nikolz

Well-known member
Нет это проблема не в точках доступа, пробовал разные роутеры и настйроки, пробовал с телефона раздавать.
Установил прошивку nonOS с АТ командами, при подключении через АТ команды такая же проблема. В устройствах на WiFi стоит стабилизатор на 600мА , возможно это мало для ESP8266?
достаточно
 

pvvx

Активный участник сообщества
Нет это проблема не в точках доступа, пробовал разные роутеры и настйроки, пробовал с телефона раздавать.
Установил прошивку nonOS с АТ командами, при подключении через АТ команды такая же проблема. В устройствах на WiFi стоит стабилизатор на 600мА , возможно это мало для ESP8266?
Ранее многократно измерялось время подключения ESP8266 к разным AP и приводил статистику.
Разница времени подключения при одинаковых установках и при использовании фиксированной AP в среднем не превышает 20% (на вскидку, т.к. точно не помню, но можно уточнить найдя выложенную в данном форуме статистику). Причины так-же описывал - это синхронизация с beacon и разное состояние кэша на роутерах. Минимальное время подключения достигается на примитивных real-time контроллерах, например ESP->ESP. Т.к. у них нет других задач и нет разных состояний загрузки системы с их кэшами...
 
Сверху Снизу