Krijg geen verbinding met webserver op Wemos D1

Projecten die niet passen in bovenstaande onderwerpen
Gebruikers-avatar
Berichten: 102
Geregistreerd: 26 Okt 2015, 16:07

Krijg geen verbinding met webserver op Wemos D1

Berichtdoor Atwist » 26 Mrt 2017, 19:10

Hallo

Met het onderstaande script in mijn Wemos D1 probeer ik de webserver aan te spreken maar dit lukt mij niet heb het meerdere malen geprobeerd en ook het script diverse malen door gelopen maar ik zie de fout niet.
Mijn serial monitor geeft aan dat er verbinding is.
Code: Alles selecteren
Wemos D1 Verbunden mit  FRITZ!Box 7330
Server gestarte
Hostname = Hausautomation über Wlan
IP adresse =  192.168.178.51/
signal strength (RSSI):-59 dBm



Zouden jullie eens kunnen kijken ik heb bijna vierkante ogen van het turen.

Alvast bedankt.

Code: Alles selecteren
#include <ESP8266WiFi.h>
// -------------  Nur diese Daten entsprechend anpassen! -----------------------
const char * ssid = "FRITZ!Box 7330";
const char * pass = "******************";
IPAddress ip(192, 168, 178, 51);
IPAddress gateway(192, 168, 178, 10);
IPAddress subnet(255, 255, 255, 0);
WiFiServer server (80);             // port 80 (kann so bleiben)
char TextHeader[] = "Hausautomation über Wlan";      // Hier koennen Sie die Textausgabe anpassen - Kopfzeile
char TextHW[]     = "(Wemos D1)";           // Hier koennen Sie die Textausgabe anpassen - Hardwareinfo, etc.

// --------- Relais 1 bis 8 ---------------

char T01[] = "Licht Wohnzimmer";                        // Ab hier können Sie die Relaiskanäle 1 - 8 beschriften
char T02[] = "Licht Schlafzimmer";
char T03[] = "Licht Kinderzimmer";
char T04[] = "Licht Einfahrt";
char T05[] = "Licht Garage";
char T06[] = "Wasserpumpe";
char T07[] = "Relais 07";
char T08[] = "Relais 08";

// ---------- AB HIER NUN BITTE NICHTS MEHR ÄNDERN!!! ------------------------------
#define K01 5
#define K02 4
#define K03 0
#define K04 16
#define K05 14
#define K06 12
#define K07 16
#define K08 15

boolean reading = false;
String readString;
boolean readInput[6];                 //max-Grösse fuer das Array
int outp = 0;

// -------------------- SETUP --------------------------------------------------

void setup() {
  Serial.begin(115200);
  pinMode(K01, OUTPUT);
  pinMode(K02, OUTPUT);
  pinMode(K03, OUTPUT);
  pinMode(K04, OUTPUT);
  pinMode(K05, OUTPUT);
  pinMode(K06, OUTPUT);
  pinMode(K07, OUTPUT);
  pinMode(K08, OUTPUT);

  WiFi.config(ip, gateway, subnet);
  Serial.println();
  Serial.println();
  Serial.print("Wemos D1 Verbunden mit  ");
  Serial.println(ssid);
  WiFi.begin(ssid, pass);
  WiFi.hostname("Hausautomation über Wlan");
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(1000);
  }
  // Start the server
  server.begin();
  Serial.println("Server gestarte");
  Serial.print("Hostname = ");
  Serial.print(WiFi.hostname());
  Serial.println("");
  // Print the IP address
  Serial.print("IP adresse =  ");
  Serial.print(WiFi.localIP());
  Serial.println("/");
}
// -------------------- Loop-Schleife ------------------------------------------

void loop() {
  Webserver();
}
// --------------------- Webserver ---------------------------------------------

