我的 ESP32 正在扫描附近的所有 WiFi 网络,但它无法使用 Arduino IDE 连接到我的 WiFi 路由器(WiFi.status API 的返回值 = 6)

问题描述 投票:0回答:3

我正在尝试使用 Arduino IDE 将 ESP32 连接到 Wifi 路由器,但它没有连接并给出连接失败或断开状态。我还确认它正在扫描所有可用的 Wifi 网络,但未连接到我的路由器。我什至尝试了另一个 ESP32 板,但问题仍然存在。



I tried this code below. This code would scan/give the available Wifi networks and it did. Also, I was expecting this code to run smoothly but my ESP32 won't connect to my Wifi router.

#include<WiFi.h>

const char *ssid = "my_SSID";  
const char *password = "my_Password";

void setup()
{
    Serial.begin(115200);
    delay(2000);
    WiFi.mode(WIFI_STA);
    WiFi.disconnect();
    delay(100);

    Serial.println("scan start");

    // WiFi.scanNetworks will return the number of networks found
    int n = WiFi.scanNetworks();
    Serial.println("scan done");
    if (n == 0) {
        Serial.println("no networks found");
    } else {
        Serial.print(n);
        Serial.println(" networks found");}

    // Connect to my network.
    WiFi.begin(ssid,password);     

    // Check Status of your WiFi Connection
    int x = WiFi.status(); // If x=3 (Connected to Network) & If x=6 (Disconnected from Network)
    Serial.print("WiFi Connection Status is ");
    Serial.println(x);
    
    while(WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("WiFi Connection Failed...");
        WiFi.disconnect();
        WiFi.reconnect();  }

    //Print local IP address and start web server
      Serial.println("\nConnecting");
      Serial.println("");
      Serial.println("WiFi connected.");
      Serial.println("ESP32 IP address: ");
      Serial.println(WiFi.localIP());
}

void loop() {}

1st image shows the output of my serial monitor. 2nd inamge shows the return value for WiFi.status function

arduino wifi esp32 arduino-ide esp8266wifi
3个回答
0
投票

试试这个代码:

#include<WiFi.h>

const char *ssid = "YourSSID";  
const char *password = "YourPassword";
        
void initWiFi() {
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, password);
      Serial.print("Connecting to WiFi ..");
      while (WiFi.status() != WL_CONNECTED) {
        Serial.print('.');
        delay(1000);
      }
      Serial.println(WiFi.localIP());
    }
    
    void setup() {
      Serial.begin(115200);
      initWiFi();
      Serial.print("RRSI: ");
      Serial.println(WiFi.RSSI());
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    }

0
投票

我也遇到了同样的问题。我发现,对我来说,问题不在于 ESP32。这是 WiFi 路由器。我将路由器的安全性设置为“WEP”。当我将安全性更改为“WPA2-PSK”时,ESP32 设备立即连接。


0
投票

非常感谢!

我必须从 WPA-PSK 切换到 WPA2-PSK

最诚挚的问候, 沃伊泰克

© www.soinside.com 2019 - 2024. All rights reserved.