esp8266 tcp client代码
时间: 2023-09-20 15:06:18 浏览: 93
下面是 ESP8266 连接 TCP 客户端的示例代码:
```c
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
const char* ssid = "your_SSID"; // 输入你的 WiFi 名称
const char* password = "your_PASSWORD"; // 输入你的 WiFi 密码
const char* host = "example.com"; // 输入你要连接的 TCP 服务器的域名或 IP 地址
const uint16_t port = 80; // 输入你要连接的 TCP 服务器的端口号
void setup() {
Serial.begin(115200);
delay(10);
// 连接 WiFi
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
// 连接 TCP 服务器
Serial.print("Connecting to ");
Serial.println(host);
WiFiClient client;
if (!client.connect(host, port)) {
Serial.println("TCP connection failed");
return;
}
// 向 TCP 服务器发送数据
Serial.println("Sending data to TCP server");
client.print("GET / HTTP/1.1\r\n");
client.print("Host: ");
client.print(host);
client.print("\r\n");
client.print("Connection: close\r\n");
client.print("\r\n");
// 读取 TCP 服务器返回的数据
Serial.println("Reading data from TCP server");
while (client.connected() && !client.available()) delay(1);
while (client.available()) {
String line = client.readStringUntil('\r');
Serial.print(line);
}
// 断开 TCP 连接
Serial.println();
Serial.println("Closing TCP connection");
client.stop();
// 等待一段时间后再次连接 TCP 服务器
delay(5000);
}
```
请将 `your_SSID` 和 `your_PASSWORD` 替换为你的 WiFi 名称和密码,将 `example.com` 替换为你要连接的 TCP 服务器的域名或 IP 地址,将 `80` 替换为你要连接的 TCP 服务器的端口号。在 Arduino IDE 中上传代码到 ESP8266 开发板后,打开串口监视器,你将看到 ESP8266 连接 WiFi 和 TCP 服务器的过程,并且输出 TCP 服务器返回的数据。
阅读全文