void Webserver() {
  WiFiClient client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();

        if (readString.length() < 100) {
          readString += c;
        }
        if (c == '\n') {

          WiFiClient client = server.available();

          if (client) {

            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connnection: close");
            client.println();
            client.println("<!DOCTYPE HTML>");
            client.println("<head>");
            client.println("<title>Wlan Schaltung</title>");
            client.println("<meta name=\"description\" content=\"Wlan Schaltung\"/>");
            client.println("<meta http-equiv=\"refresh\" content=\"5; url=/\">");
            client.println("<style type=\"text/css\">");


            // -------------------- CSS SITE -----------------------------------------------


            client.println("body {");
            client.println("height: 100%;");
            client.println("background-color: #00868b;");
            client.println("margin: 0;");
            client.println("font-family: arial, helvetica, sans-serif;");
            client.println("font-size: 12px;");
            client.println("}");
            client.println();


            // -------------------- CSS HEADER ---------------------------------------------


            client.println(".top {");
            client.println("background-color: #ffd700;");
            client.println("left: 0px; right: 0px; height: 64px;");
            client.println("border-top: solid 1px rgba(255,255,255,0.6);");
            client.println("-webkit-box-shadow: 0px 4px 2px 0px rgba(255,255,255,1);");
            client.println("-moz-box-shadow: 0px 4px 2px 0px rgba(255,255,255,1);");
            client.println("box-shadow: 0px 4px 2px 0px rgba(255,255,255,1);");
            client.println("}");
            client.println();


            // -------------------- CSS FOOTER ---------------------------------------------


            client.println(".foo {");
            client.println("background-color: #ffd700;");
            client.println("left: 0px; right: 0px; height: 64px;");
            client.println("border-top: solid 3px rgba(255,255,255,0.6);");
            client.println("-webkit-box-shadow: 0px 4px 2px 0px rgba(255,255,255,1);");
            client.println("-moz-box-shadow: 0px 4px 2px 0px rgba(255,255,255,1);");
            client.println("box-shadow: 0px 4px 2px 0px rgba(255,255,255,1);");
            client.println("}");
            client.println();


            // -------------------- CSS TABELLE ---------------------------------------------

            client.println("table td {");
            client.println("background-color: #fff;");
            client.println("}");
            client.println();


            // -------------------- CSS SYSTEMINFO ------------------------------------------


            client.println(".sys {");
            client.println("text-align: right;");
            client.println("color: #a9a9a9;");
            client.println("font-size: 10px;");
            client.println("font-weight: bold;");
            client.println("margin: -9px 0px 0px;");
            client.println("}");
            client.println();


            // -------------------- CSS H1 -------------------------------------------------


            client.println("h1 {");
            client.println("text-align: center;");
            client.println("color: #0000cd;");
            client.println("font-size: 24px;");
            client.println("font-weight: bold;");
            client.println("text-shadow: rgba(255,255,255,0.7) 0 -2px 0;");
            client.println("line-height: 1;");
            client.println("margin: 20px 0px 0px;");
            client.println("}");
            client.println();


            // -------------------- CSS H2 -------------------------------------------------


            client.println("h2 {");
            client.println("text-align: center;");
            client.println("color: #ffd700;");
            client.println("font-size: 17px;");
            client.println("font-weight: bold;");
            client.println("text-shadow: rgba(0,0,0,1.0) 0 -2px 0;");
            client.println("line-height: 1;");
            client.println("margin: 20px 0px 0px;");
            client.println("}");
            client.println();


            // --------------------- CSS H3 ------------------------------------------------


            client.println("h3, a {");
            client.println("text-align: center;");
            client.println("color: #fff;");
            client.println("font-size: 14px;");
            client.println("font-weight: bold;");
            client.println("text-shadow: rgba(0,0,0,1.0) 1px -2px 1px;");
            client.println("text-decoration: none;");
            client.println("line-height: 1;");
            client.println("margin: 19px 0px 0px;");
            client.println("}");
            client.println();


            // --------------------- CSS Softversion----------------------------------------


            client.println(".ver {");
            client.println("text-align: center;");
            client.println("color: #fff;");
            client.println("font-size: 12px;");
            client.println("font-weight: bold;");
            client.println("text-shadow: rgba(0,0,0,1.0) 1px -2px 1px;");
            client.println("line-height: 1;");
            client.println("margin: 6px 0px 0px;");
            client.println("}");
            client.println();


            // ---------------------- NOTAUS -----------------------------------------------

            client.println("#off {");
            client.println("height: 150px;");
            client.println("width: 150px;");
            client.println("background-color: #ff0000;");
            client.println("border-radius: 85px;");
            client.println("border-style: solid;");
            client.println("border-shadow: rgba(255,255,255,1.0) 1px 1px 1px;");
            client.println("font-weight: bold;");
            client.println("font-size: 24px;");
            client.println("color: #ffffff;");
            client.println("text-shadow: rgba(0,0,0,1.0) 2px 2px 2px;");
            client.println("margin: 14px 0px 0px 0px;");
            client.println("}");
            client.println();

            // ---------------------- LED OFF ----------------------------------------------


            client.println(".led-off {");
            client.println("display: block;");
            client.println("height: 24px;");
            client.println("width: 25px;");
            client.println("background-color: rgba(0, 100, 0, 1.0);");
            client.println("border-radius: 2px;");
            client.println("margin-left: 1px;");
            client.println("}");
            client.println();


            // ---------------------- LED ON -----------------------------------------------


            client.println(".led-on {");
            client.println("display: block;");
            client.println("height: 24px;");
            client.println("width: 25px;");
            client.println("background-color: rgba(0, 238, 0, 1.0);");
            client.println("border-radius: 2px;");
            client.println("margin-left: 1px;");
            client.println("}");
            client.println("</style>");
            client.println("</head>");


            // ---------------------- HTML Seite -------------------------------------------


            client.println("<body>");
            client.println("<div class=\"top\">");
            client.print("<h1>");
            client.print(TextHeader);
            client.println("</h1>");
            client.println("</div>");
            client.print("<h2>");
            client.print(TextHW);
            client.println("</h2>");


            // -------------------------------- Relais 1 - 8 -------------------------------


            client.println("<center>");
            client.println("<br />");

            client.println("<table border='0' width='605px' style='table-layout:fixed'>");
            client.println("<tr>");
            client.println("<td>");

            client.println("<table border='1'>");
            client.println("<tr>");
            client.print("<td style=\"width:150px\"><b>");
            client.print(T01);
            client.println("</b></td>");

            // Zustand der virtuellen LED
            if (digitalRead(K01)) {
              client.print(" <td><div class='led-on'></div></td>");
            } else
            {
              client.print(" <td><div class='led-off'></div></td>");
            }

            client.println("<td><input type=\"button\" value=\"ON\" onmousedown=\"location.href = '/?K01ON';\"/></td>");
            client.println("<td><input type=\"button\" value=\"OFF\" onmousedown=\"location.href = '/?K01OFF';\"/></td>");
            client.println("</tr>");

            client.println("<tr>");
            client.print("<td style=\"width:150px\"><b>");
            client.print(T02);
            client.println("</b></td>");;

            // Zustand der virtuellen LED
            if (digitalRead(K02)) {
              client.print(" <td><div class='led-on'></div></td>");
            } else
            {
              client.print(" <td><div class='led-off'></div></td>");
            }

            client.println("<td><input type=\"button\" value=\"ON\" onmousedown=\"location.href = '/?K02ON';\"/></td>");
            client.println("<td><input type=\"button\" value=\"OFF\" onmousedown=\"location.href = '/?K02OFF';\"/></td>");
            client.println("</tr>");

            client.println("<tr>");
            client.print("<td style=\"width:150px\"><b>");
            client.print(T03);
            client.println("</b></td>");

            // Zustand der virtuellen LED
            if (digitalRead(K03)) {
              client.print(" <td><div class='led-on'></div></td>");
            } else
            {
              client.print(" <td><div class='led-off'></div></td>");
            }

            client.println("<td><input type=\"button\" value=\"ON\" onmousedown=\"location.href = '/?K03ON';\"/></td>");
            client.println("<td><input type=\"button\" value=\"OFF\" onmousedown=\"location.href = '/?K03OFF';\"/></td>");
            client.println("</tr>");

            client.println("<tr>");
            client.print("<td style=\"width:150px\"><b>");
            client.print(T04);
            client.println("</b></td>");

            // Zustand der virtuellen LED
            if (digitalRead(K04)) {
              client.print(" <td><div class='led-on'></div></td>");
            } else
            {
              client.print(" <td><div class='led-off'></div></td>");
            }

            client.println("<td><input type=\"button\" value=\"ON\" onmousedown=\"location.href = '/?K04ON';\"/></td>");
            client.println("<td><input type=\"button\" value=\"OFF\" onmousedown=\"location.href = '/?K04OFF';\"/></td>");
            client.println("</tr>");
            client.println("</table>");

            client.println("</td>");
            client.println("<td>");

            client.println("<table border='1'>");
            client.println("<tr>");
            client.print("<td style=\"width:150px\"><b>");
            client.print(T05);
            client.println("</b></td>");

            // Zustand der virtuellen LED
            if (digitalRead(K05)) {
              client.print(" <td><div class='led-on'></div></td>");
            } else
            {
              client.print(" <td><div class='led-off'></div></td>");
            }

            client.println("<td><input type=\"button\" value=\"ON\" onmousedown=\"location.href = '/?K05ON';\"/></td>");
            client.println("<td><input type=\"button\" value=\"OFF\" onmousedown=\"location.href = '/?K05OFF';\"/></td>");
            client.println("</tr>");

            client.println("<tr>");
            client.print("<td style=\"width:150px\"><b>");
            client.print(T06);
            client.println("</b></td>");

            // Zustand der virtuellen LED
            if (digitalRead(K06)) {
              client.print(" <td><div class='led-on'></div></td>");
            } else
            {
              client.print(" <td><div class='led-off'></div></td>");
            }

            client.println("<td><input type=\"button\" value=\"ON\" onmousedown=\"location.href = '/?K06ON';\"/></td>");
            client.println("<td><input type=\"button\" value=\"OFF\" onmousedown=\"location.href = '/?K06OFF';\"/></td>");
            client.println("</tr>");

            client.println("<tr>");
            client.print("<td style=\"width:150px\"><b>");
            client.print(T07);
            client.println("</b></td>");

            // Zustand der virtuellen LED
            if (digitalRead(K08)) {
              client.print(" <td><div class='led-on'></div></td>");
            } else
            {
              client.print(" <td><div class='led-off'></div></td>");
            }

            client.println("<td><input type=\"button\" value=\"ON\" onmousedown=\"location.href = '/?K07ON';\"/></td>");
            client.println("<td><input type=\"button\" value=\"OFF\" onmousedown=\"location.href = '/?K07OFF';\"/></td>");
            client.println("</tr>");

            client.println("<tr>");
            client.print("<td style=\"width:150px\"><b>");
            client.print(T08);
            client.println("</b></td>");

            // Zustand der virtuellen LED
            if (digitalRead(K08)) {
              client.print(" <td><div class='led-on'></div></td>");
            } else
            {
              client.print(" <td><div class='led-off'></div></td>");
            }

            client.println("<td><input type=\"button\" value=\"ON\" onmousedown=\"location.href = '/?K08ON';\"/></td>");
            client.println("<td><input type=\"button\" value=\"OFF\" onmousedown=\"location.href = '/?K08OFF';\"/></td>");
            client.println("</tr>");
            client.println("</table>");

            client.println("</td>");
            client.println("</tr>");
            client.println("</table>");


            // -------------------------------- Relais 8 - 16 -------------------------------




            client.println("<input type=\"button\" value=\"NOTAUS\" ID=\"off\" onmousedown=\"location.href = '/?ALLOFF';\"/>");
            client.println("</center>");
            client.println("<br />");
            client.println("<div class=\"foo\">");
            client.print("<h3>");
            client.print("<a target=\"blank\" href=\"http://www.google.com\">copyright by ikke</a>");
            client.println("</h3>");
            client.print("<div class=\"ver\">");
            client.print("Software V1.2");
            client.println("</div>");
            client.print("Laufzeit: <b>");
            client.print(millis() / 1000 / 60);
            client.println("</b> Minuten&nbsp;&nbsp;&nbsp;&nbsp;");
            client.println("</div></div>");
            client.println("</body>");
            client.print("</html>");

            delay(1);
            client.stop();


            // ----------------------------------------------------------------------------


            if (readString.indexOf("K01ON") > 0)
            {
              digitalWrite(K01, HIGH);
            }
            if (readString.indexOf("K01OFF") > 0)
            {
              digitalWrite(K01, LOW);
            }


            // ----------------------------------------------------------------------------


            if (readString.indexOf("K02ON") > 0)
            {
              digitalWrite(K02, HIGH);
            }
            if (readString.indexOf("K02OFF") > 0)
            {
              digitalWrite(K02, LOW);
            }


            // ----------------------------------------------------------------------------


            if (readString.indexOf("K03ON") > 0)
            {
              digitalWrite(K03, HIGH);
            }
            if (readString.indexOf("K03OFF") > 0)
            {

              digitalWrite(K03, LOW);
            }


            // ----------------------------------------------------------------------------


            if (readString.indexOf("K04ON") > 0)
            {
              digitalWrite(K04, HIGH);
            }
            if (readString.indexOf("K04OFF") > 0)
            {
              digitalWrite(K04, LOW);
            }


            // ----------------------------------------------------------------------------


            if (readString.indexOf("K05ON") > 0)
            {
              digitalWrite(K05, HIGH);
            }
            if (readString.indexOf("K05OFF") > 0)
            {
              digitalWrite(K05, LOW);
            }


            // ----------------------------------------------------------------------------


            if (readString.indexOf("K06ON") > 0)
            {
              digitalWrite(K06, HIGH);
            }
            if (readString.indexOf("K06OFF") > 0)
            {
              digitalWrite(K06, LOW);
            }


            // ----------------------------------------------------------------------------


            if (readString.indexOf("K07ON") > 0)
            {
              digitalWrite(K07, HIGH);
            }
            if (readString.indexOf("K07OFF") > 0)
            {
              digitalWrite(K07, LOW);
            }


            // ----------------------------------------------------------------------------


            if (readString.indexOf("K08ON") > 0)
            {
              digitalWrite(K08, HIGH);
            }
            if (readString.indexOf("K08OFF") > 0)
            {
              digitalWrite(K08, LOW);
            }


            // ----------------------------------------------------------------------------


            if (readString.indexOf("ALLOFF") > 0)
            {
              digitalWrite(K01, LOW);
              digitalWrite(K02, LOW);
              digitalWrite(K03, LOW);
              digitalWrite(K04, LOW);
              digitalWrite(K05, LOW);
              digitalWrite(K06, LOW);
              digitalWrite(K07, LOW);
              digitalWrite(K08, LOW);

            }

            // ----------------------------------------------------------------------------


            readString = ""; //löscht den String um neu zu lesen
          }
        }
      }
    }
  }
}



