- Labornetzteil AliExpress         
Ergebnis 1 bis 8 von 8

Thema: html-Code für nodeMCU mit Arduino IDE + Wifi libs

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast

    html-Code für nodeMCU mit Arduino IDE + Wifi libs

    hallo,
    ich verwende jetzt meinen nodeMCU für iot mit html code. Die Website wird korrekt aufgebaut, man kann über 2 Website-Buttons 2 getrennte Verbraucher schalten (2 LEDs D7 und D8 ) und ein paar sonstige Daten betrachten (DHT Sensoren, Datum, Zeit).
    Unschön ist aber, dass nach dem Schalten der Verbraucher immer die komplette Website neu aufgebaut werden muss, anstatt nur 1 Zeile zu aktualisieren (genau die, wo der aktuelle LED-Status nach Button-Click angezeigt wird).

    Kennt jemand einen Weg, diese Werte direkt auf der Seite zu aktualisieren und den Rest einfach zu lassen, wie er ist?

    So sieht die Website-Funktion zur Zeit aus (sie wird über loop() aufgerufen):

    Code:
    #include <ESP8266WiFi.h>
    WiFiServer   server(80);
    IPAddress timeServer(132, 163, 4, 101); // time-a.timefreq.bldrdoc.gov
    #include <TimeLib.h> 
    #include <WiFiUdp.h>
    #include <Timezone.h>
    
    //...
    #define led7 D7
    #define led8 D8
    
    String datestr, timestr;
    
    int tempc1, humid1,
        tempc2, humid2;
    
    void handleWebsite(){
      volatile static int valD7=-1, valD8=-1;     
      
      //---------------------------------------
      // Check if a client has connected
      WiFiClient client = server.available();
      if (!client) {
        return;
      }
      
      //---------------------------------------
      // Read the first line of the request
      String request = client.readStringUntil('\r');
      Serial.println(request);
      client.flush();
     
      // Match the request
      if (request.indexOf("/LED7=ON") != -1)  { 
        digitalWrite(led7, HIGH);  
        valD7 = HIGH;
      }
      if (request.indexOf("/LED7=OFF") != -1)  {
        digitalWrite(led7, LOW);
        valD7 = LOW;
      }
    
      if (request.indexOf("/LED8=ON") != -1)  {
        digitalWrite(led8, HIGH);
        valD8 = HIGH;
      }
      if (request.indexOf("/LED8=OFF") != -1)  {
        digitalWrite(led8, LOW);
        valD8 = LOW;
      }
     
      //---------------------------------------
      // Return the response  
    
      String script="";
      
      script += ("HTTP/1.1 200 OK \n");
      script += ("Content-Type: text/html  \n");
      script += (" \n"); //  do not forget this one
      script += ("<!DOCTYPE HTML>  \n");
      script += ("<html>  \n");  
      script += ("<head> \n");
    
      // autom. Aktualisierung alle 30 sec.
      script += ("<meta http-equiv=\"refresh\" content=\"30; URL=http://192.168.xxx.yyy\"> \n");  
      // utf-8 für "°" Zeichen
      script += ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> \n"); 
      script += ("<title>mysite</title> \n");  
      script += ("</head> \n");   
      
      script += ("<body> \n");  
      script += ("<h1><p style=""color:rgb(255,0,191);""> hello!</p> </h1> \n");
      script += ("<h1><p style=""color:rgb(255,0,191);""> Welcome to my website! </p> </h1> \n");
    
      script += ("<h2><p style=""color:rgb(0,204,102);""> ");
      script += (datestr + " &nbsp; <wbr> <wbr> <wbr> " + timestr + "</p> </h2>");  
      script += ("<br><br> \n");  
      script += ("Led D7 is now: "); 
      if(valD7 == HIGH) { script += ("On &nbsp; <wbr> <wbr> <wbr> "); } 
      else {  script += ("Off &nbsp; <wbr> <wbr> <wbr> ");  }
      
      script += ("<a href=\" /LED7=ON\"\"><button>Turn On </button></a> \n");
      script += ("<a href=\" /LED7=OFF\"\"><button>Turn Off </button></a><br /> \n");  
      
      script += ("<br><br> \n");  
      script += ("Led D8 is now: "); 
      if(valD8 == HIGH) { script += ("On &nbsp; <wbr> <wbr> <wbr> "); } 
      else {  script += ("Off &nbsp; <wbr> <wbr> <wbr> ");  }
      script += ("<a href=\" /LED8=ON\"\"><button>Turn On </button></a> \n");
      script += ("<a href=\" /LED8=OFF\"\"><button>Turn Off </button></a><br /> \n"); 
      
      script += ("<br><br> \n");     
      script += ("<p><font face=""courier""> \n");
      script += ("<h2>DHT Sensor 1: Temperat.: "+(String)tempc1 + "°C ");
      script += ("&nbsp; <wbr> <wbr> <wbr>   Feuchtigk.: "+(String)humid1+" </h2> \n");
    
      script += ("<h2>DHT Sensor 2: Temperat.: "+(String)tempc2  + "°C ");
      script += ("&nbsp; <wbr> <wbr> <wbr>   Feuchtigk.: "+(String)humid2+" </h2> \n");
    
      script += ("</font></p> \n");
      
      script += ("<body> \n");  
      script += ("</html> \n");
    
      client.print(script);
      script="";
      
    }
    Geändert von HaWe (13.08.2018 um 12:43 Uhr)

Ähnliche Themen

  1. NodeMCU an Arduino-IDE, Fehler beim Kompilieren
    Von gkd im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 5
    Letzter Beitrag: 28.05.2017, 23:21
  2. Antworten: 23
    Letzter Beitrag: 30.04.2017, 19:11
  3. Arduino Uno WiFi
    Von Holle1976 im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 04.01.2017, 18:02
  4. Arduino-Robot mit alternativer Wifi-Verbindung
    Von wvtee im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 03.07.2014, 10:56
  5. HTML-Code (scripts)
    Von Technik =) im Forum Umfragen
    Antworten: 6
    Letzter Beitrag: 10.10.2008, 10:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen