Arduino-Seriell-zu-WiFi-Konverter

In diesem Tutorial lernen wir, wie man den Arduino Uno R4 WiFi verwendet, um einen Seriell-zu-WiFi-Konverter zu erstellen. Der Arduino liest Daten vom seriellen Port und sendet sie an einen TCP-Server, der sich entweder im selben LAN-Netzwerk befindet oder fern im Internet, und umgekehrt. Zusätzlich können wir durch das Anschließen von RS232-, RS485- oder RS422-Modulen an den Arduino RS232-zu-WiFi-, RS485-zu-WiFi- und RS422-zu-WiFi-Konverter erstellen.

Arduino RS232-zu-WiFi-Konverter

In diesem Tutorial lernen wir allgemein, wie man einen Seriell-zu-WiFi-Konverter erstellt. Für bestimmte Typen serieller Schnittstellen erfahren wir in den untenstehenden Tutorials mehr darüber.

Diese Schritte ermöglichen es Ihnen, vielseitige Kommunikationsbrücken zwischen seriellen Geräten und WLAN-Netzwerken mithilfe von Arduino zu etablieren.

Erforderliche Hardware

1×Arduino UNO R4 WiFi
1×Alternativ: DIYables STEM V4 IoT
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×(Optional) Jumper Wires
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno R4
1×(Empfohlen) Breadboard-Shield für Arduino Uno R4
1×(Empfohlen) Gehäuse für Arduino Uno R4
1×(Empfohlen) Stromverteiler für Arduino Uno R4
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

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.

Wie es funktioniert

  • Arduino verbindet sich über eine serielle Schnittstelle mit einem seriellen Gerät (TTL, RS232, RS485 oder RS422)
  • Arduino fungiert als TCP-Client, der sich mit einem TCP-Server verbindet (das kann TCP-Server-Software auf Ihrem PC oder ein anderer Arduino-TCP-Server sein)
  • Arduino liest Daten von der seriellen Schnittstelle und sendet sie an den TCP-Server
  • Arduino liest Daten von der TCP-Verbindung und sendet sie an die serielle Schnittstelle

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-serial-to-wifi-converter */ #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"); else Serial.println("Failed to connect to TCP server"); } void loop() { if (TCP_client.connected()) { // read data from TCP and send them to Serial interface if (TCP_client.available()) { char c = TCP_client.read(); Serial.write(c); } // read data from Serial interface and send them to TCP if (Serial.available()) { char c = Serial.read(); TCP_client.write(c); } } else { 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"); } else { Serial.println("Failed to reconnect to TCP server"); delay(1000); } } }

Testen

Sie können einen Test durchführen, indem Sie Daten in den folgenden Abläufen senden:

  • Serieller Monitor (auf Ihrem PC) → Serielle Schnittstelle → Arduino → WLAN → TCP-Server-Software (auf Ihrem PC).
  • TCP-Server-Software (auf Ihrem PC) → WLAN → Arduino → Serielle Schnittstelle → Serieller Monitor (auf Ihrem PC).
Serielle Kommunikation zwischen Arduino und PC

Um es zu tun, befolgen Sie die untenstehenden Schritte:

  • Verbinden Sie den Arduino mit Ihrem PC über ein USB-C-Kabel.
  • Installieren Sie eine TCP-Server-Software wie ezTerm.
  • Öffnen Sie den seriellen Monitor.
  • Öffnen Sie das TCP-Server-Programm und konfigurieren Sie es als TCP-Server, klicken Sie dann auf die Schaltfläche 'Listen'.
ezTerm TCP-Server
  • Öffnen Sie die Eingabeaufforderung auf Ihrem PC.
  • Finden Sie die IP-Adresse Ihres PCs, indem Sie den folgenden 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 angegeben.
  • Kompilieren und laden Sie den Code auf das Arduino-Board, indem Sie in der Arduino-IDE auf die Hochladen-Schaltfläche klicken.
  • Geben Sie einige Daten in den Seriemonitor ein, um sie über Serial an den Arduino zu senden.
  • Wenn alles korrekt funktioniert, sehen Sie die Daten in der TCP-Server-Software.
  • Geben Sie einige Daten in das TCP-Serverprogramm ein, um sie über TCP an den Arduino zu senden.
  • Wenn es gelingt, sehen Sie die Daten im Seriemonitor.
Arduino Seriell zu TCP

Wenn Sie einen kommerziellen Seriell-zu-Ethernet-Konverter verwenden möchten, können Sie die folgenden kommerziellen Produkte kaufen:

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!