#include <ESP8266WiFi.h>
#include "GyverMotor.h"
<b>[Переменные, пины и тд]</b>
void setup() {
WiFi.persistent(false);
Serial.begin(115200);
delay(10);
// Подготавливаем моторы
motorL.setMode(STOP);
motorL.setSpeed(255);
motorR.setMode(STOP);
motorR.setSpeed(255);
// WiFi
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
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.println(WiFi.localIP()); // Вывод IP
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}
// Read the first line of the request
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();
// Считываем запрос
int val;
<b> [Просто блок из if-if else, который считывал значение реквеста]</b>
else
{
Serial.println("invalid request");
client.stop();
return;
}
// Едем исходя из направления движения
switch(dir)
{
case 1: MoveForward(); break;
case 4: MoveBack(); break;
case 2: MoveRight(); break;
case 3: MoveLeft(); break;
default: MoveStop(); break;
}
digitalWrite(2, val);
client.flush();
// Собираем ответ пользователю
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\GPIO is now ";
s += (val)?"high":"low";
s += "</html>\n";
// Отправляем ответ
client.print(s);
delay(1);
Serial.println("Client disonnected");
}
<b>[Функции для моторов]</b>
void loop() {
WiFiClient client = server.available();
// if (!client) {
// return;
// }
Serial.println("Новый клиент!");
// while(!client.available()){
// delay(1);
// }
String req = client.readStringUntil('\r');
Serial.print("Новый запрос: ");
Serial.println(req);
client.print("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n <!DOCTYPE HTML>\r\n<html>\r\ OK!");
client.flush();
}
Новый клиент!
Новый запрос:
Новый клиент!
Новый запрос:
Новый клиент!
Новый запрос:
Новый клиент!
Новый запрос:
...
WiFiClient client = server.available();
if (!client) {
Serial.print(".");
return;
}
Serial.print(client.localIP);
Если честно тупость проблемы пугает самого меня. Завтра напишу ответ и закрою вопрос.
Большое спасибо что пытались помочь, и извините что потратил ваше время.