En este artículo explicamos cómo configurar y probar la conectividad Ethernet en cualquier ESP32 PLC o M-Duino PLC de Industrial Shields, usando la librería Ethernet de Arduino.
El sketch de ejemplo conecta el PLC a internet mediante DHCP, identifica el chip de hardware Ethernet, verifica la dirección IP local e intenta una conexión TCP a un host remoto. Una vez subido a través de Arduino IDE, puedes confirmar que el puerto Ethernet funciona correctamente.
Conexión del puerto Ethernet
Conecta un cable Ethernet desde el PLC a cualquier puerto Ethernet de tu red (switch, router o PC). No se requiere ningún cableado adicional.
Para el pinout del conector y los detalles de hardware, consulta la Ficha técnica para tu modelo.
Sketch de prueba Ethernet para Arduino IDE
El sketch usa la Ethernet.h librería. Descarga el siguiente código como archivo test_ethernet.ino, verifica la placa y el modelo, selecciona el puerto correcto y súbelo con Arduino IDE.
#include <Ethernet.h>
#define REMOTE "www.google.com"
const uint16_t port = 80;
uint8_t mac[] = {0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0x01};
EthernetClient c;
void setup() {
Serial.begin(9600L);
Serial.println("ethernet started");
test();
}
void loop() {
if (!c.connected()) {
Serial.println("Disconnected");
test();
}
delay(1000);
}
void test() {
Ethernet.begin(mac);
switch (Ethernet.hardwareStatus()) {
case EthernetW5100: Serial.println("W5100 found"); break;
case EthernetW5200: Serial.println("W5200 found"); break;
case EthernetW5500: Serial.println("W5500 found"); break;
default: Serial.println("Unknown hardware"); break;
}
uint8_t MAC[6];
Ethernet.MACAddress(MAC);
for (int i = 0; i < 6; ++i) {
if (i > 0) Serial.print(':');
Serial.print(MAC[i], HEX);
}
Serial.println();
Serial.println(Ethernet.localIP());
if (Ethernet.localIP() == IPAddress({0,0,0,0})) {
Serial.println("Local IP FAIL");
} else {
Serial.println("Local IP OK");
if (c.connect(REMOTE, port)) {
Serial.println("Remote connection OK");
} else {
Serial.println("Remote connection FAIL");
}
}
}
Verificación de la conexión Ethernet
Tras subir el código, abre el Monitor Serie. Si el puerto Ethernet funciona correctamente, verás una salida similar a esta:
ethernet started W5500 found AA:BB:CC:DD:EE:1 10.42.0.226 Local IP OK Remote connection OK

Conexión Ethernet con un ESP32 PLC o un M-Duino PLC