// ---------------------- Programmende -----------------------------------------
Ik ben niet de slimste maar doe wel mijn best.
Andreas

Advertisement

Gebruikers-avatar
Berichten: 102
Geregistreerd: 26 Okt 2015, 16:07

Re: Krijg geen verbinding met webserver op Wemos D1

Berichtdoor Atwist » 26 Mrt 2017, 19:53

YES
Ik heb verbinding na zeker 10 min wachten.
Maar nu de vraag waar licht dit aan, is het de processor van de Wemos die niet snel genoeg is???
Ik ben niet de slimste maar doe wel mijn best.
Andreas

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Krijg geen verbinding met webserver op Wemos D1

Berichtdoor nicoverduin » 26 Mrt 2017, 20:44

Mogelijk als je die println()s anders opdeeld dat het effectiever kan
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 102
Geregistreerd: 26 Okt 2015, 16:07

Re: Krijg geen verbinding met webserver op Wemos D1

Berichtdoor Atwist » 27 Mrt 2017, 08:13

Hallo Nico,

Dank voor je reactie.

Ik begrijp alleen niet hoe ik de "println" anders kan opdelen.

Zelf heb ik er aan zitten denken om een UNO of een MEGA te gebruiken samen met een ESP8266 E1 module die heb ik zat maar ik krijg eenvoudig weg niet die ESP8266 aan de praat.
Dus vandaar de niet ideaalste oplossing met de WEMOS D1
Ik ben niet de slimste maar doe wel mijn best.
Andreas

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Krijg geen verbinding met webserver op Wemos D1

