Проверить неправильный пароль Wi-Fi?

может быть, это глупый вопрос, но есть ли способ проверить неправильный пароль Wi-Fi,

Я знаю, что вы можете выполнить WL_CONNECT, чтобы проверить, работает ли пароль, но есть ли команда для проверки правильности пароля? не только ожиданием.

, 👍2

Обсуждение

мой esp пытается подключиться к WiFi, @Marius Wanscher

я думаю, это делает мой клиент esp, @Marius Wanscher

https://github.com/esp8266/Arduino/blob/40f456aca3a568a09a5bec275b36a79869ce8bef/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp#L633, @Juraj

нет никакого способа узнать, правильный пароль или неправильный, кроме как попытаться его использовать., @dandavis

@dandavis, но класс WiFi не возвращает информацию, даже если она доступна. Он просто возвращает ошибку., @Sim Son

@Juraj Я думаю, что этот комментарий стоит опубликовать в качестве ответа, так как он может быть действительно полезен для других в будущем., @Sim Son


2 ответа


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

3

Информация доступна на уровне SDK. Если вы включите #include "user_interface.h", вы можете использовать функцию wifi_station_get_connect_status(). Он возвращает одно из:

STATION_GOT_IP
STATION_NO_AP_FOUND
STATION_CONNECT_FAIL
STATION_WRONG_PASSWORD
STATION_IDLE

Функция WiFi.status() использует функцию wifi_station_get_connect_status(), но возвращает WL_CONNECT_FAILED для STATION_WRONG_PASSWORD.

,

0

проверить неправильный пароль можно, используя следующий фрагмент кода

  if (WiFi.status() == WL_CONNECTED)
  {
    Serial.println("Connected successfully");
  }
  else if (WiFi.status() == WL_NO_SSID_AVAIL) 
  {
    Serial.println("Wifi network is not avaliable");
  }
  else
  {
    Serial.println("Password is not correct");
  }

Дополнительную информацию можно найти на GitHub здесь: https://github.com/aeonSolutions/aeonlabs-ESP32-C-Base-Firmware-Libraries

,