【问题标题】:ESP32 to ESP32 AP/client WiFi connection problemESP32 到 ESP32 AP/客户端 WiFi 连接问题
【发布时间】:2018-12-06 13:31:48
【问题描述】:

尝试从一个 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));
  }
}

【问题讨论】:

  • 从电台代码中删除 scanNetworks() 呼叫。你在 esp 应该连接到 AP 时执行它
  • 我应该在客户端使用站模式吗?
  • WiFi 有接入点和站点。没有客户
  • @Juraj 嘿!我在客户端收到一条消息它已连接,但服务器端没有打印客户端已连接,也许你知道为什么?
  • @Atizs,你发送一些数据吗?许多 Arduino 网络库一直等到客户端提供数据

标签: c++ arduino wifi microcontroller esp32


【解决方案1】:

正如@juraj 提到的,在 ESP32 的 Arduino 代码中,当尝试连接到 AP 时,您无法启动扫描。

在尝试连接之前调用scanNetworks()(在WiFi.begin(ssid, password);之前)。

在与 AP 的连接建立后(在 while (WiFi.status() != WL_CONNECTED){} 之后)调用 scanNetworks()

在尝试连接到已知 WiFi AP 时,我认为扫描网络没有任何意义。

【讨论】:

  • @SyedAhmedAli 嘿!我在客户端收到一条消息,它已连接,但服务器端很安静。你也有这个吗?
【解决方案2】:

ESPnow(参见示例here)很容易实现 ESP 到 ESP 的通信。 (还有 ESP8266 等)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 2022-06-13
    • 2020-10-18
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多