logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sterowanie przekaźnikiem Wemos D1 Mini - jak uniknąć przekierowania na stronę?

vvrona 01 Paź 2017 08:55 1413 2
REKLAMA
  • #1 16730661
    vvrona
    Poziom 10  
    Witam
    Nie wiem jak rozwiązać problem ze sterowaniem wemos d1 mini.
    Chodzi o to, że jest po skonfigurowaniu przekaźnika mała stronka html na której są dwa linki on i off.
    Na swojej stronie www, chcę zrobić ładne przyciski on i off i pojawia się taki problem, że po kliknięciu w nie zawsze przerzuca mnie na ta mini stronkę a nie chciał bym tego.
    Ma ktoś jakieś pomysły?
  • REKLAMA
  • #3 16730936
    vvrona
    Poziom 10  
    to jest kod jaki wsadzam do d1 mini:


    #include <ESP8266WiFi.h>
    const char* ssid = "worked"; //WIFI Name, WeMo will only connect to a 2.4GHz network.
    const char* password = "**********"; //WIFI Password
    int relayPin = D1; // The Shield uses pin 1 for the relay
    WiFiServer server(80);
    IPAddress ip(192, 168, 100, 100);
    IPAddress gateway(192, 168, 100, 254);
    IPAddress subnet(255, 255, 255, 0);
    void setup() {
    Serial.begin(115200);
    delay(10);
    pinMode(relayPin, OUTPUT);
    digitalWrite(relayPin, LOW);
    Serial.print(F("Setting static ip to : "));
    Serial.println(ip);
    Serial.println();
    Serial.println();
    Serial.print("Connecting to ");
    Serial.println(ssid);
    WiFi.config(ip, gateway, subnet);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }
    Serial.println("");
    Serial.println("WiFi connected");
    server.begin();
    Serial.println("Server started");
    Serial.print("Use this URL : ");
    Serial.print("http://");
    Serial.print(WiFi.localIP());
    Serial.println("/");
    }
    void loop() {
    // Check if a client has connected
    WiFiClient client = server.available();
    if (!client) {
    return;
    }
    Serial.println("new client");
    while(!client.available()){
    delay(1);
    }
    String request = client.readStringUntil('\r');
    Serial.println(request);
    client.flush();
    int value = LOW;
    if (request.indexOf("/relay=ON") != -1) {
    digitalWrite(relayPin, HIGH);
    value = HIGH;
    }
    if (request.indexOf("/relay=OFF") != -1){
    digitalWrite(relayPin, LOW);
    value = LOW;
    }
    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println(""); // do not forget this one
    client.println("<!DOCTYPE HTML>");
    client.println("<html>");
    client.print("Relay is now: ");
    if(value == HIGH) {
    client.print("Engaged (ON)");
    } else {
    client.print("Disengaged (OFF)");
    }
    client.println("<br><br><br>");
    client.println("<a href=\"/relay=ON\">Wlacz.</a> <br><br><br>");
    client.println("<a href=\"/relay=OFF\">Wylacz.</a><br>");
    client.println("</html>");
    delay(1);
    Serial.println("Client disconnected");
    Serial.println("");
    }//END

    fajnie by było gdyby okno się samo zamknęło np po 1s od kliknięcia on lub off
REKLAMA