esp32 sta 怎么发送消息 核心代码
时间: 2024-01-07 12:21:59 浏览: 52
以下是 ESP32 在 STA 模式下发送消息的核心代码:
```C++
#include <WiFi.h>
const char* ssid = "MyWiFi";
const char* password = "password";
const char* host = "192.168.1.100"; // 目标IP地址
const int port = 80; // 目标端口号
void setup() {
Serial.begin(115200);
delay(1000);
// 连接 WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}
void loop() {
// 建立 TCP 连接
WiFiClient client;
if (!client.connect(host, port)) {
Serial.println("Connection failed");
return;
}
// 向服务器发送数据
String message = "Hello, server!";
client.print("POST /path/to/server HTTP/1.1\r\n");
client.print("Host: ");
client.print(host);
client.print(":");
client.print(port);
client.print("\r\n");
client.print("Content-Type: text/plain\r\n");
client.print("Content-Length: ");
client.print(message.length());
client.print("\r\n");
client.print("\r\n");
client.print(message);
// 等待服务器响应
while (!client.available()) {
delay(1);
}
// 读取服务器响应并输出到串口
String response = client.readString();
Serial.println(response);
// 断开 TCP 连接
client.stop();
// 等待一段时间后再发送下一次消息
delay(5000);
}
```
在上面的代码中,我们首先连接到 WiFi 网络。然后,在 loop() 函数中,我们建立 TCP 连接并向服务器发送数据。在发送完数据后,我们等待服务器的响应并将响应输出到串口。最后,我们断开 TCP 连接并等待一段时间后再发送下一次消息。
请注意,上面的代码仅用于演示目的。在实际的应用中,您需要根据您的需求对代码进行修改。
阅读全文