INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 1 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Webserver Textfeld
11.11.2015, 20:45 (Dieser Beitrag wurde zuletzt bearbeitet: 27.11.2015 13:49 von Bitklopfer.)
Beitrag #1
Webserver Textfeld
Hallo Leute ich binn neu hier in diesem Forum.
Ich habe gleich mal eine Frage.
Ich möchte gerne auf einem Arduino mit Lan Shield ein Webserver laufen lassen. Auf der Webseite sollen zwei Textfelder dargestellt werden, eins zur eingabe von Minuten und eins zur eingabe von Stunden diese werte sollen dann in Variablen eingetragen werden. Ich will damit dann eine kleine Zeitschaltuhr bauen indem der Arduino die Werte der Variablem mit der echten Uhrzeit abgleicht und dann etwas Schaltet.

Jetzt zu meiner eigentlichen frage, ich habe einen kleinen Webserver Sketch der zwei Textfelder darstellt nur weiß ich nicht wie ich die eingegebenen werte in eine variable eintrage oder (speichere)?


Hier der Sketch
Code:
#include <SPI.h>
#include <Ethernet.h>
#include <RCSwitch.h>

// Ethernet configuration
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MAC Address
byte ip[] = { 192,168,3, 40 };                        // IP Address
EthernetServer server(80);                           // Server Port 80

// RCSwitch configuration
RCSwitch mySwitch = RCSwitch();
int RCTransmissionPin = 3;

// More to do...
// You should also modify the processCommand() and
// httpResponseHome() functions to fit your needs.

/**
* Setup
*/
void setup() {
  Serial.begin(9600);
  
  Ethernet.begin(mac, ip);
  server.begin();
  mySwitch.enableTransmit( RCTransmissionPin );
}

/**
* Loop
*/
void loop() {
  
  char* command = httpServer();
}


void processCommand(char* command) {

  
  if        (strcmp(command, "1-on") == 0) {
    mySwitch.send("000000000000000000010101");
  } else if (strcmp(command, "1-off") == 0) {
    mySwitch.send("000000000000000000010100");
  } else if (strcmp(command, "2-on") == 0) {
    mySwitch.send("000000000001000000010101");
  } else if (strcmp(command, "2-off") == 0) {
    mySwitch.send("000000000001000000010100");
  } else if (strcmp(command, "3-on") == 0) {
    mySwitch.send("000000000000000000000001");
  } else if (strcmp(command, "3-off") == 0) {
    mySwitch.send("000000000000000000000010");
  }else if (strcmp(command, "3!-on") == 0) {
    mySwitch.send("000000000000000000000100");
  }
}
//---------------------
//...
//------------------------

//...
/**
* HTTP Response with homepage
*/
void httpResponseHome(EthernetClient c) {
c.println("HTTP/1.1 200 OK");
  c.println("Content-Type: text/html");
  c.println();
  c.println("<html>");
  c.println("<head>");

c.println("<h1>Zeitschaltung</h1>");
         c.println("<form method=get>Stunde:<input type=text size=3 name=r>Minute:<input type=text size=3<input type=text size=3 name=b>&nbsp;<input type=submit value=submit></form></body></html>");    

  c.println("</body>");
  c.println("</html>");
}

/**
* HTTP Redirect to homepage
*/
void httpResponseRedirect(EthernetClient c) {
  c.println("HTTP/1.1 301 Found");
  c.println("Location: /");
  c.println();
}

/**
* HTTP Response 414 error
* Command must not be longer than 30 characters
**/
void httpResponse414(EthernetClient c) {
  c.println("HTTP/1.1 414 Request URI too long");
  c.println("Content-Type: text/plain");
  c.println();
  c.println("414 Request URI too long");
}

