Arduino Serial naar WiFi Converter

In deze tutorial leert u hoe u de Arduino Uno R4 WiFi gebruikt om een Serial naar WiFi converter te maken. De Arduino leest data vanaf de seriële poort en stuurt deze naar een TCP server die zich bevindt op hetzelfde LAN-netwerk of op afstand via het internet, en andersom. Door daarnaast RS232-, RS485- of RS422-modules aan te sluiten op de Arduino, kunnen we ook RS232 naar WiFi, RS485 naar WiFi en RS422 naar WiFi converters maken.

Arduino RS232 naar WiFi converter

In deze tutorial leren we hoe u in het algemeen een Serial naar WiFi converter maakt. Voor specifieke soorten seriële interfaces behandelen we aparte tutorials:

Met deze stappen kunt u veelzijdige communicatiebruggen opzetten tussen seriële apparaten en WiFi-netwerken met Arduino.

Hoe Het Werkt

  • De Arduino maakt verbinding met een serieel apparaat via een seriële interface (TTL, RS232, RS485 of RS422)
  • De Arduino functioneert als TCP-client die verbinding maakt met een TCP server (dit kan TCP server software op uw pc zijn of een andere Arduino die als TCP server werkt)
  • De Arduino leest data van de seriële interface en stuurt deze naar de TCP server
  • De Arduino leest data van de TCP-verbinding en stuurt deze naar de seriële interface

Arduino Code

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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

U kunt testen door data te sturen in de volgende richtingen:

  • Serial Monitor (op uw pc) → Serial → Arduino → WiFi → TCP Server Software (op uw pc).
  • TCP Server Software (op uw pc) → WiFi → Arduino → Serial → Serial Monitor (op uw pc).
Arduino serial naar pc communicatie

Volg onderstaande stappen om te testen:

  • Verbind de Arduino met uw pc via de USB Type-C kabel
  • Installeer een TCP server software zoals ezTerm
  • Open de Serial Monitor in de Arduino IDE
  • Open het TCP server programma en stel dit in als TCP Server, klik vervolgens op de knop Listen
ezTerm TCP Server
  • Open de Opdrachtprompt (Command Prompt) op uw pc.
  • Zoek het IP-adres van uw pc op door de volgende opdracht uit te voeren:
ipconfig
  • De uitvoer ziet er ongeveer zo uit:
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 . . . . . . . . . :
  • Wijzig het IP-adres van de TCP Server (uw pc) in de Arduino-code. In het voorbeeld hierboven is dat 192.168.0.26.
  • Compileer en upload de code naar de Arduino door op de Upload knop in de Arduino IDE te klikken.
  • Typ gegevens in de Serial Monitor om deze naar de Arduino te sturen via Serial.
  • Als alles goed werkt, ziet u deze gegevens verschijnen in de TCP server software.
  • Typ gegevens in het TCP server programma om deze naar de Arduino te sturen via TCP.
  • Als het succesvol is, ziet u de gegevens in de Serial Monitor verschijnen.
Arduino Serial naar TCP

Als u een commerciële Serial-To-Ethernet converter wilt gebruiken, kunt u de volgende producten aanschaffen:

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!