Controllino, comunicazione Ethernet TCP-IP

Ciao!

questo è un semplice esempio per far comunicare tramite TCP-IP un Arduino con un altro dispositivo collegato.

Per testare il codice ho utilizzato una scheda Controllino Maxi Automation, ma lo sketch è molto generico quindi può essere adattato facilmente ad altre schede.





Lo sketch qui sotto sfrutta la libreria Ethernet, già presente nell'IDE di Arduino, per stabilire un server TCP-IP e scambiare una stringa con un client.

  1. #include "Ethernet.h"
  2. byte mac[] = {0xE8, 0x2A, 0xEA, 0x4B, 0x1F, 0xC3};
  3. IPAddress ip(192, 168, 0, 177);
  4. unsigned int port = 50001;
  5. String stringIn;
  6. EthernetServer server(port);
  7. void setup() {
  8.   Ethernet.begin(mac, ip);
  9.   server.begin();
  10.   Serial.begin(9600);
  11. }
  12. void loop() {

  13.   EthernetClient client = server.available();
  14.   if (client.connected()) {
  15.     stringIn = "";
  16.     while (client.available()) {
  17.       char c = client.read();
  18.       stringIn = stringIn + c;
  19.     }
  20.     if (stringIn == "Test")
  21.     {
  22.       client.print("Message received");
  23.     }
  24.     Serial.println (stringIn);
  25.   }
  26. }

Per fare i test lato client ho utilizzato il l'utility Hercules configurato come da immagine



questo codice non utilizza il protocollo MODBUS, se volete utilizzarlo vi rimando ad un articolo del sito ufficiale

Questo è tutto,
per qualsiasi domanda lascia pure un commento.

Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!

2 commenti:

  1. Risposte
    1. Ti da errore in compilazione o altro? Il firewall è configurato correttamente?

      Elimina

Lascia un commento qui sotto, ti risponderò il prima possibile!

Altri Post