Arduino telnet invio comandi dal pc

ragazzi dovrei inviare comandi telnet da pc verso arduino, premetto che ho montato un Ethernet Shield W5100, la mia situazione e questa:

case 2:
      action2();
posx = 7600;
digitalWrite(ledOutGiallo, HIGH);

avevo pensato ad una cosa del genere:

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

IPAddress ip(192,168,1, 177);
IPAddress gateway(192,168,1, 1);
IPAddress subnet(255, 255, 0, 0);

EthernetServer server(23);

void setup() {

  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();

  Serial.begin(9600);
   while (!Serial) {
  }

  Serial.print("Chat server address:");
  Serial.println(Ethernet.localIP());
}

void loop() {

  EthernetClient client = server.available();

  if (client) {
    if (!alreadyConnected) {
      client.flush();    
      Serial.println("We have a new client");
      client.println("Hello, client!"); 
      alreadyConnected = true;
    } 

    if (client.available() > 0) {

      char thisChar = client.read();

      server.write(thisChar);
      Serial.write(thisChar);
    }
  }
}


thisChar dovrebbe essere la variabile passata da telnet.

naturalmente vorrei passargli tramite telnet i valori per attivare il blocco di codice :

case 2:
      action2();
posx = 7600;
digitalWrite(ledOutGiallo, HIGH);
break;

che ne pensate ?
qualche consiglio ?

L' ho terminato, lo comando da remoto tramite TELNET💪 funziona

Se hai voglia, puoi postare il codice Arduino, spiegare cosa e come funziona, così può essere utile a qualcuno altro voglia usare telnet.
Ma da pc hai sviluppato un programma o usi telnet da prompt/dos ?

buonasera, direi che e stato più semplice del previsto, ringrazio per tutti i suggerimenti che mi avete dato, senza di quelli sarebbe stata dura, ecco il codice :

#include <LiquidCrystal_I2C.h>
#include <AccelStepper.h>
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 89 };
byte gateway[] = { 192, 168, 0, 253 };
byte subnet[] = { 255, 255, 255, 0 };
EthernetServer server(23);
int readString;

void setup() {

digitalWrite(ledOutVerde, HIGH);

Serial.begin(9600);
while (!Serial) {

}

Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {

[//Serial.println](https://serial.println/)(menu);
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
int c = client.read();

server.write(c);
Serial.write(c);


    readString == c;


switch (c) {
case '1':
action1();
break;


case '2':


}
}
}

naturalmente il mio codice e molto più complesso perché gestisco uno stepper , display e joystick .
da qualsiasi pc della rete scrivo: telnet 192.168.0.89 e poi digito secondo le mie esigenze il numero relativo al "case" che voglio attivare, esempio : 2 e arduino attiverà il blocco di codice relativo.

@extrema76: ... fosse anche per una sola riga, come richiesto al punto 7 del REGOLAMENTO, il codice va racchiuso tra i tag CODE, per cui, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona <code/> nella barra degli strumenti per contrassegnarla come codice. Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac, sempre all'interno del IDE).

Grazie,

Guglielmo