Berichtdoor nicoverduin » 27 Mrt 2017, 09:28

Het is een beetje theorie maar:
Als je een \n achter een regel zet dan kan je gewoon print gebruiken. Maar je kan dan ook van een heleboel println een enkele regel sturen die uiteindelijk precies hetzelfde doet zonder de overhead van println zelf.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Krijg geen verbinding met webserver op Wemos D1

Berichtdoor nicoverduin » 27 Mrt 2017, 09:29

En een uno of mega gebruiken is de weg terug..... die zijn veel trager
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 102
Geregistreerd: 26 Okt 2015, 16:07

Re: Krijg geen verbinding met webserver op Wemos D1

Berichtdoor Atwist » 29 Mrt 2017, 16:52

Ha gevonden

Code: Alles selecteren
void Webserver() {
  WiFiClient client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();

        if (readString.length() < 100) {
          readString += c;
        }
        if (c == '\n') {

          WiFiClient client = server.available();

          if (client) {


Er staat een 2e " WiFiClient client = server.available();" en daar loopt het op vast.
Deze weg gehaald en het loopt als een tierelier :D :lol:
Ik ben niet de slimste maar doe wel mijn best.
Andreas

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Krijg geen verbinding met webserver op Wemos D1

Berichtdoor Koepel » 30 Mrt 2017, 21:44

Had ik ook niet gezien :oops:
Daarmee wordt gekeken of iemand een verbinding wil en die verbinding wordt dan opgestart.

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 15 gasten