Wemos D1 mini не подключается к Wi-Fi: код состояния 6

Итак, у меня есть Wemos D1 mini, который я хочу подключить к своему Wi-Fi, чтобы отправить данные датчика на мой сервер. Но я не могу подключить его к своему Wi-Fi, так как получаю код 6.

// Мы начинаем с подключения к сети Wi-Fi
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
    
WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
  delay(500);
  Serial.print(".");
  Serial.print(WiFi.status());
}
    
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());

Serial.print(WiFi.status()); печатает 6, который является WL_CONNECT_FAILED, если я прав.

Я проверил маршрутизатор, и он использует WPA / WPA2, ssid и пароль верны. Маршрутизатор использует 2,4 ГГц с Wi-Fi 802.11b и 802.11g.

Я использовал плату для сканирования с помощью примера кода, предоставленного библиотекой esp8266 board Manager, и он нашел мой SSID с идентификаторами моих соседей.

Кто-нибудь может сказать мне, что происходит не так?

Я уже проверил такие решения, как: этот, ответы github и т. Д.

Edit: Он может подключаться к точке доступа мобильного телефона. Он дает код 6 1 раз, а затем подключается. У кого-нибудь есть идея, как я подключаюсь к Wi-Fi, который предоставляет маршрутизатор?

, 👍1

Обсуждение

6 является WL_DISCONNECTED. что такое пока, пока?, @Juraj

@Juraj Я вижу, что скопировал код, который я пробовал. Одним из решений было использовать WiFi.waitForConnectResult вместо WiFi.status(). Теперь это исправлено. Где вы обнаружили, что 6 является WL_DISCONNECTED?, @Helper

в исходном коде esp8266 Arduino 2.7.4 в библиотеках/ESP8266WiFi/src/include/wl_definitions.h, @Juraj

запустите скетч только с помощью функции WiFi.disconnect(). запустите его только один раз., @Juraj

@Juraj это не исправило ситуацию, @Helper

@dandavis Да, это так, это требование маршрутизатора, @Helper

я всегда начинаю свой раздел Wi-Fi с "WiFi.disconnect (); delay (24); WiFi.mode (WIFI_STA);`, что устраняет для меня несколько проблем., @dandavis

@dandavis Я пробовал, но код 6 все еще остается, @Helper


2 ответа


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

1

Видимо, что-то пошло не так с подключением к роутеру. Маршрутизатор выдавал 802.11 g + n, что по какой-то причине заставило esp8266 дать код 6. Я пробовал 802.11 b, 802.11 b + g + n, 802.11 n, которые работают нормально.

Поэтому я обновил настройки, чтобы маршрутизатор теперь использовал 802.11n, а esp8266 теперь мог подключаться к Интернету!

,

Если позже вы сможете более определенно сказать, что это было, вы можете отредактировать свой ответ для будущих читателей. Думаю, чуть больше чем через день вы сможете ** принять ** свой собственный ответ и, вероятно, должны это сделать., @timemage


0

Для меня решением было вручную установить режим 802.11g, как описано здесь: https://github.com/ esp8266/Arduino/issues/8412

Добавьте следующий код перед подключением WiFi:

WiFi.setPhyMode(WIFI_PHY_MODE_11G);
,