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
  Smart Home Webserver Basic Authentication Problem Osotastic 21 1.268 20.02.2017 18:00
Letzter Beitrag: Tommy56
  Webserver + Bild als Hintergrund ?! Marc2014 8 834 11.10.2016 21:39
Letzter Beitrag: Bitklopfer
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 1.020 22.08.2016 08:07
Letzter Beitrag: b3ta
Question Webserver, Client, Loop Marc2014 6 890 29.07.2016 21:04
Letzter Beitrag: Marc2014
  Wetterstation mit Vorhersage auf Webserver reimundko 8 1.547 05.06.2016 16:06
Letzter Beitrag: reimundko
  Webserver erzeugt zwei Durchläufe. favicon.ico?!? WOHER??? BERND87 6 1.949 04.02.2016 13:56
Letzter Beitrag: Pit
  Ankommende Daten(Webserver) am MEGA2560 für eine Aktion auswerten ? arduinofan 0 719 11.12.2015 09:06
Letzter Beitrag: arduinofan
  Webserver abfragen mit einem Programm arduinofan 2 1.201 28.11.2015 15:54
Letzter Beitrag: arduinofan
  Webserver Anzahl Verbindungen Andreas_Home 0 575 13.10.2015 06:04
Letzter Beitrag: Andreas_Home
  Webserver Daten empfangen und Diagramm erstellen KK66 2 1.572 16.07.2015 07:34
Letzter Beitrag: KK66

Gehe zu:


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