Esp01 Wifi Hotspot + веб-сервер не работает - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь сделать простую точку доступа Wi-Fi esp01 + простую веб-страницу с 3 кнопками, которые при нажатии отправляют вводы (1,2,3) через последовательный порт. Но точка доступа Wi-Fi не работает.

Вот код:

#include <ESP8266WiFi>;
#include <WiFiClient>;    
#include <ESP8266WebServer>;

const char *ssid = "test";
const char *password = "password";
IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,9);
IPAddress subnet(255,255,255,0);
WiFiServer server(80);

void setup() {

  delay(1000);
  Serial.begin(9600);

  WiFi.softAPConfig(local_IP, gateway, subnet);
  WiFi.softAP(ssid, password);

  server.begin();

}
void loop() {

  WiFiClient client = server.available();

  if (!client)
  {
    return;
  }

  while(!client.available())
  {
    delay(1);
  }

  String request = client.readStringUntil('\r');

  client.flush();

  if (request.indexOf("/R1") != -1)
  {
    Serial.println("1");
  }else if (request.indexOf("/R2") != -1)
  {
    Serial.println("2");
  }else if (request.indexOf("/R3") != -1)
  {
    Serial.println("3");
  }

  client.println("Content-Type: text/html");
  client.println("");
  client.println("<!DOCTYPE html>");
  client.println("<html>"); 
  client.println("<head><title>ESP01 RELAY Control</title></head>"); 
  client.println("<body>");
  client.println("<br>");
  client.println("<button href=\"/R1\">R:1</button>");
  client.println("<button href=\"/R2\">R:2</button>");
  client.println("<button href=\"/R3\">R:3</button>");    
  client.println("<br>");    
  client.println("<button href=\"/T1\">T:1</button>");    
  client.println("<button href=\"/T2\">T:2</button>");    
  client.println("<button href=\"/T3\">T:3</button>");    
  client.println("</body>");    
  client.println("</html>");

  delay(1);

}

1 Ответ

0 голосов
/ 07 июня 2019

Для программирования ESP8622 лучше всего использовать команду Serial.println () для отладки вашего кода. Для настройки рабочей точки доступа (AP) на модуле ESP8622 используйте следующий код:

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

const char *ssid = "test";
const char *password = "password";

IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,9);
IPAddress subnet(255,255,255,0);

WiFiServer server(80);

void setup() {
    delay(1000);
    Serial.begin(9600);

    Serial.print("Setting soft-AP configuration ... ");
    Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "Ready" : "Failed!");

    Serial.print("Setting soft-AP ... ");
    Serial.println(WiFi.softAP(ssid, password) ? "Ready" : "Failed!");

    Serial.print("Soft-AP IP address = ");
    Serial.println(WiFi.softAPIP());

    server.begin();
}

void loop() {
    WiFiClient client = server.available();

    if(client){
        while (client.connected()) {   
            if(client.available()){
                Serial.println("Connected to client");
            }
        }
        // close the connection:
        client.stop();
    }
}
...