python与ardiuno进行tcp通讯案例
时间: 2023-06-27 21:07:52 浏览: 57
下面是一个Python与Arduino通过TCP进行通讯的简单示例:
1. Arduino端代码:
```ino
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiAP.h>
#define WIFI_SSID "your_wifi_ssid"
#define WIFI_PASSWORD "your_wifi_password"
WiFiServer server(8888);
void setup() {
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("WiFi connected!");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
WiFiClient client = server.available();
if (client) {
Serial.println("New client connected");
while (client.connected()) {
if (client.available()) {
String request = client.readStringUntil('\r');
Serial.print("Received: ");
Serial.println(request);
client.print("Hello from Arduino!\r\n");
break;
}
}
client.stop();
Serial.println("Client disconnected");
}
}
```
2. Python端代码:
```python
import socket
HOST = '192.168.1.100' # Arduino的IP地址
PORT = 8888 # Arduino监听的端口号
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'Hello from Python!\r\n')
data = s.recv(1024)
print('Received:', data.decode())
```
注意,这个示例中假设Arduino与Python在同一局域网中,并且Arduino的IP地址为192.168.1.100,你需要根据实际情况进行修改。同时,你需要确保Arduino已经连接WiFi,并且Python也在同一WiFi网络中。