Introducción
En este post te mostramos muestra cómo conectarse a un servidor TCP desde un PLC industrial basado en Arduino. Necesitas solo un controlador M-Duino con conexión Ethernet y un servidor TCP disponible.
Requisitos
Ethernet PLC: Ethernet PLC
Placas Industrial Shields: Placas Industrial Shields
Descripción
Antes de empezar con este post, echa un vistazo a este ejemplo. Consiste en implementar una SERVIDOR TCP EN TOUCHBERRY PI 3 CON NODE.JS
Una vez que el servidor está funcionando, el PLC industrial M-Duino puede conectarse al servidor. En este ejemplo se utiliza un controlador industrial M-Duino para conectarse con el servidor Node.js llamado server.js, el mismo que se utilizó en el ejemplo anterior de enlace.
Para configurar el M-Duino, este post solo sigue el ejemplo TCP del sitio web de Arduino con algunos cambios. Para poder conectarte al servidor, debes conocer la IP del servidor TCP y el puerto donde este servidor está escuchando.
Ejemplo
A continuación te mostramos el código de Arduino::
#include <Ethernet.h> #include <SPI.h> byte mac[] = { 0xBE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 192, 168, 1, 100 }; byte server[] = { 192, 168, 1, 105 }; // Touchberry Pi Server int tcp_port = 5566; EthernetClient client; void setup() { Ethernet.begin(mac, ip); Serial.begin(9600); delay(1000); Serial.println("Connecting..."); if (client.connect(server, tcp_port)) { // Connection to server.js Serial.println("Connected to server.js"); client.println(); } else { Serial.println("connection failed"); } } void loop() { if (client.available()) { if(Serial.available()){ char s = Serial.read(); client.write(s); // Send what is reed on serial monitor char c = client.read(); Serial.print(c); // Print on serial monitor the data from server } } if (!client.connected()) { Serial.println(); Serial.println("disconnecting."); client.stop(); for(;;) ; } }
Para más información, mira en la web de Arduino las funciones del TCPs Biblioteca Ethernet / Ethernet 2
Una vez que el esquema se ejecuta en el M-Duino, a través del monitor serial es posible enviar datos al servidor y estos datos son respondidos e impresos también en el monitor serial. En este ejemplo se escribe "Hola servidor.js" al monitor en serie. A continuación, te mostramos dos capturas de pantalla con la respuesta de esta operación, una del server.js en la Raspberry y la segunda del monitor de serie M-Duino::