Arduino - TCP-Client
In diesem Tutorial lernen wir, wie man den Arduino Uno R4 WiFi als TCP-Client programmiert und Daten mit einem TCP-Server austauscht.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V4 IoT Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.
Arduino-Code
/*
* Dieser Arduino Code wurde von newbiely.de entwickelt
* Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt.
* Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte:
* https://newbiely.de/tutorials/arduino/arduino-tcp-client
*/
#include <WiFiS3.h>
const char* WIFI_SSID = "YOUR_WIFI_SSID"; // CHANGE TO YOUR WIFI SSID
const char* WIFI_PASSWORD = "YOUR_WIFI_PASSWORD"; // CHANGE TO YOUR WIFI PASSWORD
const char* TCP_SERVER_ADDR = "192.168.0.26"; // CHANGE TO TCP SERVER'S IP ADDRESS
const int TCP_SERVER_PORT = 1470;
WiFiClient TCP_client;
void setup() {
Serial.begin(9600);
Serial.println("Arduino: TCP CLIENT");
// check for the WiFi module:
if (WiFi.status() == WL_NO_MODULE) {
Serial.println("Communication with WiFi module failed!");
// don't continue
while (true)
;
}
String fv = WiFi.firmwareVersion();
if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
Serial.println("Please upgrade the firmware");
}
Serial.print("Attempting to connect to SSID: ");
Serial.println(WIFI_SSID);
// attempt to connect to WiFi network:
while (WiFi.begin(WIFI_SSID, WIFI_PASSWORD) != WL_CONNECTED) {
delay(10000); // wait 10 seconds for connection:
}
Serial.print("Connected to WiFi ");
Serial.println(WIFI_SSID);
// connect to TCP server
if (TCP_client.connect(TCP_SERVER_ADDR, TCP_SERVER_PORT)) {
Serial.println("Connected to TCP server");
TCP_client.write("Hello!"); // send to TCP Server
TCP_client.flush();
} else {
Serial.println("Failed to connect to TCP server");
}
}
void loop() {
// Read data from server and print them to Serial
if (TCP_client.available()) {
char c = TCP_client.read();
Serial.print(c);
}
if (!TCP_client.connected()) {
Serial.println("Connection is disconnected");
TCP_client.stop();
// reconnect to TCP server
if (TCP_client.connect(TCP_SERVER_ADDR, TCP_SERVER_PORT)) {
Serial.println("Reconnected to TCP server");
TCP_client.write("Hello!"); // send to TCP Server
TCP_client.flush();
} else {
Serial.println("Failed to reconnect to TCP server");
delay(1000);
}
}
}
Schneller Schritt
Um dies zu tun, folgen Sie den folgenden Schritten:
- Schließen Sie den Arduino über ein USB-C-Kabel an Ihren PC an.
- Installieren Sie eine TCP-Server-Software wie ezTerm.
- Öffnen Sie das TCP-Server-Programm und konfigurieren Sie es als TCP-Server. Klicken Sie anschließend auf die Schaltfläche 'Listen'.

- Öffnen Sie die Eingabeaufforderung auf Ihrem PC.
- Finden Sie die IP-Adresse Ihres PCs, indem Sie den untenstehenden Befehl ausführen:
ipconfig
- Die Ausgabe sieht wie folgt aus:
Command Prompt
C:\WINDOWS\system32>ipconfig
Windows IP Configuration
Ethernet adapter:
Subnet Mask . . . . . . . . . . . : 255.0.0.0
IPv4 Address. . . . . . . . . . . : 192.168.0.26
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
- Ändern Sie die IP-Adresse Ihres TCP-Servers (Ihres PCs) im Arduino-Code. Im obigen Beispiel wird sie durch 192.168.0.26 angezeigt.
- Kompilieren und den Code auf das Arduino-Board hochladen, indem Sie in der Arduino-IDE auf die Schaltfläche Hochladen klicken.
- Öffnen Sie den seriellen Monitor.
- Sie sehen Folgendes im seriellen Monitor.
COM6
Connected to WiFi YOUR_WIFI_SSID
Connected to TCP server
Autoscroll
Clear output
9600 baud
Newline
- Nachdem eine Verbindung zum TCP-Server hergestellt wurde, sendet der Arduino eine "Hello!" an den TCP-Server, und Sie werden diesen Text in der TCP-Server-Software sehen.

- Geben Sie im TCP-Serverprogramm einige Daten ein, um sie über TCP an den Arduino zu senden.
- Wenn es erfolgreich ist, sehen Sie die Daten im seriellen Monitor.
COM6
Connected to WiFi YOUR_WIFI_SSID
Connected to TCP server
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
Autoscroll
Clear output
9600 baud
Newline