esp8266 webserver 研究

参考网页:
https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/server-examples.html

代码:

#include <ESP8266WiFi.h>

const char* ssid = "LRTech";
const char* password = "lanrui2017";

WiFiServer server(80);


void setup()
{
    Serial.begin(115200);
    Serial.println();

    Serial.printf("Connecting to %s ", ssid);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(500);
        Serial.print(".");
    }
    Serial.println(" connected");

    server.begin();
    Serial.printf("Web server started, open %s in a web browser\n", WiFi.localIP().toString().c_str());
}


// prepare a web page to be send to a client (web browser)
String prepareHtmlPage()
{
    String htmlPage =
        String("HTTP/1.1 200 OK\r\n") +
        "Content-Type: text/html\r\n" +
        "Connection: close\r\n" +  // the connection will be closed after completion of the response
        "Refresh: 5\r\n" +  // refresh the page automatically every 5 sec
        "\r\n" +
        "<!DOCTYPE HTML>" +
        "<html>" +
        "Analog input:  " + String(analogRead(A0)) +
        "</html>" +
        "\r\n";
    return htmlPage;
}


void loop()
{
    WiFiClient client = server.available();
    // wait for a client (web browser) to connect
    if (client)
    {
        Serial.println("\n[Client connected]");
        while (client.connected())
        {
            // read line by line what the client (web browser) is requesting
            if (client.available())
            {
                String line = client.readStringUntil('\r');
                Serial.print(line);

                Serial.print("\r\nHHHHH \r\n");
                // wait for end of client's request, that is marked with an empty line
                if (line.length() == 1 && line[0] == '\n')
                {
                    Serial.print("\r\nAAAAA \r\n");
                    client.println(prepareHtmlPage());
                    break;
                }
            }
        }
        delay(500); // give the web browser time to receive the data

        // close the connection:
        client.stop();
        Serial.println("[Client disonnected]");
    }
}

猜你喜欢

转载自blog.csdn.net/wowocpp/article/details/81098058