在电脑上写一个接受esp32WiFi传输到的数据
时间: 2024-02-03 14:13:50 浏览: 190
你可以使用Python的socket库来编写一个简单的TCP服务器来接收ESP32 WiFi传输的数据。以下是一个示例代码:
```python
import socket
HOST = '0.0.0.0' # 监听所有可用的接口
PORT = 8888 # 监听的端口号
# 创建一个TCP socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定socket对象到指定的主机和端口号
s.bind((HOST, PORT))
# 开始监听传入的连接
s.listen(1)
print('等待客户端连接...')
# 等待客户端连接
conn, addr = s.accept()
print('连接已建立:', addr)
while True:
# 接收客户端发送的数据
data = conn.recv(1024)
# 如果没有数据,则退出循环
if not data:
break
# 打印接收到的数据
print('接收到的数据:', data.decode())
# 关闭连接
conn.close()
```
在ESP32中,你可以使用WiFi库来建立TCP连接并将数据发送到Python服务器。以下是一个示例代码:
```c++
#include <WiFi.h>
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
const char* host = "192.168.1.100"; // Python服务器的IP地址
const int port = 8888; // Python服务器的端口号
void setup() {
Serial.begin(115200);
// 连接WiFi网络
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("正在连接到WiFi网络...");
}
Serial.println("WiFi网络已连接");
}
void loop() {
// 建立TCP连接
WiFiClient client;
if (client.connect(host, port)) {
Serial.println("TCP连接已建立");
// 发送数据
String data = "Hello, Python!";
client.println(data);
// 等待接收响应
while (client.connected()) {
String response = client.readStringUntil('\n');
if (response.length() > 0) {
Serial.println("收到响应:" + response);
break;
}
}
// 关闭TCP连接
client.stop();
Serial.println("TCP连接已关闭");
} else {
Serial.println("无法建立TCP连接");
}
delay(5000);
}
```
当ESP32发送数据时,Python服务器将打印出接收到的数据。你可以根据你的需求修改这些示例代码。
阅读全文