Урок 1. Создание простого веб-сервера.

  • Просмотры Просмотры: 256
  • Последнее обновление Последнее обновление:
  • В этом уроке мы создадим простую web-страницу, которая будет размещена на sd карте, а сервером послужит ESP8266.

    Сборка
    Соберите схему ниже.
    les1cxema-png.224


    Программа
    В ESP8266 загрузите код ниже.
    C++:

    #include <ESP8266WiFi.h> //Подключаем библиотеку для работы с WiFi на ESP8266
    #include <SPI.h> //Подключаем библиотеку для работы с SPI
    #include <SD.h> //Подключаем библиотеку для работы с SD картами

    const char* ssid = "ssid"; //Имя Вашей сети WiFi
    const char* password = "password"; //Пароль Вашей сети WiFi

    WiFiServer server(80); //Порт сервера
    File myFile; //Имя переменной файла с sd карты

    String s; //Строка с html кодом для отправки в браузер

    void setup() {
    Serial.begin(9600); //Инициализация Serial
    SD.begin(10); //Инициализация sd карты
    WiFi.begin(ssid, password); //Подключение к сети WiFI
    while (WiFi.status() != WL_CONNECTED) { //Ждем пока не подключимся к WiFi
    delay(500);
    }
    server.begin(); //Инициализируем сервер
    Serial.println(WiFi.localIP()); //Пишем в Serial локальный ip
    }
    void loop() {
    WiFiClient client = server.available();
    if (!client) { //Определяем подключение клиента
    return;
    }
    myFile = SD.open("First.htm"); //Открываем файл с html кодом для чтения
    s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<meta charset='utf-8'>"; //Отправляем клиенту о том что файл найден и кодировку
    while (myFile.available()) { //Пока не достигнем конца файла..
    Serial.print("OK");
    char buff = myFile.read(); //Читаем символ из файла
    s += buff; //Добавляем прочитанный символ к строке
    }
    client.print(s); //Отправляем прочитанную строку в браузер
    s = ""; //Обнуляем строку
    myFile.close(); //Закрываем файл
    delay(1000); //Ждем секунду чтобы начать сначала
    }
    На sd карте создайте файл с названием «First.htm» и скопируйте следующий код:
    HTML:

    <!DOCTYPE html>
    <html>
    <meta charset="UTF-8">
    <title>МегаВольт / IoT</title>
    <style type="text/css">
    .center-img {
    text-align: center;
    }
    </style>
    </html>
    <body>
    <h1 align="center">Первый IoT проект от МегаВольт!</h1>
    <h2 align="center">Урок 1. Создание простого веб сервера.</h2>
    <p class="center-img">
    <img src="https://forum.megavolt-i.ru/attachments/1546356387421-png.87/">
    </p>
    <h4 align="center"><a href="https://forum.megavolt-i.ru/wiki/esp8266_iot__lesson-1_creating_simple_web_server/">На страницу проекта.</a></h4>
    </body>
    </html>
    Просмотр
    После загрузки зайдите в Serial монитор и нажмите reset на nodemcu, в монитор порта плата отправит свой локальный ip адрес.
    Подключенным к той же сети зайдите в браузер и в адресной строке пропишите: IP-адрес/First.htm, где IP-адрес, это адрес выведенный в монитор порта.

    Вложения

  • Загрузка…
Вверх