乐鑫技术交流
直播中

李丽华

7年用户 1421经验值
私信 关注
[问答]

ESP-01如何从连接的设备向SoftAP发送数据?

我的 ESP-01 设置是 CWMODE=3

STA 部分运行良好 - 我向我的 Web 服务器发送一个请求,它返回预期的数据.....

AP部分...? 我可以连接到它......它出现在我的 wifi 服务器列表中,我很好地连接到它...... 但。。。我该去哪里?

我希望能够连接到 ESP-01 AP(我可以)...并能够向其发送数据(我不知道该怎么做).....如果我连接到 ESP-01 AP,然后使用 Web 浏览器尝试访问 192.168.4.1 - 我的 Web 浏览器超时(如预期,因为 ESP 不是 Web 服务器) - 但我预计至少会在 AP 端看到请求......
              

回帖(1)

张桂兰

2024-7-17 11:28:03
要从连接的设备向ESP-01的SoftAP发送数据,您需要执行以下步骤:

1. 首先,确保您的ESP-01已经配置为同时运行STA(Station)和AP(Access Point)模式。您已经提到CWMODE=3,这是正确的设置。

2. 接下来,您需要在ESP-01上设置一个TCP或UDP服务器。这将允许连接到SoftAP的设备向ESP-01发送数据。以下是使用Arduino IDE和ESP8266WiFi库设置TCP服务器的示例:

```cpp
#include
#include

const char *ssid = "ESP-01-AP";
const char *password = "123456789";

ESP8266WebServer server(80);

void handleData() {
  String data = server.arg("data");
  server.send(200, "text/plain", "Data received: " + data);
}

void setup() {
  Serial.begin(115200);
  WiFi.softAP(ssid, password);
  delay(100);

  server.on("/data", HTTP_GET, handleData);
  server.begin();
}

void loop() {
  server.handleClient();
}
```

3. 将上述代码上传到您的ESP-01模块。

4. 现在,您可以使用连接到ESP-01 SoftAP的设备(如智能手机或计算机)向ESP-01发送数据。您可以使用浏览器或任何支持HTTP请求的工具(如Postman)来实现这一点。只需将URL设置为`http://192.168.4.1/data?data=YOUR_DATA`,其中`YOUR_DATA`是您要发送的数据。

5. 当您发送请求时,ESP-01将通过TCP服务器接收数据,并使用`handleData`函数处理它。在这个示例中,服务器将返回接收到的数据。

6. 如果您希望在ESP-01上看到请求,可以在`handleData`函数中添加一些代码来打印接收到的数据,例如:

```cpp
void handleData() {
  String data = server.arg("data");
  Serial.println("Received data: " + data);
  server.send(200, "text/plain", "Data received: " + data);
}
```

这样,每当ESP-01接收到数据时,它将在串行监视器中打印出来。

通过这些步骤,您应该能够从连接的设备向ESP-01的SoftAP发送数据,并在ESP-01上接收和处理这些数据。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分