簡體   English   中英

ESP32 to ESP32 AP/client WiFi連接問題

[英]ESP32 to ESP32 AP/client WiFi connection problem

嘗試從一個 ESP32 到另一個 ESP32 進行通信,其中一個充當 AP,另一個充當客戶端,但似乎無法將 esp 客戶端連接到 esp AP,但可以使用我的智能手機連接到 AP。抱歉,如果這似乎是一個簡單的問題,我是esp32s和WiFI通信的新手。

接入點代碼

#include <WiFi.h>

const char* ssid     = "ESP32-Access-Point";
const char* password = "SyedAhmedAli";

 WiFiServer server(80);    

 void setup() {
  Serial.begin(115200);


  Serial.println("Setting AP (Access Point)…");
  WiFi.softAP(ssid, password);  



  IPAddress IP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(IP);
  Serial.print("MAC address: ");
  Serial.println(WiFi.softAPmacAddress());
  server.begin();
}

void loop(){

  WiFiClient client = server.available();   // Listen for incoming clients

  if (client) 
  { Serial.println("New Client.");          

    while (client.connected()) 
    {           
    Serial.println(client.connected());
    Serial.println("Client connected.");
    Serial.println("");

    }
    client.stop();
    Serial.println("Client disconnected.");
    Serial.println("");
  }
}

客戶端代碼

#include <WiFi.h>
 #include <SPI.h>
const char* ssid = "ESP32-Access-Point";
const char* password =  "SyedAhmedAli";



void setup() {

  Serial.begin(115200);

  WiFi.begin(ssid, password);
  scanNetworks();
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.println("Connecting to WiFi..");
  }

   Serial.println("Connected to the WiFi network");

    }

void loop() {

}
void scanNetworks() {
  // scan for nearby networks:
  Serial.println("** Scan Networks **");
  byte numSsid = WiFi.scanNetworks();

  // print the list of networks seen:
  Serial.print("SSID List:");
  Serial.println(numSsid);
  // print the network number and name for each network found:
  for (int thisNet = 0; thisNet<numSsid; thisNet++) {
    Serial.print(thisNet);
    Serial.print(") Network: ");
    Serial.println(WiFi.SSID(thisNet));
  }
}

正如@juraj 提到的,在 ESP32 的 Arduino 代碼中,您無法在嘗試連接到 AP 時啟動掃描。

在嘗試連接之前調用scanNetworks() (在WiFi.begin(ssid, password);之前)。

要么

在建立與 AP 的連接后調用scanNetworks() (在while (WiFi.status() != WL_CONNECTED){} )。

無論如何,在嘗試連接到已知的 WiFi AP 時,我看不到掃描網絡的任何意義。

ESPnow(參見此處的示例)很容易實現 ESP 到 ESP 的通信。 (還有 ESP8266 等)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM