Eingabe (Zahl 1-30) an ESP32 senden u. verarbeiten

Mehr
03 Okt 2018 14:01 - 03 Okt 2018 14:06 #490 von jbaben
jbaben erstellte das Thema Eingabe (Zahl 1-30) an ESP32 senden u. verarbeiten
Hallo,
ich möchte eine Eingabe (Input Webseite) an den ESP32 übergeben und verarbeiten.
Mein HTML-Code
<p>Enter Geyser Switch On Time: <input type="number" name="v" min="1" max="30" value="" Switch_On_Time 
maxlength="2" size="2" required> <em>(1-30 min)</em><br>
</p>
<p<br><button type="submit" class="button_on">START</button></p>
</form> 
Bei betätigen des Button "START" wird: "/?v=1" gesendet (d.h. Wert = 1).
Wie kann ich das auf der ESP32 Seite (Arduino IDE) auswerten ?.

MfG

Juergen B.
Letzte Änderung: 03 Okt 2018 14:06 von jbaben. Begründung: Thema korrigiert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
30 Okt 2018 18:21 #507 von RedBaron
Eingabe (Zahl 1-30) an ESP32 senden u. verarbeiten
Die Klasse ESP8266WebServer bietet die Methoden
String arg(String name);// get request argument value by name
String arg(int i);// get request argument value by number
String argName(int i);// get request argument name by number
Mit arg("v") solltest du den Wert abrufen können. Der ESP32 wird die gleichen oder ähnliche Methoden aufweisen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
31 Okt 2018 13:08 #508 von jbaben
Eingabe (Zahl 1-30) an ESP32 senden u. verarbeiten
Hallo,

vielen Dank für den Hinweis, damit funktioniert es:
server.on("/v", []() {
     int n = server.args();
     Serial.print("args_tled ");
     Serial.println(n);
    if (server.hasArg("time")) {
      // Switch On Time erzeugen
      String swot = server.argName(n);
      for (uint8_t i = 0; i < server.args(); i++) {
         swot += server.arg(i) + "\n";
  }
      switch_on_time = swot.toInt();    // Ergebnis
      Serial.print("Eingabe Zeit = ");
      Serial.println(switch_on_time);      
      
    }

MfG

Juergen B.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum