Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Janos250

    őstag

    válasz Bazs87 #6388 üzenetére

    Nagyjából igen.
    Az első részére valaki csinált egy rettentően egyszerű programot, megkérdezem a linkjét, hamarosan megírom ide.
    A második részét még mindig nem teljesen értem.
    A böngésző címsorába akarod írni, hogy
    http://192.168.4.1/status
    és erre a böngésző ablakába írja ki egyszerű szövegként, nem HTML-be ágyazva, hogy ON, vagy OFF?
    Na ez szintén nagyon egyszerű, csak plusz pár sor még a programba.
    A hátránya, hogy a böngészőben ilyenkor pici betűkkel szokott megjelenni az egyszerű szöveg.

    Hopp, közben megjelent az írásod vége, hogy nem böngészőből akarod.
    No akkor a visszadott szöveget kell értelmezned.
    Milyen scripről van szó?
    Link?

    [ Szerkesztve ]

    Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

  • vargalex

    félisten

    válasz Bazs87 #6388 üzenetére

    A két kérésed is GET kérés. Ezért értetlenkedem. Attól, hogy GET-nek hívják, az még adatküldésre alkalmas query string-el.

    Az eredeti példánál maradva az egyszerűsített verzió:

    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <ESP8266WebServer.h>

    #define DEFAULT_STATE LOW


    // Replace with your network credentials
    const char* ssid = "Your_SSID";
    const char* password = "your_password";

    // GPIO for controlling the relay
    uint8_t relay_pin = 12;

    ESP8266WebServer server(80);

    void setup(void){
    //Set default state
    digitalWrite(relay_pin, DEFAULT_STATE);

    //Turn on serial output
    delay(1000);
    Serial.begin(115200);
    WiFi.begin(ssid, password);
    Serial.println("");

    // Wait for connection
    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }

    // logging to serial output
    Serial.println("");
    Serial.print("Connected to ");
    Serial.println(ssid);
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP());

    // web server setup
    server.on("/on", []() {
    digitalWrite(relay_pin, HIGH);
    Serial.println("Relay turned on");
    server.send(200, "text/plain", "Relay turned on");
    });
    server.on("/off", []() {
    digitalWrite(relay_pin, LOW);
    Serial.println("Relay turned off");
    server.send(200, "text/plain", "Relay turned off");
    });
    server.on("/state", []() {
    String relay_state = (digitalRead(relay_pin)) ? "true" : "false";
    server.send(200, "text/plain", relay_state);
    });
    server.begin();
    Serial.println("HTTP server started");
    }

    void loop(void){
    server.handleClient();
    }

    Ha jól láttam, a sonoff-on a 12-es GPIO-ra van kötve a relé. A relé kapcsolgatása mellett a led-et is kapcsolhatod a 13-as GPIO-n. A fenti példa a kapcsoláskor is ad vissza választ, mert szerintem egy web szervernek illik (legalább a HTTP 200-at visszaadni).

    [ Szerkesztve ]

    Alex

Új hozzászólás Aktív témák