Convertidor Serial a WiFi para Arduino

En este tutorial, aprenderemos cómo usar el Arduino Uno R4 WiFi para crear un convertidor de Serial a WiFi. El Arduino lee datos desde el puerto Serial y los envía a un servidor TCP ubicado ya sea en la misma red LAN o de forma remota en Internet, y viceversa. Además, al conectar módulos RS232, RS485 o RS422 al Arduino, podemos crear convertidores de RS232 a WiFi, RS485 a WiFi y RS422 a WiFi.

Convertidor RS232 a WiFi para Arduino

En este tutorial, aprenderemos cómo crear un convertidor de serie a WiFi en términos generales. Para un tipo específico de interfaz serie, aprenderemos en otros tutoriales que se presentan a continuación:

Estos pasos te permitirán establecer puentes de comunicación versátiles entre dispositivos en serie y redes WiFi utilizando Arduino.

Cómo funciona

  • Arduino se conecta a un dispositivo serial a través de una interfaz serial (TTL, RS232, RS485 o RS422)
  • Arduino funciona como cliente TCP que se conecta a un servidor TCP (puede ser un software de servidor TCP en tu PC o en otro Arduino que actúe como servidor TCP)
  • Arduino lee datos de la interfaz serial y los envía al servidor TCP
  • Arduino lee datos de la conexión TCP y los envía a la interfaz serial

Código de Arduino

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/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); } } }

Pruebas

Puede hacer una prueba enviando datos en los siguientes flujos:

  • Monitor Serial (en tu PC) → Serial → Arduino → WiFi → Software del Servidor TCP (en tu PC).
  • Software del Servidor TCP (en tu PC) → WiFi → Arduino → Serial → Monitor Serial (en tu PC).
Comunicación serie entre Arduino y PC.

Para hacerlo, sigue los pasos a continuación:

  • Conecta Arduino a tu PC mediante un cable USB-C
  • Instala un programa de servidor TCP como ezTerm
  • Abre el Monitor serie
  • Abre el programa del servidor TCP y configúralo como servidor TCP, luego haz clic en el botón Escuchar
Servidor TCP de ezTerm
  • Abre el símbolo del sistema en tu PC.
  • Encuentra la dirección IP de tu PC ejecutando el siguiente comando:
ipconfig
  • La salida se ve a continuación:
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 . . . . . . . . . :
  • Cambia la dirección IP de tu servidor TCP (tu PC) en el código de Arduino. En el ejemplo anterior, se indica con 192.168.0.26.
  • Compila y sube el código a la placa Arduino haciendo clic en el botón Subir en el IDE de Arduino.
  • Escribe algunos datos en el Monitor Serial para enviarlos al Arduino a través del Serial.
  • Si todo funciona correctamente, verás los datos en el software del servidor TCP.
  • Escribe algunos datos en el programa del servidor TCP para enviarlos al Arduino a través de TCP.
  • Si tiene éxito, verás los datos en el Monitor Serial.
Arduino Serial a TCP

Si desea utilizar un convertidor comercial de Serial a Ethernet, puede comprar los siguientes productos comerciales:

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!