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::
