Comandi da browser

Buongiorno a tutti,
ho il seguente codice su di un nodemcu;

  WiFiClient client = server.available();
  //comandi in entrata dal client---------------------------------------------------------------------------------------
  if (client) {
    if (client.connected()) {
      String request = client.readStringUntil('\r');
      if (request == "1") {
        val1 = HIGH;
      }
      if (request == "2") {
        val2 = HIGH;
      }
      if (request == "3") {
        val3 = HIGH;
      }
      if (request == "4") {
        val4 = HIGH;
      }
      if (request == "5") {
        val5 = HIGH;
      }
      client.flush();
      client.stop();

      request = 0
    }
  }

che accetta comandi in entrata da un altro nodemcu, ma come posso fare a inviargli i comandi da browser ?
pensavo che così fosse applicabile, GET 4 HTTP/1.1\r\n Host:x.xxx.xx.xxx:xxx ma non lo è, potete illuminarmi il tunnel ? :slight_smile:

Se il protocollo che c'è attualmente non è http non puo fare operazioni http. Il codice legge solo comandi come "1", se tu mandi "GET 1 HTTP/1.1" ovviamente request non conterrà "1".

Devi modificare questo codice per eliminare l'eventuale richiesta GET, ad esempio (assumendo un comando da un solo carattere):

...
      String request = client.readStringUntil('\r');
      if ( request.startsWith("GET ") ) // Se è una GET prendo solo il quarto carattere
        request = request.substring(4,5);
      if (request == "1") {
        val1 = HIGH;
      }
      if (request == "2") {
...

Grazie mille docdoc, sei gentile e esaustivo come sempre.

Oltre al doveroso Karma, una birra per Te, ma devi passare per Ostia però :slight_smile:

:smiley: Una birra si accetta sempre, specialmente se uno è Pastafariano.. :wink:

Fammi sapere se hai risolto.

Beh in attesa di berla direttamente dal vulcano del Paradiso Pastafariano, la offro io :slight_smile: ti faccio sapere
Grazie ancora