ESP32 к ESP32 AP / клиент WiFi проблема подключения WiFi

Попытка установить связь между одним ESP32 и другим ESP32, когда один выступает в роли точки доступа, а другой — в качестве клиента, но не может подключить клиент esp к точке доступа esp, но подключение к точке доступа с помощью моего смартфона работает. Извините, если это кажется простые вопросы, я новичок в 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));
}
}

1

Решение

Как упоминает @juraj, в коде Arduino для ESP32 вы не можете запустить сканирование, когда попытка подключения к точке доступа уже выполняется.

Вызов scanNetworks() до попытки подключения (до WiFi.begin(ssid, password);).

или же

Вызов scanNetworks() после подключения к точке доступа (после while (WiFi.status() != WL_CONNECTED){}).

В любом случае, я не вижу смысла сканировать сети при попытке подключиться к известной точке доступа WiFi.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]