#include <WiFi.h>
/* Введите данные своей точки доступа */
const char* ssid = "Nazvanie"; // Название точки доступа
const char* password = "Parol"; // Пароль для точки доступа
/* Данные сервера */
IPAddress local_ip(192,168,1,1); //IP адрес
IPAddress gateway(192,168,1,1); //Шлюз
IPAddress subnet(255,255,255,0); //Маска сети
WiFiServer server(80);
/*Переменные для подключения веб-сервера*/
char linebuf[80];
int charcount=0;
void setup() {
Serial.begin(115200);
/*Настраиваем и включаем точку доступа*/
WiFi.softAP(ssid, password);
WiFi.softAPConfig(local_ip, gateway, subnet);
delay(100);
server.begin(); //Запускаем веб сервер
Serial.println("Точка доступа и сервер запущены");
/*-----------------------------------*/
}
void loop() {
wifiAPserver(); //Запуск сервера и показ данных
delay(100);
}
void wifiAPserver(){
// анализируем канал связи, высматривая входящих клиентов:
WiFiClient client = server.available();
if (client) {
Serial.println("New client"); // "Новый клиент"
memset(linebuf,0,sizeof(linebuf));
charcount=0;
// HTTP-запрос заканчивается пустой строкой:
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// считываем HTTP-запрос, символ за символом:
linebuf[charcount]=c;
if (charcount<sizeof(linebuf)-1) charcount++;
// если добрались до конца строки (т.е. получили
// символ новой строки) и строка пуста,
// это значит, что HTTP-запрос закончился;
// следовательно, можно отправлять ответ:
if (c == '\n' && currentLineIsBlank) {
// отправляем стандартный заголовок HTTP-ответа:
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
// "Тип контента: text/html"
client.println("Connection: close");
// "Соединение: отключено";
// после отправки ответа связь будет отключена
client.println();
client.println("<!DOCTYPE HTML><html><head>");
client.println("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"></head>");
client.println("<h1>Hello World</h1>");
break;
}
}
}
// даем веб-браузеру время, чтобы получить данные:
delay(1);
// закрываем соединение:
client.stop();
Serial.println("client disconnected"); // "клиент отключен"
}
}