/**
* Process HTTP requests, parse first request header line and
* call processCommand with GET query string (everything after
* the ? question mark in the URL).
*/
char*  httpServer() {
  EthernetClient client = server.available();
  if (client) {
    char sReturnCommand[32];
    int nCommandPos=-1;
    sReturnCommand[0] = '\0';
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if ((c == '\n') || (c == ' ' && nCommandPos>-1)) {
          sReturnCommand[nCommandPos] = '\0';
          if (strcmp(sReturnCommand, "\0") == 0) {
            httpResponseHome(client);
          } else {
            processCommand(sReturnCommand);
            httpResponseRedirect(client);
          }
          break;
        }
        if (nCommandPos>-1) {
          sReturnCommand[nCommandPos++] = c;
        }
        if (c == '?' && nCommandPos == -1) {
          nCommandPos = 0;
        }
      }
      if (nCommandPos > 30) {
        httpResponse414(client);
        sReturnCommand[0] = '\0';
        break;
      }
    }
    if (nCommandPos!=-1) {
      sReturnCommand[nCommandPos] = '\0';
    }
    // give the web browser time to receive the data
    delay(1);
    client.stop();
    
    return sReturnCommand;
  }
  return '\0';
}
/----------------
Jetzt schon mal danke.
Lg J,

P.S. mit dem Code Tag # und wieder Close sieht es gleich übersichtlicher aus...wenn man dann noch leere Zeile reduziert... glg vom Mod bk
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.11.2015, 15:05
Beitrag #2
RE: Webserver Textfeld
Wo finde ich bitte diese :
#include <RCSwitch.h>
bei mir kommt eine Fehlermeldung.

Arduino Mega 2560.

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.11.2015, 21:38
Beitrag #3
RE: Webserver Textfeld
Hallo,
#include <RCSwitch.h>
das ist die Libariy für die Funksteckdosen die ich später einmal damit schalten will.
Solltest du normalerweise im Internet finden unter RCSwitch.h Libary.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.11.2015, 22:14
Beitrag #4
RE: Webserver Textfeld
Hallo, danke für die Info.

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.11.2015, 22:17
Beitrag #5
RE: Webserver Textfeld
Wäre gut wenn du mir helfen köntest Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.12.2015, 17:53
Beitrag #6
RE: Webserver Textfeld
Ich habe es noch nicht zum Laufen gebracht bei mir.

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2015, 21:36
Beitrag #7
RE: Webserver Textfeld
Hallo,
Garnicht oder mit der Textfeld ausgebe nicht?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.12.2015, 08:28
Beitrag #8
RE: Webserver Textfeld
Hallo, , habe damit wieder angefangen.

Wo wird die Datei RCSwitch.h bitte eigentlich hingepackt im Arduino-Ordner ?
Es kommt die Meldung, das sie nicht gefunden wird

Danke,
Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP8266 ESP12-E Webserver-Frage Claus_M 8 247 14.11.2016 22:02
Letzter Beitrag: Claus_M
  Webserver + Bild als Hintergrund ?! Marc2014 8 246 11.10.2016 21:39
Letzter Beitrag: Bitklopfer
  ESP8266 Webserver Programmieren HDT 11 767 23.08.2016 13:28
Letzter Beitrag: HDT
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 451 22.08.2016 08:07
Letzter Beitrag: b3ta
  ESP8266 Webserver Marc2014 0 348 30.07.2016 20:15
Letzter Beitrag: Marc2014
Question Webserver, Client, Loop Marc2014 6 366 29.07.2016 21:04
Letzter Beitrag: Marc2014
  Wetterstation mit Vorhersage auf Webserver reimundko 8 588 05.06.2016 16:06
Letzter Beitrag: reimundko
  Webserver erzeugt zwei Durchläufe. favicon.ico?!? WOHER??? BERND87 6 1.573 04.02.2016 13:56
Letzter Beitrag: Pit
  Schalten mit dem ESP-Webserver und dem Purebasicprogramm und dem Arduino arduinofan 10 1.029 28.12.2015 12:16
Letzter Beitrag: Bitklopfer
  Ankommende Daten(Webserver) am MEGA2560 für eine Aktion auswerten ? arduinofan 0 481 11.12.2015 09:06
Letzter Beitrag: arduinofan

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste